summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--filter/source/xslt/odf2xhtml/export/xhtml/body.xsl5626
-rw-r--r--filter/source/xslt/odf2xhtml/export/xhtml/header.xsl922
-rw-r--r--oox/inc/oox/vml/vmldrawing.hxx2
-rw-r--r--oox/inc/oox/vml/vmlshape.hxx2
-rw-r--r--oox/inc/oox/xls/drawingfragment.hxx2
-rw-r--r--oox/source/export/presetShapeDefinitions.xml39830
-rw-r--r--oox/source/xls/viewsettings.cxx2
7 files changed, 23193 insertions, 23193 deletions
diff --git a/filter/source/xslt/odf2xhtml/export/xhtml/body.xsl b/filter/source/xslt/odf2xhtml/export/xhtml/body.xsl
index ad5eb031ec02..6cfeb35eb50e 100644
--- a/filter/source/xslt/odf2xhtml/export/xhtml/body.xsl
+++ b/filter/source/xslt/odf2xhtml/export/xhtml/body.xsl
@@ -1,6 +1,6 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
Copyright 2000, 2010 Oracle and/or its affiliates.
@@ -24,2814 +24,2814 @@
<http://www.openoffice.org/license.html>
for a copy of the LGPLv3 License.
--->
-<!--
- For further documentation and updates visit http://xml.openoffice.org/odf2xhtml
--->
-<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dom="http://www.w3.org/2001/xml-events" xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" xmlns:math="http://www.w3.org/1998/Math/MathML" xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:ooo="http://openoffice.org/2004/office" xmlns:oooc="http://openoffice.org/2004/calc" xmlns:ooow="http://openoffice.org/2004/writer" xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" xmlns:xforms="http://www.w3.org/2002/xforms" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xt="http://www.jclark.com/xt" xmlns:common="http://exslt.org/common" xmlns:xalan="http://xml.apache.org/xalan" exclude-result-prefixes="chart config dc dom dr3d draw fo form math meta number office ooo oooc ooow script style svg table text xforms xlink xsd xsi xt common xalan" xmlns="http://www.w3.org/1999/xhtml">
-
-
- <!--+++++ INCLUDED XSL MODULES +++++-->
-
- <!-- helper collection, to convert measures (e.g. inch to pixel using DPI (dots per inch) parameter)-->
- <xsl:import href="../../common/measure_conversion.xsl"/>
-
- <!-- common office body element handling -->
- <xsl:import href="../common/body.xsl"/>
-
- <!-- common table handling -->
- <xsl:import href="../common/table/table.xsl"/>
-
- <!-- xhtml table handling -->
- <xsl:include href="table.xsl"/>
-
- <!-- Useful in case of 'style:map', conditional formatting, where a style references to another -->
- <xsl:key name="styles" match="/*/office:styles/style:style | /*/office:automatic-styles/style:style" use="@style:name"/>
-
-
- <!-- ************ -->
- <!-- *** body *** -->
- <!-- ************ -->
-
- <xsl:key match="style:style/@style:master-page-name" name="masterPage" use="'count'"/>
- <xsl:key match="style:master-page" name="masterPageElements" use="@style:name"/>
- <xsl:key match="style:page-layout" name="pageLayoutElements" use="@style:name"/>
- <xsl:key name="writingModeStyles" match="/*/office:styles/style:style/style:paragraph-properties/@style:writing-mode | /*/office:automatic-styles/style:style/style:paragraph-properties/@style:writing-mode" use="'test'"/>
- <xsl:template name="create-body">
- <xsl:param name="globalData"/>
-
- <!-- approximation to find the correct master page style (with page dimensions) -->
- <xsl:variable name="masterPageNames">
- <!-- Loop over every style:style containing a @style:master-page-name attribute -->
- <xsl:for-each select="key('masterPage','count')">
- <!-- Check if this style is being used in the body -->
- <xsl:if test="key('elementUsingStyle', ../@style:name)">
- <!-- Check every master-page-name if it is not emtpy and return as ';' separated list -->
- <xsl:if test="string-length(../@style:master-page-name) &gt; 0">
- <xsl:value-of select="../@style:master-page-name"/>;</xsl:if>
- </xsl:if>
- </xsl:for-each>
- </xsl:variable>
-
- <!-- Take the first of the masterpage list and get the according style:master-page element and find the @style:page-layout-name -->
- <xsl:variable name="pageLayoutName" select="key('masterPageElements', substring-before($masterPageNames,';'))/@style:page-layout-name"/>
- <xsl:variable name="pageProperties">
- <xsl:choose>
- <xsl:when test="not($pageLayoutName) or $pageLayoutName = ''">
- <xsl:copy-of select="$globalData/styles-file/*/office:automatic-styles/style:page-layout[1]/style:page-layout-properties"/>
- </xsl:when>
- <xsl:otherwise>
- <!-- Find the according style:page-layout and store the properties in a variable -->
- <xsl:copy-of select="key('pageLayoutElements', $pageLayoutName)/style:page-layout-properties"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <xsl:element name="body">
- <!-- direction of text flow -->
- <xsl:variable name="writingMode" select="$pageProperties/style:page-layout-properties/@style:writing-mode"/>
- <xsl:choose>
- <xsl:when test="$writingMode">
- <xsl:choose>
- <xsl:when test="contains($writingMode, 'lr')">
- <xsl:attribute name="dir">ltr</xsl:attribute>
- </xsl:when>
- <xsl:when test="contains($writingMode, 'rl')">
- <xsl:attribute name="dir">rtl</xsl:attribute>
- </xsl:when>
- </xsl:choose>
- </xsl:when>
- <xsl:otherwise>
- <!-- As CSS writing-mode is not implemented by all browsers, a heuristic is done -->
- <xsl:variable name="writingMode" select="key('writingModeStyles', 'test')"/>
- <xsl:if test="contains($writingMode, 'rl')">
- <xsl:attribute name="dir">rtl</xsl:attribute>
- </xsl:if>
- </xsl:otherwise>
- </xsl:choose>
- <!-- adapt page size -->
- <xsl:variable name="pageWidth" select="$pageProperties/style:page-layout-properties/@fo:page-width"/>
-
- <!-- multiple backgroundimages for different page styles (never used in html) -->
- <xsl:variable name="backgroundImage" select="$pageProperties/style:page-layout-properties/style:background-image"/>
- <!-- page margins & background image -->
- <xsl:if test="$pageWidth or $pageProperties/style:page-layout-properties/@fo:* or $backgroundImage/@xlink:href">
- <xsl:attribute name="style">
- <xsl:if test="$pageWidth">
- <xsl:text>max-width:</xsl:text>
- <xsl:value-of select="$pageWidth"/>
- <xsl:text>;</xsl:text>
- </xsl:if>
- <xsl:if test="$pageProperties/style:page-layout-properties/@fo:* or $backgroundImage/@xlink:href">
- <xsl:apply-templates select="$pageProperties/style:page-layout-properties/@fo:*"/>
- <xsl:if test="$backgroundImage/@xlink:href">
- <xsl:text>background-image:url(</xsl:text>
- <xsl:call-template name="create-href">
- <xsl:with-param name="href" select="$backgroundImage/@xlink:href"/>
- </xsl:call-template>
- <xsl:text>);</xsl:text>
-
- <xsl:if test="$backgroundImage/@style:repeat">
- <xsl:choose>
- <xsl:when test="$backgroundImage/@style:repeat = 'no-repeat'">
- <xsl:text>background-repeat:no-repeat;</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>background-repeat:repeat;</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:if>
- <xsl:if test="$backgroundImage/@style:position">
- <xsl:text>background-position:</xsl:text>
- <xsl:value-of select="$backgroundImage/@style:position"/>
- <xsl:text>;</xsl:text>
- </xsl:if>
- </xsl:if>
- </xsl:if>
- </xsl:attribute>
- </xsl:if>
- <!-- processing the content of the OpenDocument content file -->
- <xsl:apply-templates select="/*/office:body/*">
- <xsl:with-param name="globalData" select="$globalData"/>
- </xsl:apply-templates>
-
- </xsl:element>
- </xsl:template>
-
- <!-- processing the content of the OpenDocument content file -->
- <xsl:template match="office:body/*">
- <xsl:param name="globalData"/>
-
- <!-- not using of 'apply-styles-and-content' as the content table information migth have been added to 'globalData' variable -->
- <xsl:apply-templates select="@text:style-name | @draw:style-name | @draw:text-style-name | @table:style-name"><!-- | @presentation:style-name -->
- <xsl:with-param name="globalData" select="$globalData"/>
- </xsl:apply-templates>
-
- <xsl:apply-templates>
- <xsl:with-param name="globalData" select="$globalData"/>
- </xsl:apply-templates>
-
- <!-- writing the footer- and endnotes beyond the body -->
- <xsl:call-template name="write-text-nodes">
- <xsl:with-param name="globalData" select="$globalData"/>
- </xsl:call-template>
- </xsl:template>
-
- <!-- ******************************* -->
- <!-- *** User Field Declarations *** -->
- <!-- ******************************* -->
-
- <xsl:template match="text:user-field-get | text:user-field-input">
- <xsl:param name="globalData"/>
-
- <xsl:value-of select="."/>
- </xsl:template>
-
- <xsl:template match="text:conditional-text">
- <xsl:param name="globalData"/>
-
- <xsl:value-of select="."/>
- </xsl:template>
-
- <!-- ODF text fields -->
- <xsl:template match="text:author-initials | text:author-name | text:chapter | text:character-count | text:creation-date | text:creation-time | text:creator | text:date | text:description | text:editing-cycles | text:editing-duration | text:file-name | text:image-count | text:initial-creator | text:keywords | text:modification-date | text:modification-time | text:object-count | text:page-continuation | text:page-count | text:page-number | text:paragraph-count | text:print-date | text:print-time | text:printed-by | text:sender-city | text:sender-company | text:sender-country | text:sender-email | text:sender-fax | text:sender-firstname | text:sender-initials | text:sender-lastname | text:sender-phone-private | text:sender-phone-work | text:sender-position | text:sender-postal-code | text:sender-state-or-province | text:sender-street | text:sender-title | text:sheet-name | text:subject | text:table-count | text:time | text:title | text:user-defined | text:word-count">
- <xsl:param name="globalData"/>
-
- <xsl:element name="span">
- <xsl:attribute name="title">
- <xsl:value-of select="local-name()"/>
- </xsl:attribute>
- <xsl:apply-templates>
- <xsl:with-param name="globalData" select="$globalData"/>
- </xsl:apply-templates>
- </xsl:element>
- </xsl:template>
-
-
-
- <!-- *************** -->
- <!-- *** Textbox *** -->
- <!-- *************** -->
-
- <xsl:template match="draw:text-box">
- <xsl:param name="globalData"/>
-
- <xsl:comment>Next 'div' was a 'draw:text-box'.</xsl:comment>
- <xsl:element name="div">
- <xsl:variable name="dimension">
- <xsl:apply-templates select="@fo:min-width"/>
- <xsl:apply-templates select="@fo:max-width"/>
- <xsl:apply-templates select="@fo:min-height"/>
- <xsl:apply-templates select="@fo:max-height"/>
- </xsl:variable>
- <xsl:if test="$dimension">
- <xsl:attribute name="style">
- <xsl:value-of select="$dimension"/>
- </xsl:attribute>
- </xsl:if>
- <xsl:apply-templates select="@draw:name">
- <xsl:with-param name="globalData" select="$globalData"/>
- </xsl:apply-templates>
-
- <xsl:apply-templates select="node()">
- <xsl:with-param name="globalData" select="$globalData"/>
- </xsl:apply-templates>
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="@fo:min-width">
- <xsl:text>min-width:</xsl:text>
- <xsl:value-of select="."/>
- <xsl:text>;</xsl:text>
- </xsl:template>
- <xsl:template match="@fo:max-width">
- <xsl:text>max-width:</xsl:text>
- <xsl:value-of select="."/>
- <xsl:text>;</xsl:text>
- </xsl:template>
- <xsl:template match="@fo:min-height">
- <xsl:text>min-height:</xsl:text>
- <xsl:value-of select="."/>
- <xsl:text>;</xsl:text>
- </xsl:template>
- <xsl:template match="@fo:max-height">
- <xsl:text>max-height:</xsl:text>
- <xsl:value-of select="."/>
- <xsl:text>;</xsl:text>
- </xsl:template>
-
-
- <!-- inline style helper for the 'div' boxes -->
- <xsl:template name="svg:height">
- <xsl:text>height:</xsl:text>
- <xsl:choose>
- <!-- changing the distance measure: inch to in -->
- <xsl:when test="contains(@svg:height, 'inch')">
- <xsl:value-of select="substring-before(@svg:height, 'ch')"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="@svg:height"/>
- </xsl:otherwise>
- </xsl:choose>
- <xsl:text>;</xsl:text>
- </xsl:template>
-
- <!-- inline style helper for the 'div' boxes -->
- <xsl:template name="svg:width">
- <xsl:text>width:</xsl:text>
- <xsl:choose>
- <!-- changing the distance measure: inch to in -->
- <xsl:when test="contains(@svg:width, 'inch')">
- <xsl:value-of select="substring-before(@svg:width, 'ch')"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="@svg:width"/>
- </xsl:otherwise>
- </xsl:choose>
- <xsl:text>;</xsl:text>
- </xsl:template>
-
-
-
- <!-- ****************** -->
- <!-- *** Paragraphs *** -->
- <!-- ****************** -->
-
- <xsl:template match="text:p | draw:page">
- <xsl:param name="globalData"/>
- <!-- The footnote symbol is the prefix for a footnote in the footer -->
- <xsl:param name="footnotePrefix"/>
- <!-- 1) In ODF sometimes the followig children are nested
- <text:p>
- <draw:frame>
- <draw:text-box>
- <text:p>
- Which results in a paragraphs (the last text:p) having a paragraph as its anchestor.
- In HTML a 'p' can only have inline documents (no other 'p' as children'),
- a 'div' will be given for the ancestors instead.
- 2) ODF images are embedded in a paragraph, but CSS is not able to express a horizontal alignment for an HTML image (text:align is only valid for block elements).
- A surrounding 'div' element taking over the image style solves that problem, but the div is invalid as child of a paragraph
- Therefore the paragraph has to be exchanged with a HTML div element
- -->
- <!-- 2DO page alignment fix - PART1 -->
- <xsl:choose>
- <xsl:when test="draw:frame and ((normalize-space(text()) != '') or (count(*) &gt; 1 and (not(text:soft-page-break) and count(*) = 2)))">
- <!-- Create a div, if there is a 'draw:frame' child with either text (not being whitespace alone) and more than the draw:frame alone and
- not the draw:frame and a soft-page-break alone (which is quite often) -->
-
- <!-- If there is a frame within the text:p or draw:page, its siblings are surrounded as well by a div and are floating (CSS float) -->
- <!-- But it makes no sense to create floating if the frame is alone or only together with a soft-page-break not usable for HTML -->
- <!-- The paragraph is written as DIV as there might be nested paragraphs (see above choose block) -->
- <xsl:choose>
- <xsl:when test="name() = 'text:p'">
- <xsl:comment>Next 'div' was a 'text:p'.</xsl:comment>
- </xsl:when>
- <xsl:otherwise>
- <xsl:comment>Next 'div' was a 'draw:page'.</xsl:comment>
- </xsl:otherwise>
- </xsl:choose>
- <xsl:element name="div">
- <xsl:apply-templates select="@*">
- <xsl:with-param name="globalData" select="$globalData"/>
- </xsl:apply-templates>
- <!-- the footnote symbol is the prefix for a footnote in the footer -->
- <xsl:copy-of select="$footnotePrefix"/>
-
- <!-- start floating of frame (and siblings) -->
- <xsl:apply-templates select="node()[1]" mode="frameFloating">
- <xsl:with-param name="globalData" select="$globalData" />
- <xsl:with-param name="previousFrameWidths" select="0"/>
- <xsl:with-param name="previousFrameHeights" select="0"/>
- <!-- 2DO for me (Svante) - Not used, uncertain 4now..
- <xsl:with-param name="pageMarginLeft">
- <xsl:call-template name="getPageMarginLeft"/>
- </xsl:with-param>-->
- </xsl:apply-templates>
- </xsl:element>
- <!-- after the last draw:frame sibling the CSS float is disabled
- &#160; is an unbreakable whitespace to give conent to the element and force a browser not to ignore the element -->
- <div style="clear:both; line-height:0; width:0; height:0; margin:0; padding:0;">&#160;</div>
- </xsl:when>
- <xsl:when test="text:tab">
- <!-- If there is a tabulator (ie. text:tab) within a paragraph, a heuristic for ODF tabulators creates a
- span for every text:tab embracing the following text nodes aligning them according to the tabulator.
- A line break or another text:tab starts a new text:span, line break even the tab counter for the line.
- -->
- <xsl:element name="p">
- <xsl:apply-templates select="@*">
- <xsl:with-param name="globalData" select="$globalData" />
- </xsl:apply-templates>
- <!-- start with first child of the paragraph -->
- <xsl:variable name="firstChildNode" select="node()[1]" />
- <xsl:apply-templates select="$firstChildNode" mode="tabHandling">
- <xsl:with-param name="globalData" select="$globalData" />
- <xsl:with-param name="tabStops" select="$globalData/all-doc-styles/style[@style:name = current()/@text:style-name]/*/style:tab-stops"/>
- <xsl:with-param name="parentMarginLeft">
- <!-- Styles of first paragraph in list item, including ancestor styles (inheritance) -->
- <xsl:variable name="paragraphName" select="@text:style-name" />
- <xsl:variable name="imageParagraphStyle" select="$globalData/all-styles/style[@style:name = $paragraphName]/final-properties"/>
- <!-- Only the left margin of the first paragraph of a list item will be added to the margin of the complete list (all levels)-->
-<!-- 2DO: left-margin in order with bidirectional -->
- <xsl:choose>
- <xsl:when test="contains($imageParagraphStyle, 'margin-left:')">
- <xsl:call-template name="convert2cm">
- <xsl:with-param name="value" select="normalize-space(substring-before(substring-after($imageParagraphStyle, 'margin-left:'), ';'))"/>
- </xsl:call-template>
- </xsl:when>
- <xsl:otherwise>0</xsl:otherwise>
- </xsl:choose>
- </xsl:with-param>
- <xsl:with-param name="pageMarginLeft">
- <xsl:call-template name="getPageMarginLeft"/>
- </xsl:with-param>
- </xsl:apply-templates>
- </xsl:element>
- </xsl:when>
- <xsl:otherwise>
- <xsl:choose>
- <!-- !!Check if paragraph is empty!!
- OOo writes out empty paragraphs layouted behind an image (= draw:image within draw:frame)
- those have to be neglected in HTML -->
- <xsl:when test="name() = 'text:p' and not(text()) and not(*)">
- <xsl:variable name="isFollowingImage">
- <xsl:call-template name="follows-empty-paragraphs-and-image">
- <xsl:with-param name="precedingElement" select="preceding-sibling::node()[1]"/>
- </xsl:call-template>
- </xsl:variable>
- <xsl:if test="$isFollowingImage = 'yes'">
- <xsl:call-template name="create-paragraph">
- <xsl:with-param name="globalData" select="$globalData" />
- <xsl:with-param name="footnotePrefix" select="$footnotePrefix" />
- </xsl:call-template>
- </xsl:if>
- </xsl:when>
- <xsl:otherwise>
- <xsl:call-template name="create-paragraph">
- <xsl:with-param name="globalData" select="$globalData" />
- <xsl:with-param name="footnotePrefix" select="$footnotePrefix" />
- </xsl:call-template>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
-
- <!-- A span will be created for every text:tab embracing the following text nodes.
- A line break or another text:tab starts a new text:span -->
- <xsl:template match="* | text()" mode="tabHandling">
- <xsl:param name="globalData"/>
- <xsl:param name="tabStops"/>
- <!-- there can be multiple tabs in one line, tabNo guesses the one to apply. By default the first i.e. "1" -->
- <xsl:param name="tabCount" select="0"/>
- <xsl:param name="parentMarginLeft" />
- <xsl:param name="pageMarginLeft" />
-
-<!-- 2DO: EXCHANGE FOLLOING SIBLING BY VARIABLE -->
- <xsl:variable name="followingSiblingNode" select="following-sibling::node()[1]"/>
-
-
- <!--
- Every tabulator indents its following content, encapuslated in a span
- element.
-
- This template have two modes:
-
- 1) Before the first tabulator it will match as usually paragraph content
- to HTML.
- 2) After the first paragraph it will always triggers two recursions.
- One embraces the following content of a paragraph element into a span.
- (tabContentHandling)
- The other calls this template and will now ignore anything else than
- TAB and LINE-BREAK.
-
-
- The tabulators and linebreaks are being iterated, one by one to keep track of the tab number
- -->
-
-
- <xsl:choose>
- <xsl:when test="name() = 'text:tab'">
- <!-- every frame sibling have to be incapuslated within a div with left indent -->
- <xsl:element name="span">
- <xsl:choose>
- <xsl:when test="count($tabStops/style:tab-stop) &lt; 3">
- <!-- only allow the heuristic when the style has less than 3 TABS -->
- <xsl:attribute name="style">
- <xsl:call-template name="createTabIndent">
- <xsl:with-param name="globalData" select="$globalData"/>
- <xsl:with-param name="tabStops" select="$tabStops"/>
- <xsl:with-param name="tabCount" select="$tabCount + 1"/>
- <xsl:with-param name="parentMarginLeft" select="$parentMarginLeft"/>
- <xsl:with-param name="pageMarginLeft" select="$pageMarginLeft"/>
- </xsl:call-template>
- </xsl:attribute>
- </xsl:when>
- <xsl:otherwise>
- <!-- if there are more than 3 TABS in the style, create a none-breakable-space as whitespace -->
- <xsl:text>&#160;</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- <xsl:apply-templates select="following-sibling::node()[1]" mode="tabContentHandling">
- <xsl:with-param name="globalData" select="$globalData"/>
- </xsl:apply-templates>
- </xsl:element>
- <xsl:apply-templates select="following-sibling::node()[1]" mode="tabHandling">
- <xsl:with-param name="globalData" select="$globalData"/>
- <xsl:with-param name="tabStops" select="$tabStops"/>
- <xsl:with-param name="tabCount" select="$tabCount + 1"/>
- <xsl:with-param name="parentMarginLeft" select="$parentMarginLeft"/>
- <xsl:with-param name="pageMarginLeft" select="$pageMarginLeft"/>
- </xsl:apply-templates>
- </xsl:when>
- <xsl:when test="name() = 'text:line-break'">
- <!-- A line-break resets the tabCount to '0' -->
- <br/>
- <xsl:apply-templates select="following-sibling::node()[1]" mode="tabHandling">
- <xsl:with-param name="globalData" select="$globalData"/>
- <xsl:with-param name="tabStops" select="$tabStops"/>
- <xsl:with-param name="tabCount" select="0"/>
- <xsl:with-param name="parentMarginLeft" select="$parentMarginLeft"/>
- <xsl:with-param name="pageMarginLeft" select="$pageMarginLeft"/>
- </xsl:apply-templates>
- </xsl:when>
- <xsl:otherwise>
- <!-- only before the first tab all content is written out -->
- <xsl:if test="$tabCount = 0">
- <xsl:apply-templates select=".">
- <xsl:with-param name="globalData" select="$globalData"/>
- </xsl:apply-templates>
- </xsl:if>
- <xsl:apply-templates select="following-sibling::node()[1]" mode="tabHandling">
- <xsl:with-param name="globalData" select="$globalData"/>
- <xsl:with-param name="tabStops" select="$tabStops"/>
- <xsl:with-param name="tabCount" select="$tabCount"/>
- <xsl:with-param name="parentMarginLeft" select="$parentMarginLeft"/>
- <xsl:with-param name="pageMarginLeft" select="$pageMarginLeft"/>
- </xsl:apply-templates>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <!--
- This recursion creates the content of a tab (i.e. following siblings
- till next TAB or LINE BREAK) and ends with the next
- TAB, LINE-BREAK or with the end of the paragraph.
- -->
- <xsl:template match="* | text()" mode="tabContentHandling">
- <xsl:param name="globalData"/>
-
- <xsl:if test="(name() != 'text:tab') and (name() != 'text:line-break')">
- <!-- Write out content -->
- <xsl:apply-templates select=".">
- <xsl:with-param name="globalData" select="$globalData"/>
- </xsl:apply-templates>
- <!-- Apply for the next node -->
- <xsl:apply-templates select="following-sibling::node()[1]" mode="tabContentHandling">
- <xsl:with-param name="globalData" select="$globalData"/>
- </xsl:apply-templates>
- </xsl:if>
- </xsl:template>
-
- <xsl:template name="createTabIndent">
- <xsl:param name="globalData"/>
- <xsl:param name="tabStops"/>
- <xsl:param name="tabCount"/>
- <xsl:param name="parentMarginLeft" />
- <xsl:param name="pageMarginLeft" />
-
- <xsl:text>position:absolute;left:</xsl:text>
- <xsl:variable name="tabPosition">
- <xsl:call-template name="convert2cm">
- <xsl:with-param name="value" select="$tabStops/style:tab-stop[$tabCount]/@style:position"/>
- </xsl:call-template>
- </xsl:variable>
- <xsl:variable name="tabIndent">
- <xsl:choose>
- <xsl:when test="$tabStops/style:tab-stop[$tabCount]/@style:type = 'center'">
- <!-- in case of style:type 'center' the text is even before the tab stop,
- centered around the beginning. As I see currently no way in mapping this,
- therefore I do some HEURISTIC (minus -2.5cm) -->
- <xsl:value-of select="$tabPosition + $parentMarginLeft + $pageMarginLeft - 2.5"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="$tabPosition + $parentMarginLeft + $pageMarginLeft"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <xsl:choose>
- <xsl:when test="$tabIndent='NaN'">
- <xsl:variable name="tabPosition">
- <xsl:call-template name="convert2cm">
- <xsl:with-param name="value" select="$tabStops/style:tab-stop[last()]/@style:position"/>
- </xsl:call-template>
- </xsl:variable>
- <!-- Heuristic: for every tab that is more than specified give a further 1 cm -->
- <xsl:value-of select="$parentMarginLeft + $tabPosition + count($tabStops/style:tab-stop) - $tabCount"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="$tabIndent"/>
- </xsl:otherwise>
- </xsl:choose>
- <xsl:text>cm;</xsl:text>
- <xsl:apply-templates select="$tabStops/style:tab-stop[$tabCount]/@style:type"/>
- </xsl:template>
-
- <!-- OOo writes out empty paragraphs layouted behind an image,
- those have to be neglected in HTML
- This method checks if an empty paragraph is of that kind! -->
- <xsl:template name="follows-empty-paragraphs-and-image">
- <xsl:param name="precedingElement" />
- <xsl:param name="elementToCheck" select="1"/>
-
- <xsl:choose>
- <!-- OOo writes out empty paragraphs layouted behind the image,
- those have to be neglected in HTML -->
- <xsl:when test="name($precedingElement) = 'text:p' and not($precedingElement/text()) and not($precedingElement/*)">
- <xsl:call-template name="follows-empty-paragraphs-and-image">
- <xsl:with-param name="precedingElement" select="preceding-sibling::*[$elementToCheck]"/>
- <xsl:with-param name="elementToCheck" select="$elementToCheck +1"/>
- </xsl:call-template>
- </xsl:when>
- <xsl:when test="$precedingElement/draw:frame">no</xsl:when>
- <xsl:otherwise>yes</xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <xsl:template name="create-paragraph">
- <xsl:param name="globalData"/>
- <!-- the footnote symbol is the prefix for a footnote in the footer -->
- <xsl:param name="footnotePrefix"/>
-
- <!-- xhtml:p may only contain inline elements.
- If there is one frame beyond, div must be used! -->
- <xsl:variable name="elementName">
- <xsl:choose>
- <xsl:when test="descendant::draw:frame[1] or descendant::text:p[1]">div</xsl:when>
- <xsl:otherwise>p</xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
-
- <xsl:element name="{$elementName}">
- <xsl:choose>
- <!-- in ODF borders of paragraphs will be merged by default. Merging means the adjactend paragraphs are building a unit,
- where only the first and the last will have have a border to the surrounding (top / bottom border)
- <xsl:variable name="precedingParagraphStyle" select="preceding-sibling::*[1][name() = 'text:p']/@text:style-name"/>
- <xsl:variable name="followingParagraphStyle" select="following-sibling::*[1][name() = 'text:p']/@text:style-name"/>
- -->
- <xsl:when test="$globalData/all-styles/style[@style:name = current()/@text:style-name]/@mergedBorders">
- <xsl:variable name="precedingParagraphStyle" select="preceding-sibling::*[1][name() = 'text:p']/@text:style-name"/>
- <xsl:variable name="followingParagraphStyle" select="following-sibling::*[1][name() = 'text:p']/@text:style-name"/>
- <xsl:choose>
- <xsl:when test="$precedingParagraphStyle or $followingParagraphStyle">
- <xsl:variable name="isPrecedingBorderParagraph" select="$globalData/all-styles/style[@style:name = $precedingParagraphStyle]/@mergedBorders"/>
- <xsl:variable name="isFollowingBorderParagraph" select="$globalData/all-styles/style[@style:name = $followingParagraphStyle]/@mergedBorders"/>
- <xsl:choose>
- <xsl:when test="not($isPrecedingBorderParagraph) and $isFollowingBorderParagraph">
- <xsl:attribute name="class">
- <xsl:value-of select="concat(translate(@text:style-name, '.,;: %()[]/\+', '_____________'), '_borderStart')"/>
- </xsl:attribute>
- <xsl:apply-templates>
- <xsl:with-param name="globalData" select="$globalData"/>
- </xsl:apply-templates>
- </xsl:when>
- <xsl:when test="$isPrecedingBorderParagraph and not($isFollowingBorderParagraph)">
- <xsl:attribute name="class">
- <xsl:value-of select="concat(translate(@text:style-name, '.,;: %()[]/\+', '_____________'), '_borderEnd')"/>
- </xsl:attribute>
- <xsl:apply-templates>
- <xsl:with-param name="globalData" select="$globalData"/>
- </xsl:apply-templates>
- </xsl:when>
- <xsl:otherwise>
- <xsl:attribute name="class">
- <xsl:value-of select="translate(@text:style-name, '.,;: %()[]/\+', '_____________')"/>
- </xsl:attribute>
- <xsl:apply-templates>
- <xsl:with-param name="globalData" select="$globalData"/>
- </xsl:apply-templates>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:when>
- <xsl:otherwise>
- <xsl:call-template name="write-paragraph">
- <xsl:with-param name="globalData" select="$globalData"/>
- </xsl:call-template>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:when>
- <xsl:otherwise>
- <xsl:call-template name="write-paragraph">
- <xsl:with-param name="globalData" select="$globalData" />
- <xsl:with-param name="footnotePrefix" select="$footnotePrefix" />
- </xsl:call-template>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:element>
- </xsl:template>
-
- <xsl:template name="write-paragraph">
- <xsl:param name="globalData"/>
- <!-- the footnote symbol is the prefix for a footnote in the footer -->
- <xsl:param name="footnotePrefix" />
-
- <!-- empty paragraph tags does not provoke an carridge return,
- therefore an non breakable space (&nbsp) have been inserted.-->
- <xsl:choose>
- <xsl:when test="node()">
- <xsl:call-template name="apply-styles-and-content">
- <xsl:with-param name="globalData" select="$globalData" />
- <xsl:with-param name="footnotePrefix" select="$footnotePrefix" />
- </xsl:call-template>
- </xsl:when>
- <xsl:otherwise>
- <xsl:call-template name="apply-styles-and-content">
- <xsl:with-param name="globalData" select="$globalData" />
- <xsl:with-param name="footnotePrefix" select="$footnotePrefix" />
- </xsl:call-template>
- <xsl:text>&#160;</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <xsl:template match="style:tab-stop/@style:type">
- <xsl:text>text-align:</xsl:text>
- <xsl:choose>
- <xsl:when test=". = 'left'">left</xsl:when>
- <xsl:when test=". = 'right'">right</xsl:when>
- <xsl:when test=". = 'center'">center</xsl:when>
- <xsl:otherwise>justify</xsl:otherwise>
- </xsl:choose>
- <xsl:text>;</xsl:text>
- </xsl:template>
-
- <!-- As soon a frame is within a paragraph (text:p) or page:frame, every element floating (CSS) and worked out in sequence.
- Accumulating prior frame width and adding parent's left margin -->
-
- <!-- Matching all elements and text beyond a paragraph/text:page which are sibling of a draw:frame -->
- <xsl:template match="* | text()" mode="frameFloating">
- <xsl:param name="globalData"/>
- <xsl:param name="previousFrameWidths" select="0"/>
- <xsl:param name="previousFrameHeights" select="0" />
- <!-- it becomes true for siblings after a draw:frame -->
- <xsl:param name="createDiv" select="false()"/>
- <xsl:param name="noDivBefore" select="true()"/>
- <xsl:param name="leftPosition" />
- <xsl:param name="parentMarginLeft" />
- <xsl:param name="frameAlignedToParagraphWithSvgY" />
-
- <xsl:choose>
- <xsl:when test="name() = 'draw:frame'">
- <xsl:copy-of select="$frameAlignedToParagraphWithSvgY"/>
-
- <!-- if the first node is a draw:frame create a div -->
- <xsl:call-template name="createDrawFrame">
- <xsl:with-param name="globalData" select="$globalData"/>
- <xsl:with-param name="previousFrameWidths" select="$previousFrameWidths"/>
- <xsl:with-param name="previousFrameHeights" select="$previousFrameHeights"/>
- <xsl:with-param name="parentMarginLeft" select="$parentMarginLeft"/>
- </xsl:call-template>
- <!-- next elements will be called after the creation with the new indent (plus width of frame) -->
- </xsl:when>
- <xsl:otherwise>
- <xsl:variable name="nextSiblingIsFrame" select="name(following-sibling::node()[1]) = 'draw:frame'"/>
- <xsl:choose>
- <xsl:when test="$createDiv and normalize-space(.) != ''">
- <!-- every following frame sibling till the next draw:frame
- have to be incapuslated within a div with left indent.
- To be moved alltogether arcording the indent (usually right) -->
- <xsl:comment>Next 'div' added for floating.</xsl:comment>
- <xsl:element name="div">
- <xsl:attribute name="style">
- <xsl:text>position:relative; left:</xsl:text>
- <xsl:value-of select="$leftPosition"/>
- <xsl:text>cm;</xsl:text>
- </xsl:attribute>
- <xsl:apply-templates select=".">
- <xsl:with-param name="globalData" select="$globalData"/>
- </xsl:apply-templates>
- <!-- if it is a frame sibling it will be NOT incapuslated within the div (as already within one) -->
- <xsl:if test="not($nextSiblingIsFrame)">
- <xsl:apply-templates select="following-sibling::node()[1]" mode="frameFloating">
- <xsl:with-param name="globalData" select="$globalData"/>
- <xsl:with-param name="previousFrameWidths" select="$previousFrameWidths"/>
- <xsl:with-param name="previousFrameHeights" select="$previousFrameHeights"/>
- <xsl:with-param name="parentMarginLeft" select="$parentMarginLeft"/>
- <xsl:with-param name="leftPosition" select="$leftPosition"/>
- <xsl:with-param name="createDiv" select="false()"/>
- <xsl:with-param name="noDivBefore" select="$noDivBefore"/>
- <xsl:with-param name="frameAlignedToParagraphWithSvgY" select="$frameAlignedToParagraphWithSvgY"/>
- </xsl:apply-templates>
- </xsl:if>
- </xsl:element>
- <xsl:copy-of select="$frameAlignedToParagraphWithSvgY"/>
-
- <!-- Other draw:frame will be created outside of the div element -->
- <xsl:apply-templates select="following-sibling::draw:frame[1]" mode="frameFloating">
- <xsl:with-param name="globalData" select="$globalData"/>
- <xsl:with-param name="previousFrameWidths" select="$previousFrameWidths"/>
- <xsl:with-param name="previousFrameHeights" select="$previousFrameHeights"/>
- <xsl:with-param name="parentMarginLeft" select="$parentMarginLeft"/>
- <xsl:with-param name="leftPosition" select="$leftPosition"/>
- <xsl:with-param name="frameAlignedToParagraphWithSvgY" select="$frameAlignedToParagraphWithSvgY"/>
- </xsl:apply-templates>
- </xsl:when>
- <xsl:when test="not($createDiv)">
- <xsl:apply-templates select=".">
- <xsl:with-param name="globalData" select="$globalData"/>
- <xsl:with-param name="frameAlignedToParagraphWithSvgY" select="$frameAlignedToParagraphWithSvgY"/>
- </xsl:apply-templates>
- <xsl:if test="not($nextSiblingIsFrame) or $noDivBefore">
- <xsl:variable name="followingSibling" select="following-sibling::node()[1]"/>
- <xsl:choose>
- <xsl:when test="normalize-space($followingSibling) != ''">
- <xsl:apply-templates select="$followingSibling" mode="frameFloating">
- <xsl:with-param name="globalData" select="$globalData"/>
- <xsl:with-param name="previousFrameWidths" select="$previousFrameWidths"/>
- <xsl:with-param name="previousFrameHeights" select="$previousFrameHeights"/>
- <xsl:with-param name="parentMarginLeft" select="$parentMarginLeft"/>
- <xsl:with-param name="leftPosition" select="$leftPosition"/>
- <xsl:with-param name="createDiv" select="false()"/>
- <xsl:with-param name="noDivBefore" select="$noDivBefore"/>
- <xsl:with-param name="frameAlignedToParagraphWithSvgY" select="$frameAlignedToParagraphWithSvgY"/>
- </xsl:apply-templates>
- </xsl:when>
- <xsl:otherwise>
- <xsl:copy-of select="$frameAlignedToParagraphWithSvgY"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:if>
- </xsl:when>
- </xsl:choose>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <!-- As draw:fame may occure within more elements than in text:p and draw:page -->
- <xsl:template match="draw:frame">
- <xsl:param name="globalData"/>
- <xsl:param name="previousFrameWidths" select="0"/>
- <xsl:param name="previousFrameHeights" select="0" />
-
- <xsl:call-template name="createDrawFrame">
- <xsl:with-param name="globalData" select="$globalData" />
- <xsl:with-param name="previousFrameWidths" select="$previousFrameWidths"/>
- <xsl:with-param name="previousFrameHeights" select="$previousFrameHeights"/>
- </xsl:call-template>
- <!-- after the last draw:frame sibling the CSS float is disabled -->
- <div style="clear:both; line-height:0; width:0; height:0; margin:0; padding:0;">&#160;</div>
- </xsl:template>
-
- <xsl:template name="getPageMarginLeft">
- <!-- approximation to find the correct master page style (with page dimensions) -->
- <xsl:variable name="masterPageNames">
- <!-- Loop over every style:style containing a @style:master-page-name attribute -->
- <xsl:for-each select="key('masterPage','count')">
- <!-- Check if this style is being used in the body -->
- <xsl:if test="key('elementUsingStyle', ../@style:name)">
- <!-- Check every master-page-name if it is not emtpy and return as ';' separated list -->
- <xsl:if test="string-length(../@style:master-page-name) &gt; 0">
- <xsl:value-of select="../@style:master-page-name"/>;</xsl:if>
- </xsl:if>
- </xsl:for-each>
- </xsl:variable>
- <!-- Take the first of the masterpage list and get the according style:master-page element and find the @style:page-layout-name -->
- <xsl:variable name="pageLayoutName" select="key('masterPageElements', substring-before($masterPageNames,';'))/@style:page-layout-name"/>
- <!-- Find the according style:page-layout and store the properties in a variable -->
- <xsl:variable name="pageMarginLeftAttr" select="key('pageLayoutElements', $pageLayoutName)/style:page-layout-properties/@fo:margin-left"/>
- <xsl:choose>
- <xsl:when test="$pageMarginLeftAttr">
- <xsl:call-template name="convert2cm">
- <xsl:with-param name="value" select="$pageMarginLeftAttr"/>
- </xsl:call-template>
- </xsl:when>
- <xsl:otherwise>0</xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <!-- Elements and text aside of a draw:frame are floating, here a div is being created.
- Either for a draw:frame or for text and other elements floating aside -->
- <xsl:template name="createDrawFrame">
- <xsl:param name="globalData"/>
- <xsl:param name="previousFrameWidths" select="0"/>
- <xsl:param name="previousFrameHeights" select="0" />
- <xsl:param name="parentMarginLeft"/>
-
- <xsl:variable name="parentMarginLeftNew">
- <xsl:choose>
- <xsl:when test="string-length(normalize-space($parentMarginLeft)) &lt; 1">
- <!-- Styles of first paragraph in list item, including ancestor styles (inheritance) -->
- <xsl:variable name="paragraphName" select="parent::*/@text:style-name" />
- <xsl:variable name="imageParagraphStyle" select="$globalData/all-styles/style[@style:name = $paragraphName]/final-properties"/>
- <!-- Only the left margin of the first paragraph of a list item will be added to the margin of the complete list (all levels)-->
- <xsl:choose>
- <xsl:when test="contains($imageParagraphStyle, 'margin-left:')">
- <xsl:call-template name="convert2cm">
- <xsl:with-param name="value" select="normalize-space(substring-before(substring-after($imageParagraphStyle, 'margin-left:'), ';'))"/>
- </xsl:call-template>
- </xsl:when>
- <xsl:otherwise>0</xsl:otherwise>
- </xsl:choose>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="$parentMarginLeft"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <xsl:variable name="svgWidth">
- <xsl:choose>
- <xsl:when test="@svg:width">
- <xsl:call-template name="convert2cm">
- <xsl:with-param name="value" select="@svg:width"/>
- </xsl:call-template>
- </xsl:when>
- <xsl:otherwise>0</xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <xsl:variable name="svgX">
- <xsl:choose>
- <xsl:when test="@svg:x">
- <xsl:call-template name="convert2cm">
- <xsl:with-param name="value" select="@svg:x"/>
- </xsl:call-template>
- </xsl:when>
- <xsl:otherwise>0</xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <xsl:variable name="leftPosition" select="$svgX - $parentMarginLeftNew - $previousFrameWidths"/>
- <xsl:variable name="svgY">
- <xsl:choose>
- <xsl:when test="@svg:y">
- <xsl:call-template name="convert2cm">
- <xsl:with-param name="value" select="@svg:y"/>
- </xsl:call-template>
- </xsl:when>
- <xsl:otherwise>0</xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <!-- if the frame is anchored on a paragraph -->
- <xsl:if test="@text:anchor-type='paragraph'">
- <xsl:comment>Next 'div' is emulating the top hight of a draw:frame.</xsl:comment>
- <!-- When the svg:y is set relativ to the paragraph content, the best way to emulate a positive height,
- is to add an invisbile division inbetween with a height.
- Often text will flow into this 'gap', which is handled separately!
- -->
- <xsl:if test="$svgY &gt; 0">
- <xsl:element name="div">
- <xsl:attribute name="style">
- <xsl:text>height:</xsl:text>
- <xsl:value-of select="$svgY"/>
- <xsl:text>cm;</xsl:text>
- </xsl:attribute>
- <xsl:text>&#160;</xsl:text>
- </xsl:element>
- </xsl:if>
- </xsl:if>
-
-
- <xsl:variable name="followingSibling" select="following-sibling::node()[1]"/>
- <!--
- <xsl:choose>
- HEURISTIC: if the frame is anchored on a paragraph and the above gab is big enough to hold a text line,
- move it behind the text
- <xsl:when test="@text:anchor-type='paragraph' and
- (
- ($svgY &gt; 0.5) or
- ($svgX &gt; 4)
- ) and normalize-space($followingSibling) != ''">
- <xsl:apply-templates select="$followingSibling" mode="frameFloating">
- <xsl:with-param name="globalData" select="$globalData"/>
- <xsl:with-param name="previousFrameWidths" select="$previousFrameWidths + $svgWidth"/>
- <xsl:with-param name="parentMarginLeft" select="$parentMarginLeftNew"/>
- <xsl:with-param name="leftPosition" select="$leftPosition"/>
- <xsl:with-param name="createDiv" select="true()"/>
- <xsl:with-param name="noDivBefore" select="false()"/>
- <xsl:with-param name="frameAlignedToParagraphWithSvgY">
- <xsl:call-template name="createDrawFrame2">
- <xsl:with-param name="globalData" select="$globalData"/>
- <xsl:with-param name="previousFrameWidths" select="$previousFrameWidths + $svgWidth"/>
- <xsl:with-param name="parentMarginLeftNew" select="$parentMarginLeftNew"/>
- <xsl:with-param name="leftPosition" select="$leftPosition"/>
- <xsl:with-param name="svgY" select="$svgY"/>
- </xsl:call-template>
- </xsl:with-param>
- </xsl:apply-templates>
- </xsl:when>
- <xsl:otherwise>-->
- <xsl:call-template name="createDrawFrame2">
- <xsl:with-param name="globalData" select="$globalData"/>
- <xsl:with-param name="previousFrameWidths" select="$previousFrameWidths + $svgWidth"/>
- <xsl:with-param name="parentMarginLeftNew" select="$parentMarginLeftNew"/>
- <xsl:with-param name="leftPosition" select="$leftPosition"/>
- <xsl:with-param name="svgY" select="$svgY"/>
- </xsl:call-template>
- <!-- <xsl:apply-templates select="following-sibling::node()[1]" mode="frameFloating">
- <xsl:with-param name="globalData" select="$globalData"/>
- <xsl:with-param name="previousFrameWidths" select="$previousFrameWidths + $svgWidth"/>
- <xsl:with-param name="parentMarginLeft" select="$parentMarginLeftNew"/>
- <xsl:with-param name="leftPosition" select="$leftPosition"/>
- <xsl:with-param name="createDiv" select="true()"/>
- <xsl:with-param name="noDivBefore" select="false()"/>
- </xsl:apply-templates>
-
- </xsl:otherwise>
- </xsl:choose> -->
- </xsl:template>
-
- <xsl:template name="createDrawFrame2">
- <xsl:param name="globalData"/>
- <xsl:param name="previousFrameWidths" />
- <xsl:param name="parentMarginLeftNew"/>
- <xsl:param name="leftPosition" />
- <xsl:param name="svgY" />
-
- <xsl:comment>Next 'div' is a draw:frame.</xsl:comment>
- <xsl:element name="div">
- <xsl:attribute name="style">
- <xsl:call-template name="widthAndHeight"/>
-
- <!-- all images float (CSS float reltaive) with a left position calculated by svg:x - parentMarginLeft - previousFrameWidths -->
- <xsl:text> float:left; padding:0; position:relative; left:</xsl:text>
- <xsl:value-of select="$leftPosition"/>
- <xsl:text>cm; </xsl:text>
- <!-- if the frame is anchored on a char -->
- <xsl:if test="@text:anchor-type='char'">
- <xsl:text>top:</xsl:text>
- <xsl:value-of select="$svgY"/>
- <xsl:text>cm; </xsl:text>
- </xsl:if>
- </xsl:attribute>
- <xsl:apply-templates select="@*">
- <xsl:with-param name="globalData" select="$globalData"/>
- </xsl:apply-templates>
- <xsl:apply-templates select="node()">
- <xsl:with-param name="globalData" select="$globalData"/>
- </xsl:apply-templates>
- </xsl:element>
- </xsl:template>
-
- <xsl:template name="widthAndHeight">
- <xsl:if test="@svg:height | @svg:width">
- <xsl:choose>
- <xsl:when test="not(@svg:width)">
- <xsl:call-template name="svg:height"/>
- </xsl:when>
- <xsl:when test="not(@svg:height)">
- <xsl:call-template name="svg:width"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:call-template name="svg:height"/>
- <xsl:call-template name="svg:width"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:if>
- </xsl:template>
-
- <!-- ***************** -->
- <!-- *** Text Span *** -->
- <!-- ***************** -->
-
- <xsl:template match="text:span">
- <xsl:param name="globalData"/>
-
- <xsl:choose>
- <xsl:when test="draw:frame">
- <!-- sometimes an ODF image is anchored as character and the
- image frame appears within a span (which is not valid for HTML)
- Heuristic: Neglecting the span assuming no text content aside
- of frame within span -->
- <xsl:apply-templates>
- <xsl:with-param name="globalData" select="$globalData"/>
- </xsl:apply-templates>
- </xsl:when>
- <xsl:otherwise>
- <xsl:element name="span">
- <xsl:call-template name="apply-styles-and-content">
- <xsl:with-param name="globalData" select="$globalData"/>
- </xsl:call-template>
- </xsl:element>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
-
-
- <!-- **************** -->
- <!-- *** Headings *** -->
- <!-- **************** -->
-
- <xsl:template match="text:h">
- <xsl:param name="globalData"/>
-
- <!-- no creation of empty headings (without text content) -->
- <xsl:if test="text() or descendant::text()">
- <!-- The URL linking of an table-of-content is due to a bug (cp. bug id# 102311) not mapped as URL in the XML.
- Linking of the table-of-content can therefore only be archieved by a work-around in HTML -->
- <xsl:call-template name="create-heading">
- <xsl:with-param name="globalData" select="$globalData"/>
- </xsl:call-template>
- </xsl:if>
- </xsl:template>
-
- <!-- default matching for header elements -->
- <xsl:template name="create-heading">
- <xsl:param name="globalData"/>
-
- <xsl:variable name="headingLevel">
- <xsl:choose>
- <xsl:when test="@text:outline-level &lt; 6">
- <xsl:value-of select="@text:outline-level"/>
- </xsl:when>
- <xsl:otherwise>6</xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <xsl:variable name="headertyp" select="concat('h', $headingLevel)"/>
- <xsl:element name="{$headertyp}">
- <!-- outline style 'text:min-label-width' is interpreted as a CSS 'margin-right' attribute
- NOTE: Should be handled as CSS style in style header -->
- <xsl:variable name="min-label" select="$globalData/office:styles/text:outline-style/text:outline-level-style[@text:level = current()/@text:outline-level]/*/@text:min-label-width"/>
- <xsl:attribute name="class">
- <xsl:value-of select="translate(@text:style-name, '.,;: %()[]/\+', '_____________')"/>
- </xsl:attribute>
-
- <xsl:call-template name="create-heading-anchor">
- <xsl:with-param name="globalData" select="$globalData"/>
- </xsl:call-template>
-
- <xsl:apply-templates>
- <xsl:with-param name="globalData" select="$globalData"/>
- </xsl:apply-templates>
- </xsl:element>
-
- </xsl:template>
-
- <xsl:template name="create-heading-anchor">
- <xsl:param name="globalData"/>
-
- <!-- writing out a heading number if desired.-->
- <!-- if a corresponding 'text:outline-style' exist or is not empty -->
- <xsl:choose>
- <xsl:when test="$globalData/office:styles/text:outline-style/text:outline-level-style[@text:level = current()/@text:outline-level]/@style:num-format != ''">
-
- <!-- Every heading element will get an unique anchor for its file, from its hiearchy level and name:
- For example: The heading title 'My favorite heading' might get <a name="1_2_2_My_favorite_heading" /> -->
- <!-- creating an anchor for referencing the heading (e.g. from content table) -->
- <xsl:variable name="headingNumber">
- <xsl:call-template name="get-heading-number">
- <xsl:with-param name="globalData" select="$globalData"/>
- </xsl:call-template>
- </xsl:variable>
- <xsl:call-template name="create-heading-anchor2">
- <xsl:with-param name="globalData" select="$globalData"/>
- <xsl:with-param name="headingNumber" select="$headingNumber"/>
- </xsl:call-template>
- </xsl:when>
- <xsl:otherwise>
- <xsl:call-template name="create-heading-anchor2">
- <xsl:with-param name="globalData" select="$globalData"/>
- </xsl:call-template>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
-
- <xsl:template name="get-heading-number">
- <xsl:param name="globalData"/>
-
- <!-- write number prefix -->
- <xsl:value-of select="$globalData/office:styles/text:outline-style/text:outline-level-style[@text:level = current()/@text:outline-level]/@style:num-prefix"/>
- <xsl:call-template name="write-heading-number">
- <xsl:with-param name="globalData" select="$globalData"/>
- </xsl:call-template>
- <!-- write number suffix -->
- <xsl:value-of select="$globalData/office:styles/text:outline-style/text:outline-level-style[@text:level = current()/@text:outline-level]/@style:num-suffix"/>
- </xsl:template>
-
- <!-- creating an anchor for referencing the heading -->
- <xsl:template name="create-heading-anchor2">
- <xsl:param name="globalData"/>
- <xsl:param name="headingNumber" />
-
- <xsl:variable name="title">
- <xsl:apply-templates mode="concatenate"/>
- </xsl:variable>
- <!-- REFERENCE HANDLING - ANCHOR -->
- <xsl:element namespace="{$namespace}" name="a">
- <xsl:attribute name="id">
- <xsl:value-of select="translate(concat('a_',$headingNumber, '_', normalize-space($title)), '&#xA;&amp;&lt;&gt;.,;: %()[]/\+', '___________________________')"/>
- </xsl:attribute>
-
- <xsl:element name="span">
- <!-- outline style 'text:min-label-distance' is interpreted as a CSS 'margin-right' attribute
- NOTE: Should be handled as CSS style in style header -->
- <xsl:variable name="minLabelDistance" select="$globalData/office:styles/text:outline-style/text:outline-level-style[@text:level = current()/@text:outline-level]/*/@text:min-label-distance"/>
- <xsl:variable name="minLabelWidth" select="$globalData/office:styles/text:outline-style/text:outline-level-style[@text:level = current()/@text:outline-level]/*/@text:min-label-width"/>
-
- <xsl:if test="$minLabelDistance | $minLabelWidth">
- <xsl:attribute name="style">
- <xsl:if test="$minLabelDistance">
- <xsl:text>margin-right:</xsl:text>
- <xsl:call-template name="convert2cm">
- <xsl:with-param name="value" select="$minLabelDistance"/>
- </xsl:call-template>
- <xsl:text>cm;</xsl:text>
- </xsl:if>
- <xsl:if test="$minLabelWidth">
- <xsl:text>min-width:</xsl:text>
- <xsl:call-template name="convert2cm">
- <xsl:with-param name="value" select="$minLabelWidth"/>
- </xsl:call-template>
- <xsl:text>cm;</xsl:text>
- </xsl:if>
- </xsl:attribute>
- </xsl:if>
- <xsl:copy-of select="$headingNumber"/>
- </xsl:element>
- </xsl:element>
- </xsl:template>
-
- <xsl:template name="write-heading-number">
- <xsl:param name="globalData"/>
-
- <!-- By default heading start with '1', the parameter 'textStartValue' will only be set, if the attribute @text:start-value exist -->
- <xsl:choose>
- <xsl:when test="$globalData/office:styles/text:outline-style/text:outline-level-style[@text:level = current()/@text:outline-level]/@text:start-value">
- <xsl:call-template name="calc-heading-number">
- <xsl:with-param name="globalData" select="$globalData"/>
- <xsl:with-param name="outlineLevel" select="@text:outline-level"/>
- <xsl:with-param name="textStartValue" select="$globalData/office:styles/text:outline-style/text:outline-level-style[@text:level = current()/@text:outline-level]/@text:start-value"/>
- </xsl:call-template>
- </xsl:when>
- <xsl:otherwise>
- <xsl:call-template name="calc-heading-number">
- <xsl:with-param name="globalData" select="$globalData"/>
- <xsl:with-param name="outlineLevel" select="@text:outline-level"/>
- </xsl:call-template>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <!--
- Find the correct heading no., which is the sum of 'text:start-value'
- and preceding siblings of 'text:h' with the same 'text:outline-level' (until a text:outline-level with lower value is found).
- If the 'text:start-value is not set the default value of '1' has to be taken.
- If a heading number is found (e.g. text:outline-level='3') all heading numbers
- for the higher levels have to be written out -->
- <xsl:template name="calc-heading-number">
- <xsl:param name="globalData"/>
- <xsl:param name="outlineLevel"/><!-- text level of the heading -->
- <xsl:param name="iOutlineLevel" select="1"/><!-- iterator, counts from 1 to the text level of the heading -->
- <xsl:param name="textStartValue" select="1"/><!-- text level to start with, default is '1' -->
-
- <xsl:choose>
- <!-- iText levels counts up from '1' to outlineLevel
- Which means writing a heading number from left to right -->
- <xsl:when test="$iOutlineLevel &lt; $outlineLevel">
-
- <!-- Write preceding heading numbers -->
- <xsl:call-template name="writeNumber">
- <xsl:with-param name="numberDigit">
- <xsl:call-template name="calc-heading-digit">
- <xsl:with-param name="value" select="0"/>
- <xsl:with-param name="currentoutlineLevel" select="$iOutlineLevel"/>
- </xsl:call-template>
- </xsl:with-param>
- <xsl:with-param name="numberFormat" select="$globalData/office:styles/text:outline-style/text:outline-level-style[@text:level = ($outlineLevel)]/@style:num-format"/>
- </xsl:call-template>
- <xsl:choose>
- <xsl:when test="$globalData/office:styles/text:outline-style/text:outline-level-style[@text:level = ($iOutlineLevel + 1)]/@text:start-value">
- <xsl:call-template name="calc-heading-number">
- <xsl:with-param name="globalData" select="$globalData"/>
- <xsl:with-param name="outlineLevel" select="$outlineLevel"/>
- <xsl:with-param name="iOutlineLevel" select="$iOutlineLevel + 1"/>
- <xsl:with-param name="textStartValue" select="$globalData/office:styles/text:outline-style/text:outline-level-style[@text:level = ($iOutlineLevel + 1)]/@text:start-value"/>
- </xsl:call-template>
- </xsl:when>
- <xsl:otherwise>
- <xsl:call-template name="calc-heading-number">
- <xsl:with-param name="globalData" select="$globalData"/>
- <xsl:with-param name="outlineLevel" select="$outlineLevel"/>
- <xsl:with-param name="iOutlineLevel" select="$iOutlineLevel + 1"/>
- </xsl:call-template>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:when>
- <xsl:otherwise>
- <!-- Write preceding heading numbers -->
- <xsl:call-template name="writeNumber">
- <xsl:with-param name="numberDigit">
- <xsl:call-template name="calc-heading-digit">
- <xsl:with-param name="value" select="$textStartValue"/>
- <xsl:with-param name="currentoutlineLevel" select="$iOutlineLevel"/>
- </xsl:call-template>
- </xsl:with-param>
- <xsl:with-param name="numberFormat" select="$globalData/office:styles/text:outline-style/text:outline-level-style[@text:level = $outlineLevel]/@style:num-format"/>
- <xsl:with-param name="last" select="true()"/>
- </xsl:call-template>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <xsl:template name="writeNumber">
- <xsl:param name="numberDigit"/>
- <xsl:param name="numberFormat"/>
- <xsl:param name="last"/>
-
- <xsl:choose>
- <xsl:when test="not($numberFormat)">
- <xsl:number value="$numberDigit" format="1."/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:choose>
- <xsl:when test="$last">
- <xsl:number value="$numberDigit" format="{$numberFormat}"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:number value="$numberDigit" format="{$numberFormat}."/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <xsl:template name="calc-heading-digit">
- <xsl:param name="value"/>
- <xsl:param name="currentoutlineLevel"/>
- <xsl:param name="i" select="1"/>
-
- <xsl:variable name="precedingoutlineLevel" select="preceding-sibling::text:h[$i]/@text:outline-level"/>
- <xsl:choose>
- <xsl:when test="$currentoutlineLevel = $precedingoutlineLevel">
- <xsl:call-template name="calc-heading-digit">
- <xsl:with-param name="value" select="$value + 1"/>
- <xsl:with-param name="currentoutlineLevel" select="$currentoutlineLevel"/>
- <xsl:with-param name="i" select="$i + 1"/>
- </xsl:call-template>
- </xsl:when>
- <xsl:when test="$currentoutlineLevel &lt; $precedingoutlineLevel">
- <xsl:call-template name="calc-heading-digit">
- <xsl:with-param name="value" select="$value"/>
- <xsl:with-param name="currentoutlineLevel" select="$currentoutlineLevel"/>
- <xsl:with-param name="i" select="$i + 1"/>
- </xsl:call-template>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="$value"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <!-- Neglect Annotations -->
- <xsl:template match="office:annotation" mode="concatenate"/>
-
- <!-- Match text:placeholder child nodes (e.g. text) -->
- <xsl:template match="text:placeholder">
- <xsl:param name="globalData"/>
-
- <xsl:call-template name="apply-styles-and-content">
- <xsl:with-param name="globalData" select="$globalData"/>
- </xsl:call-template>
- </xsl:template>
-
- <!-- ************* -->
- <!-- *** Link *** -->
- <!-- ************* -->
-
- <xsl:template match="text:a | draw:a">
- <xsl:param name="globalData"/>
-
- <xsl:call-template name="create-common-anchor-link">
- <xsl:with-param name="globalData" select="$globalData"/>
- </xsl:call-template>
- </xsl:template>
-
-
- <xsl:template name="create-common-anchor-link">
- <xsl:param name="globalData"/>
-
- <xsl:element name="a">
- <xsl:attribute name="href">
- <xsl:call-template name="create-href">
- <xsl:with-param name="href" select="@xlink:href"/>
- </xsl:call-template>
- </xsl:attribute>
- <xsl:call-template name="apply-styles-and-content">
- <xsl:with-param name="globalData" select="$globalData"/>
- </xsl:call-template>
- </xsl:element>
- </xsl:template>
-
-
-
- <!-- ******************* -->
- <!-- *** Image Link *** -->
- <!-- ******************* -->
-
- <!-- currently suggesting that all draw:object-ole elements are images -->
- <xsl:template match="draw:image | draw:object-ole">
- <xsl:param name="globalData"/>
-
- <xsl:choose>
- <xsl:when test="ancestor::text:p or parent::text:span or parent::text:h or parent::draw:a or parent::text:a or text:ruby-base">
- <!-- XHTML does not allow the mapped elements to contain paragraphs -->
- <xsl:call-template name="create-image-element">
- <xsl:with-param name="globalData" select="$globalData"/>
- </xsl:call-template>
- </xsl:when>
- <xsl:otherwise>
- <!-- images are embedded in a paragraph, but are in CSS not able to express a horizontal alignment for themself.
- A 'div' element taking over the image style would solve that problem, but is invalid as child of a paragraph -->
- <xsl:element name="p">
- <xsl:apply-templates select="@draw:style-name">
- <xsl:with-param name="globalData" select="$globalData"/>
- </xsl:apply-templates>
-
- <xsl:call-template name="create-image-element">
- <xsl:with-param name="globalData" select="$globalData"/>
- </xsl:call-template>
- </xsl:element>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <xsl:template name="create-image-element">
- <xsl:param name="globalData"/>
-
- <xsl:element name="img">
- <xsl:if test="../@svg:width or ../@svg:height">
- <xsl:attribute name="style">
- <xsl:if test="../@svg:height">
- <xsl:text>height:</xsl:text>
- <xsl:call-template name="convert2cm">
- <xsl:with-param name="value" select="../@svg:height"/>
- </xsl:call-template>
- <xsl:text>cm;</xsl:text>
- </xsl:if>
- <xsl:if test="../@svg:width">
- <xsl:text>width:</xsl:text>
- <xsl:call-template name="convert2cm">
- <xsl:with-param name="value" select="../@svg:width"/>
- </xsl:call-template>
- <xsl:text>cm;</xsl:text>
- </xsl:if>
- </xsl:attribute>
- </xsl:if>
- <xsl:attribute name="alt">
- <xsl:choose>
- <xsl:when test="../svg:desc">
- <xsl:value-of select="../svg:desc"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:message>
- Accessibility Warning:
- No alternate text ('svg:desc' element) set for
- image '<xsl:value-of select="@xlink:href"/>'!</xsl:message>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:attribute>
-
- <xsl:attribute name="src">
- <xsl:call-template name="create-href">
- <xsl:with-param name="href" select="@xlink:href"/>
- </xsl:call-template>
- </xsl:attribute>
-
- <!-- style interpretation only, as no subelements are allowed for img in XHTML -->
- <xsl:apply-templates select="@draw:style-name">
- <xsl:with-param name="globalData" select="$globalData"/>
- </xsl:apply-templates>
- </xsl:element>
- </xsl:template>
-
- <!-- ************ -->
- <!-- *** list *** -->
- <!-- ************ -->
- <!--
- Due to the requirements below the ODF list functionality is not handled by CSS, but the list labels calculated and written by XSLT.
-
- REQUIREMENTS:
- =============
-
- A)
- One significant difference between XHTML and Office List elements is that a list without text nodes but only further list children
- would not show a list symbol in the Office, but in the browser from XHTML.
-
- B)
- Since OASIS Open Document XML (implemented in OOo2.0) only one parent type exists for list items
- the 'text:list' element. The XHTML element 'ol', 'ul' will be choosen upon the list style type.
-
- C)
- An Office list may be spread over the whole document. Linked by their style and text:continue-numbering='true'.
-
- D)
- An Office list can use characters or images as list label.
-
- E)
- An Office list can have a prefix and suffix around the list label.
-
- F)
- An Office list style may have the attribute consecutive numbering, which resolves in a list counting for all levels
-
- G)
- An Office list may (re)start on any arbitrary value by using @text:start-value on the text:list-item
-
- INDENDATION:
- ============
-
- The indent of a list label is not only calculated by using the text:space-before of the list level (listLevelStyle), but
- as well taking the left margin of the first paragraph (or heading) of the list into account as loy match="" name="" use=""/>ng it is not negative.
-
- | MARGIN LEFT | LABEL |
-
- | text:space-before (listlevelstyle) | text:min-label-width |
- | + fo:left-margin (firstParagraph) | |
-
- Further details beyond text:list-list..
- -->
- <xsl:key name="listStyles" match=" /*/office:styles/text:list-style | /*/office:automatic-styles/text:list-style | /*/office:styles/style:graphic-properties/text:list-style | /*/office:automatic-styles/style:graphic-properties/text:list-style | /*/office:styles/text:list-style | /*/office:automatic-styles/text:list-style | /*/office:styles/style:graphic-properties/text:list-style | /*/office:automatic-styles/style:graphic-properties/text:list-style" use="@style:name"/>
-
- <!--
- A text list may only have text:list-item and text:list-header as children.
- -->
- <xsl:template match="text:list">
- <xsl:param name="globalData"/>
- <xsl:param name="isListNumberingReset"/>
- <xsl:param name="isNextLevelNumberingReset"/>
- <xsl:param name="listLevel" select="1"/>
- <xsl:param name="listRestart" select="false()"/>
- <xsl:param name="itemLabel" select="''"/>
- <xsl:param name="listStyle"/>
- <xsl:param name="listStyleName" select="@text:style-name"/>
-
- <!-- To choose list type - get the list style, with the same 'text:style-name' and same 'text:level' >-->
- <xsl:variable name="listStyleRTF">
- <xsl:variable name="listStyleInContentFile" select="key('listStyles', $listStyleName)"/>
- <xsl:choose>
- <xsl:when test="$listStyleInContentFile">
- <xsl:copy-of select="$listStyleInContentFile"/>
- </xsl:when>
- <xsl:when test="$globalData/office:styles/text:list-style[@style:name = $listStyleName]">
- <xsl:copy-of select="$globalData/office:styles/text:list-style[@style:name = $listStyleName]"/>
- </xsl:when>
- <xsl:when test="$globalData/office:styles/style:graphic-properties/text:list-style[@style:name = $listStyleName]">
- <xsl:copy-of select="$globalData/office:styles/style:graphic-properties/text:list-style[@style:name = $listStyleName]"/>
- </xsl:when>
- </xsl:choose>
- </xsl:variable>
-
- <xsl:choose>
- <xsl:when test="function-available('common:node-set')">
- <xsl:call-template name="create-list-type">
- <xsl:with-param name="listStyle" select="common:node-set($listStyleRTF)" />
- <xsl:with-param name="globalData" select="$globalData"/>
- <xsl:with-param name="isListNumberingReset" select="$isListNumberingReset"/>
- <xsl:with-param name="isNextLevelNumberingReset" select="$isNextLevelNumberingReset"/>
- <xsl:with-param name="listLevel" select="$listLevel"/>
- <xsl:with-param name="listRestart" select="$listRestart"/>
- <xsl:with-param name="itemLabel" select="$itemLabel"/>
- <xsl:with-param name="listStyleName" select="$listStyleName" />
- </xsl:call-template>
- </xsl:when>
- <xsl:when test="function-available('xalan:nodeset')">
- <xsl:call-template name="create-list-type">
- <xsl:with-param name="listStyle" select="xalan:nodeset($listStyleRTF)" />
- <xsl:with-param name="globalData" select="$globalData"/>
- <xsl:with-param name="isListNumberingReset" select="$isListNumberingReset"/>
- <xsl:with-param name="isNextLevelNumberingReset" select="$isNextLevelNumberingReset"/>
- <xsl:with-param name="listLevel" select="$listLevel"/>
- <xsl:with-param name="listRestart" select="$listRestart"/>
- <xsl:with-param name="itemLabel" select="$itemLabel"/>
- <xsl:with-param name="listStyleName" select="$listStyleName" />
- </xsl:call-template>
- </xsl:when>
- <xsl:when test="function-available('xt:node-set')">
- <xsl:call-template name="create-list-type">
- <xsl:with-param name="listStyle" select="xt:node-set($listStyleRTF)" />
- <xsl:with-param name="globalData" select="$globalData"/>
- <xsl:with-param name="isListNumberingReset" select="$isListNumberingReset"/>
- <xsl:with-param name="isNextLevelNumberingReset" select="$isNextLevelNumberingReset"/>
- <xsl:with-param name="listLevel" select="$listLevel"/>
- <xsl:with-param name="listRestart" select="$listRestart"/>
- <xsl:with-param name="itemLabel" select="$itemLabel"/>
- <xsl:with-param name="listStyleName" select="$listStyleName" />
- </xsl:call-template>
- </xsl:when>
- <xsl:otherwise>
- <xsl:message terminate="yes">The required node-set function was not found!</xsl:message>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <xsl:template name="create-list-type">
- <xsl:param name="globalData"/>
- <xsl:param name="isListNumberingReset"/>
- <xsl:param name="isNextLevelNumberingReset"/>
- <xsl:param name="listLevel" />
- <xsl:param name="listRestart" />
- <xsl:param name="itemLabel"/>
- <xsl:param name="listStyle"/>
- <xsl:param name="listStyleName" />
-
- <!-- $globalData/styles-file/*/office:styles/ -->
- <xsl:variable name="listLevelStyle" select="$listStyle/*/*[@text:level = number($listLevel)]"/>
- <xsl:variable name="listIndent">
- <xsl:call-template name="getListIndent">
- <xsl:with-param name="globalData" select="$globalData"/>
- <xsl:with-param name="listLevelStyle" select="$listLevelStyle"/>
- <xsl:with-param name="firstPara" select="*[1]/*[name() = 'text:p' or name() = 'text:h'][1]"/>
- </xsl:call-template>
- </xsl:variable>
- <xsl:variable name="isEmptyList" select="not(*[1]/*[name() = 'text:h' or name() = 'text:p' or name() = 'text:name'])"/>
- <xsl:variable name="listType">
- <xsl:choose>
- <!-- ordered list -->
- <xsl:when test="name($listLevelStyle) = 'text:list-level-style-number'">
- <xsl:text>ol</xsl:text>
- </xsl:when>
- <!-- unordered list (bullet or image) -->
- <xsl:otherwise>
- <xsl:text>ul</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
-
- <xsl:element name="{$listType}">
- <xsl:apply-templates select="*[1]" mode="listItemSibling">
- <xsl:with-param name="globalData" select="$globalData"/>
- <xsl:with-param name="isEmptyList" select="$isEmptyList"/>
- <xsl:with-param name="isListNumberingReset" select="$isNextLevelNumberingReset"/>
- <xsl:with-param name="isNextLevelNumberingReset">
- <xsl:choose>
- <xsl:when test="$isListNumberingReset">
- <xsl:value-of select="true()"/>
- </xsl:when>
- <xsl:otherwise>
- <!-- A list is empty if a text:list does not have a text:list-header or text:list-item (wildcard as only those can exist beyond a text:list), which contains a text:h or text:p -->
- <xsl:value-of select="not($isEmptyList)"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:with-param>
- <xsl:with-param name="itemLabel" select="$itemLabel"/>
- <xsl:with-param name="listIndent" select="$listIndent"/>
- <xsl:with-param name="listLevel" select="$listLevel"/>
- <xsl:with-param name="listLevelStyle" select="$listLevelStyle"/>
- <xsl:with-param name="listRestart">
- <xsl:choose>
- <xsl:when test="$listRestart">
- <xsl:value-of select="$listRestart"/>
- </xsl:when>
- <xsl:otherwise>
- <!-- descdendants restart their list numbering, when an ancestor is not empty -->
- <xsl:value-of select="not($isEmptyList)"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:with-param>
- <xsl:with-param name="listStyle" select="$listStyle"/>
- <xsl:with-param name="listStyleName" select="$listStyleName"/>
- <xsl:with-param name="minLabelDist">
- <xsl:choose>
- <xsl:when test="$listLevelStyle/*/@text:min-label-distance">
- <xsl:call-template name="convert2cm">
- <xsl:with-param name="value" select="$listLevelStyle/*/@text:min-label-distance"/>
- </xsl:call-template>
- </xsl:when>
- <xsl:otherwise>0</xsl:otherwise>
- </xsl:choose>
- </xsl:with-param>
- <xsl:with-param name="minLabelWidth">
- <xsl:choose>
- <xsl:when test="$listLevelStyle/*/@text:min-label-width">
- <xsl:call-template name="convert2cm">
- <xsl:with-param name="value" select="$listLevelStyle/*/@text:min-label-width"/>
- </xsl:call-template>
- </xsl:when>
- <xsl:otherwise>0</xsl:otherwise>
- </xsl:choose>
- </xsl:with-param>
- </xsl:apply-templates>
- </xsl:element>
- </xsl:template>
-
- <!-- See comment before text:list template -->
- <xsl:template name="getListIndent">
- <xsl:param name="globalData"/>
- <xsl:param name="listLevelStyle"/>
- <!-- The first paragraph of the list item (heading is special paragraph in ODF) -->
- <xsl:param name="firstPara" />
-
- <!-- Styles of first paragraph in list item, including ancestor styles (inheritance) -->
- <xsl:variable name="firstParaStyles" select="$globalData/all-styles/style[@style:name = $firstPara/@text:style-name]/final-properties"/>
-
- <!-- Only the left margin of the first paragraph of a list item will be added to the margin of the complete list (all levels)-->
- <xsl:variable name="firstParaLeftMargin">
- <xsl:choose>
- <xsl:when test="contains($firstParaStyles, 'margin-left:')">
- <xsl:call-template name="convert2cm">
- <xsl:with-param name="value" select="normalize-space(substring-before(substring-after($firstParaStyles, 'margin-left:'), ';'))"/>
- </xsl:call-template>
- </xsl:when>
- <xsl:otherwise>0</xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <xsl:variable name="spaceBefore">
- <xsl:choose>
- <xsl:when test="$listLevelStyle/*/@text:space-before">
- <xsl:call-template name="convert2cm">
- <xsl:with-param name="value" select="$listLevelStyle/*/@text:space-before"/>
- </xsl:call-template>
- </xsl:when>
- <xsl:otherwise>0</xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <!-- Only if the left-margin of the first paragraph is positive the sum
- text:space-before and fo:left-margin is taken as list indent -->
- <xsl:choose>
- <xsl:when test="$firstParaLeftMargin &gt; 0">
- <xsl:value-of select="$firstParaLeftMargin + $spaceBefore"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="$spaceBefore"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <!-- ****************** -->
- <!-- *** list item *** -->
- <!-- ****************** -->
-<!--
- Left margin of the complete list:
- The space between left page and the list symbol (left-margin) is in the Office implemented by
- the sum of three values:
- 1) 'text:space-before', which is part of the 'text:list-style' element.
- 2) 'margin:left' from the style of the first child (e.g. paragraph).
- 3) 'fo:text-indent' the indent of the first line of some child (e.g. paragraph) (applied by CSS class style)
-
- Possible list children:
- <!ELEMENT text:list-item (text:p|text:h|text:list|text:list)+>
-
- In the Office the list label before the text depends on two attributes:
- - 'text:min-label-width': the distance between list label and all text of the list item.
- - 'text:min-label-distance': the distance between list label and text of the first line,
- only used, when text does not fit in text:min-label-width (ignored)
-
--->
- <xsl:template match="text:list-item | text:list-header" mode="listItemSibling">
- <xsl:param name="globalData"/>
- <xsl:param name="firstitemLabelWidth"/>
- <xsl:param name="isEmptyList" select="not(*[name() = 'text:h' or name() = 'text:p' or name() = 'text:name'])"/>
- <xsl:param name="isListNumberingReset"/>
- <xsl:param name="isNextLevelNumberingReset"/>
- <xsl:param name="itemNumber"/>
- <xsl:param name="itemLabel"/>
- <xsl:param name="listLevel"/>
- <xsl:param name="listLevelStyle"/>
- <xsl:param name="listRestart"/>
- <xsl:param name="listStyle"/>
- <xsl:param name="listStyleName"/>
- <xsl:param name="minLabelDist"/>
- <xsl:param name="minLabelWidth"/>
- <xsl:param name="listIndent" />
-
-
- <xsl:variable name="listIndentNew">
- <xsl:choose>
- <xsl:when test="$listIndent">
- <xsl:value-of select="$listIndent"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:call-template name="getListIndent">
- <xsl:with-param name="globalData" select="$globalData"/>
- <xsl:with-param name="listLevelStyle" select="$listLevelStyle"/>
- <xsl:with-param name="firstPara" select="*[name() = 'text:p' or name() = 'text:h'][1]" />
- </xsl:call-template>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <xsl:variable name="itemNumberNew">
- <xsl:if test="$listStyle/text:list-style/text:list-level-style-number">
- <xsl:choose>
- <xsl:when test="$isEmptyList">
- <!-- An empty list item (no text:h/text:p as child), will not count as item and does not increment the count. -->
- <xsl:variable name="tempItemNumber">
- <xsl:choose>
- <!-- siblings will be incremented by one -->
- <xsl:when test="$itemNumber">
- <xsl:value-of select="$itemNumber + 1"/>
- </xsl:when>
- <!-- if a higher list level had content the numbering starts with 1 -->
- <xsl:when test="$isListNumberingReset and $listLevel &gt; 1">
- <xsl:value-of select="1"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:call-template name="getItemNumber">
- <xsl:with-param name="listStyleName" select="$listStyleName"/>
- <xsl:with-param name="listLevel" select="$listLevel"/>
- <xsl:with-param name="listLevelStyle" select="$listLevelStyle"/>
- <xsl:with-param name="listStyle" select="$listStyle"/>
- </xsl:call-template>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <xsl:choose>
- <!-- in case the empty list-item is the first list-item in document -->
- <xsl:when test="$tempItemNumber = 1">
- <xsl:value-of select="1"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="$tempItemNumber - 1"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:when>
- <xsl:otherwise>
- <xsl:choose>
- <xsl:when test="@text:start-value">
- <xsl:value-of select="@text:start-value"/>
- </xsl:when>
- <!-- text:start-value from list level style will only be taken on the first list-item of a list -->
- <xsl:when test="$listLevelStyle/@text:start-value and count(preceding-sibling::text:list-item) = 0">
- <xsl:value-of select="$listLevelStyle/@text:start-value"/>
- </xsl:when>
- <!-- siblings will be incremented by one -->
- <xsl:when test="$itemNumber">
- <xsl:value-of select="$itemNumber + 1"/>
- </xsl:when>
- <!-- if a higher list level had content the numbering starts with 1 -->
- <xsl:when test="$isListNumberingReset and $listLevel &gt; 1">
- <xsl:value-of select="1"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:call-template name="getItemNumber">
- <xsl:with-param name="listStyleName" select="$listStyleName"/>
- <xsl:with-param name="listLevel" select="$listLevel"/>
- <xsl:with-param name="listLevelStyle" select="$listLevelStyle"/>
- <xsl:with-param name="listStyle" select="$listStyle"/>
- </xsl:call-template>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:if>
- </xsl:variable>
- <xsl:variable name="itemLabelNew">
- <xsl:if test="$listStyle/text:list-style/text:list-level-style-number">
- <!--
- A numbered label (e.g. 2.C.III) is created for every text:list-item/header.
- Above list levels are listed in the label, if the list-style requires this. Levels are separated by a '.'
- Formatation is dependent for every list level depth.
- The label is passed from anchestor text:list-item/header and if requrired truncated.
- The prefix/suffix (as well list level dependent) comes before and after the complete label (after truncation)
- -->
- <!-- Numbered label will be generated -->
- <xsl:call-template name="createItemLabel">
- <xsl:with-param name="itemNumber" select="$itemNumberNew"/>
- <xsl:with-param name="itemLabel" select="$itemLabel"/>
- <xsl:with-param name="listLevelsToDisplay">
- <xsl:variable name="display" select="$listLevelStyle/@text:display-levels"/>
- <xsl:choose>
- <xsl:when test="$display">
- <xsl:value-of select="$display"/>
- </xsl:when>
- <xsl:otherwise>1</xsl:otherwise>
- </xsl:choose>
- </xsl:with-param>
- <xsl:with-param name="listLevel" select="$listLevel"/>
- <xsl:with-param name="listLevelStyle" select="$listLevelStyle"/>
- </xsl:call-template>
- </xsl:if>
- </xsl:variable>
- <xsl:element name="li">
- <xsl:choose>
- <xsl:when test="$isEmptyList">
- <xsl:apply-templates>
- <xsl:with-param name="globalData" select="$globalData"/>
- <xsl:with-param name="itemLabel" select="$itemLabelNew"/>
- <xsl:with-param name="listLevel" select="$listLevel + 1"/>
- <xsl:with-param name="listStyleName" select="$listStyleName"/>
- </xsl:apply-templates>
- </xsl:when>
- <xsl:otherwise>
- <!-- Possible following children are text:h, text:p, list:text, text:soft-page-break -->
- <xsl:apply-templates mode="list-item-children" select="*[1]">
- <xsl:with-param name="globalData" select="$globalData"/>
- <xsl:with-param name="isEmptyList" select="$isEmptyList"/>
- <xsl:with-param name="isNextLevelNumberingReset" select="$isNextLevelNumberingReset"/>
- <!-- The new created label is given to the children -->
- <xsl:with-param name="itemLabel" select="$itemLabelNew"/>
- <xsl:with-param name="listLabelElement">
- <xsl:choose>
- <xsl:when test="name() = 'text:list-header'"/>
- <xsl:otherwise>
- <xsl:variable name="listLabelWidth">
- <xsl:choose>
- <xsl:when test="$minLabelWidth &gt; $minLabelDist">
- <xsl:value-of select="$minLabelWidth"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="$minLabelDist"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <!-- Numbering is being done by this transformation creating a HTML span representing the number label
- The html:span represents the list item/header label (e.g. 1.A.III)
- As the html:span is usually a inline element is formated by CSS as block element to use width upon it,
- to disable the caridge return float:left is used and later neglected -->
- <xsl:element name="span">
- <xsl:if test="$listLevelStyle/@text:style-name">
- <xsl:attribute name="class">
- <xsl:value-of select="$listLevelStyle/@text:style-name"/>
- </xsl:attribute>
- </xsl:if>
- <xsl:attribute name="style">
- <xsl:text>display:block;float:</xsl:text>
- <!-- 2DO: Svante - copy this functionality for other used margin:left (in western country 'left') -->
- <xsl:call-template name="getOppositeWritingDirection">
- <xsl:with-param name="globalData" select="$globalData"/>
- <xsl:with-param name="paraStyleName" select="descendant-or-self::*/@text:style-name"/>
- </xsl:call-template>
- <xsl:text>;min-width:</xsl:text>
- <xsl:value-of select="$listLabelWidth"/>
- <xsl:text>cm</xsl:text>
- </xsl:attribute>
- <xsl:variable name="labelContent">
- <xsl:choose>
- <xsl:when test="text:number">
- <xsl:apply-templates select="text:number" mode="listnumber"/>
- </xsl:when>
- <xsl:when test="name($listLevelStyle) = 'text:list-level-style-bullet'">
- <xsl:value-of select="$listLevelStyle/@style:num-prefix"/>
- <xsl:value-of select="$listLevelStyle/@text:bullet-char"/>
- <xsl:value-of select="$listLevelStyle/@style:num-suffix"/>
- </xsl:when>
- <xsl:when test="name($listLevelStyle) = 'text:list-level-style-number'">
- <xsl:value-of select="$listLevelStyle/@style:num-prefix"/>
- <xsl:value-of select="$itemLabelNew"/>
- <xsl:value-of select="$listLevelStyle/@style:num-suffix"/>
- </xsl:when>
- <xsl:otherwise>
- <!-- Listing with image as bullets, taken from the list style's href -->
- <xsl:value-of select="$listLevelStyle/@xlink:href"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <!-- Some browsers have problem with stand-alone elements (e.g. <span/>)
- Therefore a comment is being inserted into an empty label -->
- <xsl:choose>
- <xsl:when test="$labelContent != ''">
- <xsl:value-of select="$labelContent"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:comment>&#160;</xsl:comment>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:element>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:with-param>
- <xsl:with-param name="listLabelEmptyElement">
- <xsl:variable name="listLabelWidth">
- <xsl:choose>
- <xsl:when test="$minLabelWidth &gt; $minLabelDist">
- <xsl:value-of select="$minLabelWidth"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="$minLabelDist"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <xsl:element name="span">
- <xsl:if test="$listLevelStyle/@text:style-name">
- <xsl:attribute name="class">
- <xsl:value-of select="$listLevelStyle/@text:style-name"/>
- </xsl:attribute>
- </xsl:if>
- <xsl:attribute name="style">
- <xsl:text>display:block;float:</xsl:text>
- <xsl:call-template name="getOppositeWritingDirection">
- <xsl:with-param name="globalData" select="$globalData"/>
- <xsl:with-param name="paraStyleName" select="descendant-or-self::*/@text:style-name"/>
- </xsl:call-template>
- <xsl:text>;min-width:</xsl:text>
- <xsl:value-of select="$listLabelWidth"/>
- <xsl:text>cm</xsl:text>
- </xsl:attribute>
- <xsl:comment>&#160;</xsl:comment>
- </xsl:element>
- </xsl:with-param>
- <xsl:with-param name="listLevel" select="$listLevel + 1"/>
- <xsl:with-param name="listLevelStyle" select="$listLevelStyle"/>
- <xsl:with-param name="listRestart" select="$listRestart"/>
- <xsl:with-param name="listStyle" select="$listStyle"/>
- <xsl:with-param name="listStyleName" select="$listStyleName"/>
- <xsl:with-param name="listIndent" select="$listIndentNew"/>
- <xsl:with-param name="minLabelWidth" select="$minLabelWidth"/>
- </xsl:apply-templates>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:element>
- <xsl:apply-templates select="following-sibling::*[1]" mode="listItemSibling">
- <xsl:with-param name="globalData" select="$globalData"/>
- <xsl:with-param name="isListNumberingReset" select="$isListNumberingReset"/>
- <xsl:with-param name="isNextLevelNumberingReset" select="$isNextLevelNumberingReset"/>
- <xsl:with-param name="itemNumber" select="$itemNumberNew"/>
- <xsl:with-param name="listIndent">
- <xsl:choose>
- <xsl:when test="not($isEmptyList)">
- <xsl:value-of select="$listIndentNew"/>
- </xsl:when>
- </xsl:choose>
- </xsl:with-param>
- <!-- Receives the same parent label -->
- <xsl:with-param name="itemLabel" select="$itemLabel"/>
- <xsl:with-param name="listLevel" select="$listLevel"/>
- <xsl:with-param name="listLevelStyle" select="$listLevelStyle"/>
- <xsl:with-param name="listStyle" select="$listStyle"/>
- <xsl:with-param name="listStyleName" select="$listStyleName"/>
- <xsl:with-param name="minLabelDist" select="$minLabelDist"/>
- <xsl:with-param name="minLabelWidth" select="$minLabelWidth"/>
- </xsl:apply-templates>
- </xsl:template>
-
- <xsl:template name="getOppositeWritingDirection">
- <xsl:param name="globalData"/>
- <xsl:param name="paraStyleName"/>
-
- <xsl:variable name="imageParagraphStyle" select="$globalData/all-styles/style[@style:name = $paraStyleName]/final-properties"/>
-
- <xsl:choose>
- <xsl:when test="contains($imageParagraphStyle, 'writing-mode:')">
- <xsl:choose>
- <xsl:when test="contains(substring-before(substring-after($imageParagraphStyle, 'writing-mode:'), ';'), 'rl')">right</xsl:when>
- <xsl:otherwise>left</xsl:otherwise>
- </xsl:choose>
- </xsl:when>
- <xsl:otherwise>left</xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <xsl:template match="text:number" mode="listnumber">
- <xsl:apply-templates/>
- </xsl:template>
-
- <xsl:template match="text:number" mode="list-item-children">
- <xsl:param name="globalData"/>
- <xsl:param name="listLabelElement"/>
- <xsl:param name="listLabelEmptyElement"/>
- <xsl:param name="isEmptyList"/>
- <xsl:param name="isListNumberingReset"/>
- <xsl:param name="isNextLevelNumberingReset"/>
- <xsl:param name="itemLabel"/>
- <xsl:param name="itemNumber"/>
- <xsl:param name="listIndent"/>
- <xsl:param name="listLevel"/>
- <xsl:param name="listLevelStyle" />
- <xsl:param name="listRestart"/>
- <xsl:param name="listStyle"/>
- <xsl:param name="listStyleName"/>
- <xsl:param name="minLabelWidth"/>
-
- <xsl:apply-templates mode="list-item-children" select="following-sibling::*[1]">
- <xsl:with-param name="globalData" select="$globalData"/>
- <xsl:with-param name="isEmptyList" select="$isEmptyList"/>
- <xsl:with-param name="isNextLevelNumberingReset" select="$isNextLevelNumberingReset"/>
- <xsl:with-param name="itemLabel" select="$itemLabel"/>
- <xsl:with-param name="listLabelElement" select="$listLabelElement"/>
- <xsl:with-param name="listLabelEmptyElement" select="$listLabelEmptyElement"/>
- <xsl:with-param name="listLevel" select="$listLevel"/>
- <xsl:with-param name="listLevelStyle" select="$listLevelStyle"/>
- <xsl:with-param name="listRestart" select="$listRestart"/>
- <xsl:with-param name="listStyle" select="$listStyle"/>
- <xsl:with-param name="listStyleName" select="$listStyleName"/>
- <xsl:with-param name="listIndent" select="$listIndent"/>
- <xsl:with-param name="minLabelWidth" select="$minLabelWidth"/>
- </xsl:apply-templates>
- </xsl:template>
-
- <!-- Each key element holds the set of all text:list-item/text:list-header of a certain level and a certain style -->
- <xsl:key name="getListItemsByLevelAndStyle" use="concat(count(ancestor::text:list), ancestor::text:list/@text:style-name)" match="text:list-item | text:list-header"/>
- <!-- Each key element holds the set of all text:list-item/text:list-header of a certain style -->
- <xsl:key name="getListItemsByStyle" use="ancestor::text:list/@text:style-name" match="text:list-item | text:list-header"/>
-
-
- <!-- The Numbering start value (or offset from regular counteing) is used at the first item of offset,
- but have to be reused on following item/headers with no text:start-value -->
- <xsl:template name="getItemNumber">
- <xsl:param name="listLevel"/>
- <xsl:param name="listLevelStyle"/>
- <xsl:param name="listStyleName"/>
- <xsl:param name="listStyle"/>
-
- <xsl:call-template name="countListItemTillStartValue">
- <xsl:with-param name="listLevel" select="$listLevel"/>
- <xsl:with-param name="listLevelStyle" select="$listLevelStyle"/>
- <xsl:with-param name="listStyleName" select="$listStyleName"/>
- <xsl:with-param name="listStyle" select="$listStyle"/>
- <xsl:with-param name="precedingListItemsOfSameLevelAndStyle" select="preceding::text:list-item[generate-id(key('getListItemsByLevelAndStyle', concat($listLevel, $listStyleName))) = generate-id(key('getListItemsByLevelAndStyle', concat(count(ancestor::text:list), ancestor::text:list/@text:style-name)))]"/>
-
- <xsl:with-param name="precedingListItemsOfSameStyle" select="preceding::text:list-item[generate-id(key('getListItemsByStyle', $listStyleName)) = generate-id(key('getListItemsByStyle', ancestor::text:list/@text:style-name))]"/>
- </xsl:call-template>
- </xsl:template>
-
- <!-- When there is a text:start-value the last have to be found and added to the number -->
- <xsl:template name="countListItemTillStartValue">
- <xsl:param name="IteratorSameLevelAndStyle" select="1"/>
- <xsl:param name="IteratorSameStyle" select="1"/>
- <xsl:param name="itemNumber" select="1"/>
- <xsl:param name="listLevel"/>
- <xsl:param name="listLevelStyle"/>
- <xsl:param name="listStyle"/>
- <xsl:param name="listStyleName"/>
- <xsl:param name="precedingListItemsOfSameLevelAndStyle" />
- <xsl:param name="precedingListItemsOfSameLevelAndStyleCount" select="count($precedingListItemsOfSameLevelAndStyle)"/>
- <xsl:param name="precedingListItemsOfSameStyle" />
- <xsl:param name="precedingListItemsOfSameStyleCount" select="count($precedingListItemsOfSameStyle)"/>
- <!-- E.g.: If a list level 2 number is searched, a level 3 with content found with only a level 1 parent with content,
- the level 3 gets a 'pseudoLevel' -->
- <xsl:param name="pseudoLevel" select="0" />
-
- <!-- set the next of preceding list items. Starting from the current to the next previous text:list-item -->
- <xsl:variable name="precedingListItemOfSameLevelAndStyle" select="$precedingListItemsOfSameLevelAndStyle[$precedingListItemsOfSameLevelAndStyleCount - $IteratorSameLevelAndStyle + 1]"/>
- <xsl:variable name="precedingListItemOfSameStyle" select="$precedingListItemsOfSameStyle[$precedingListItemsOfSameStyleCount - $IteratorSameStyle + 1]"/>
- <xsl:choose>
- <xsl:when test="($precedingListItemOfSameStyle and $precedingListItemOfSameLevelAndStyle) or ($precedingListItemOfSameStyle and $listStyle/text:list-style/@text:consecutive-numbering)">
- <xsl:for-each select="$precedingListItemOfSameStyle">
- <xsl:choose>
- <!-- if it is a higher list level element -->
- <xsl:when test="$listStyle/text:list-style/@text:consecutive-numbering">
-
- <xsl:call-template name="countListItem">
- <xsl:with-param name="IteratorSameLevelAndStyle" select="$IteratorSameLevelAndStyle" />
- <xsl:with-param name="IteratorSameStyle" select="$IteratorSameStyle"/>
- <xsl:with-param name="itemNumber" select="$itemNumber"/>
- <xsl:with-param name="listLevel" select="$listLevel"/>
- <xsl:with-param name="listLevelStyle" select="$listLevelStyle"/>
- <xsl:with-param name="listStyle" select="$listStyle"/>
- <xsl:with-param name="precedingListItemsOfSameLevelAndStyle" select="$precedingListItemsOfSameLevelAndStyle"/>
- <xsl:with-param name="precedingListItemsOfSameLevelAndStyleCount" select="$precedingListItemsOfSameLevelAndStyleCount"/>
- <xsl:with-param name="precedingListItemsOfSameStyle" select="$precedingListItemsOfSameStyle"/>
- <xsl:with-param name="precedingListItemsOfSameStyleCount" select="$precedingListItemsOfSameStyleCount"/>
- <xsl:with-param name="pseudoLevel" select="$pseudoLevel" />
- </xsl:call-template>
- </xsl:when>
- <xsl:otherwise>
- <!-- NOT CONSECUTIVE NUMBERING -->
- <xsl:variable name="currentListLevel" select="count(ancestor::text:list)"/>
- <xsl:choose>
- <!-- IF IT IS A HIGHER LIST LEVEL ELEMENT -->
- <xsl:when test="$currentListLevel &lt; $listLevel">
- <xsl:choose>
- <!-- if it has content the counting is ended -->
- <xsl:when test="*[name() = 'text:h' or name() = 'text:p']">
- <!-- 2DO: Perhaps the children still have to be processed -->
- <xsl:value-of select="$itemNumber + $pseudoLevel"/>
- </xsl:when>
- <xsl:otherwise>
- <!-- if it is empty the counting continues -->
- <xsl:call-template name="countListItemTillStartValue">
- <xsl:with-param name="IteratorSameLevelAndStyle" select="$IteratorSameLevelAndStyle" />
- <xsl:with-param name="IteratorSameStyle" select="$IteratorSameStyle + 1"/>
- <xsl:with-param name="itemNumber" select="$itemNumber"/>
- <xsl:with-param name="listLevel" select="$listLevel"/>
- <xsl:with-param name="listLevelStyle" select="$listLevelStyle"/>
- <xsl:with-param name="listStyle" select="$listStyle"/>
- <xsl:with-param name="precedingListItemsOfSameLevelAndStyle" select="$precedingListItemsOfSameLevelAndStyle"/>
- <xsl:with-param name="precedingListItemsOfSameLevelAndStyleCount" select="$precedingListItemsOfSameLevelAndStyleCount"/>
- <xsl:with-param name="precedingListItemsOfSameStyle" select="$precedingListItemsOfSameStyle"/>
- <xsl:with-param name="precedingListItemsOfSameStyleCount" select="$precedingListItemsOfSameStyleCount"/>
- <xsl:with-param name="pseudoLevel" select="$pseudoLevel" />
- </xsl:call-template>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:when>
- <!-- IF IT IS A LIST LEVEL ELEMENT OF THE COUNTING LEVEL -->
- <xsl:when test="$currentListLevel = $listLevel">
- <xsl:call-template name="countListItem">
- <xsl:with-param name="IteratorSameLevelAndStyle" select="$IteratorSameLevelAndStyle" />
- <xsl:with-param name="IteratorSameStyle" select="$IteratorSameStyle"/>
- <xsl:with-param name="itemNumber" select="$itemNumber"/>
- <xsl:with-param name="listLevel" select="$listLevel"/>
- <xsl:with-param name="listLevelStyle" select="$listLevelStyle"/>
- <xsl:with-param name="listStyle" select="$listStyle"/>
- <xsl:with-param name="precedingListItemsOfSameLevelAndStyle" select="$precedingListItemsOfSameLevelAndStyle"/>
- <xsl:with-param name="precedingListItemsOfSameLevelAndStyleCount" select="$precedingListItemsOfSameLevelAndStyleCount"/>
- <xsl:with-param name="precedingListItemsOfSameStyle" select="$precedingListItemsOfSameStyle"/>
- <xsl:with-param name="precedingListItemsOfSameStyleCount" select="$precedingListItemsOfSameStyleCount"/>
- <xsl:with-param name="pseudoLevel" select="$pseudoLevel" />
- </xsl:call-template>
- </xsl:when>
- <xsl:otherwise>
- <!-- list item below the current level does not count -->
- <xsl:call-template name="countListItemTillStartValue">
- <xsl:with-param name="IteratorSameLevelAndStyle" select="$IteratorSameLevelAndStyle" />
- <xsl:with-param name="IteratorSameStyle" select="$IteratorSameStyle + 1"/>
- <xsl:with-param name="itemNumber" select="$itemNumber"/>
- <xsl:with-param name="listLevel" select="$listLevel"/>
- <xsl:with-param name="listLevelStyle" select="$listLevelStyle"/>
- <xsl:with-param name="listStyle" select="$listStyle"/>
- <xsl:with-param name="listStyleName" select="$listStyleName"/>
- <xsl:with-param name="precedingListItemsOfSameLevelAndStyle" select="$precedingListItemsOfSameLevelAndStyle"/>
- <xsl:with-param name="precedingListItemsOfSameLevelAndStyleCount" select="$precedingListItemsOfSameLevelAndStyleCount"/>
- <xsl:with-param name="precedingListItemsOfSameStyle" select="$precedingListItemsOfSameStyle"/>
- <xsl:with-param name="precedingListItemsOfSameStyleCount" select="$precedingListItemsOfSameStyleCount"/>
- <xsl:with-param name="pseudoLevel">
- <xsl:choose>
- <!-- empty list item does not count -->
- <xsl:when test="not(*[name() = 'text:h' or name() = 'text:p'])">
- <xsl:value-of select="$pseudoLevel"/>
- </xsl:when>
- <xsl:otherwise>1</xsl:otherwise>
- </xsl:choose>
- </xsl:with-param>
- </xsl:call-template>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:for-each>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="$itemNumber"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <xsl:template name="countListItem">
- <xsl:param name="IteratorSameLevelAndStyle"/>
- <xsl:param name="IteratorSameStyle"/>
- <xsl:param name="itemNumber"/>
- <xsl:param name="listLevel"/>
- <xsl:param name="listLevelStyle"/>
- <xsl:param name="listStyle"/>
- <xsl:param name="listStyleName"/>
- <xsl:param name="precedingListItemsOfSameLevelAndStyle"/>
- <xsl:param name="precedingListItemsOfSameLevelAndStyleCount"/>
- <xsl:param name="precedingListItemsOfSameStyle"/>
- <xsl:param name="precedingListItemsOfSameStyleCount"/>
- <xsl:param name="pseudoLevel" />
-
- <xsl:choose>
- <xsl:when test="@text:start-value">
- <xsl:choose>
- <xsl:when test="not(*[name() = 'text:h' or name() = 'text:p'])">
- <!-- empty list item does not count -->
- <xsl:call-template name="countListItemTillStartValue">
- <xsl:with-param name="IteratorSameLevelAndStyle" select="$IteratorSameLevelAndStyle + 1" />
- <xsl:with-param name="IteratorSameStyle" select="$IteratorSameStyle + 1"/>
- <xsl:with-param name="itemNumber" select="$itemNumber"/>
- <xsl:with-param name="listLevel" select="$listLevel"/>
- <xsl:with-param name="listLevelStyle" select="$listLevelStyle"/>
- <xsl:with-param name="listStyle" select="$listStyle"/>
- <xsl:with-param name="precedingListItemsOfSameLevelAndStyle" select="$precedingListItemsOfSameLevelAndStyle"/>
- <xsl:with-param name="precedingListItemsOfSameLevelAndStyleCount" select="$precedingListItemsOfSameLevelAndStyleCount"/>
- <xsl:with-param name="precedingListItemsOfSameStyle" select="$precedingListItemsOfSameStyle"/>
- <xsl:with-param name="precedingListItemsOfSameStyleCount" select="$precedingListItemsOfSameStyleCount"/>
- <xsl:with-param name="pseudoLevel" select="$pseudoLevel" />
- </xsl:call-template>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="$itemNumber + @text:start-value"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:when>
- <xsl:when test="$listLevelStyle/@text:start-value">
- <xsl:choose>
- <xsl:when test="not(*[name() = 'text:h' or name() = 'text:p'])">
- <!-- empty list item does not count -->
- <xsl:call-template name="countListItemTillStartValue">
- <xsl:with-param name="IteratorSameLevelAndStyle" select="$IteratorSameLevelAndStyle + 1" />
- <xsl:with-param name="IteratorSameStyle" select="$IteratorSameStyle + 1"/>
- <xsl:with-param name="itemNumber" select="$itemNumber"/>
- <xsl:with-param name="listLevel" select="$listLevel"/>
- <xsl:with-param name="listLevelStyle" select="$listLevelStyle"/>
- <xsl:with-param name="listStyle" select="$listStyle"/>
- <xsl:with-param name="precedingListItemsOfSameLevelAndStyle" select="$precedingListItemsOfSameLevelAndStyle"/>
- <xsl:with-param name="precedingListItemsOfSameLevelAndStyleCount" select="$precedingListItemsOfSameLevelAndStyleCount"/>
- <xsl:with-param name="precedingListItemsOfSameStyle" select="$precedingListItemsOfSameStyle"/>
- <xsl:with-param name="precedingListItemsOfSameStyleCount" select="$precedingListItemsOfSameStyleCount"/>
- <xsl:with-param name="pseudoLevel" select="$pseudoLevel" />
- </xsl:call-template>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="$itemNumber + $listLevelStyle/@text:start-value"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:when>
- <xsl:otherwise>
- <xsl:choose>
- <xsl:when test="not(*[name() = 'text:h' or name() = 'text:p'])">
- <!-- empty list item does not count -->
- <xsl:call-template name="countListItemTillStartValue">
- <xsl:with-param name="IteratorSameLevelAndStyle" select="$IteratorSameLevelAndStyle + 1" />
- <xsl:with-param name="IteratorSameStyle" select="$IteratorSameStyle + 1"/>
- <xsl:with-param name="itemNumber" select="$itemNumber"/>
- <xsl:with-param name="listLevel" select="$listLevel"/>
- <xsl:with-param name="listLevelStyle" select="$listLevelStyle"/>
- <xsl:with-param name="listStyle" select="$listStyle"/>
- <xsl:with-param name="precedingListItemsOfSameLevelAndStyle" select="$precedingListItemsOfSameLevelAndStyle"/>
- <xsl:with-param name="precedingListItemsOfSameLevelAndStyleCount" select="$precedingListItemsOfSameLevelAndStyleCount"/>
- <xsl:with-param name="precedingListItemsOfSameStyle" select="$precedingListItemsOfSameStyle"/>
- <xsl:with-param name="precedingListItemsOfSameStyleCount" select="$precedingListItemsOfSameStyleCount"/>
- <xsl:with-param name="pseudoLevel" select="$pseudoLevel" />
- </xsl:call-template>
- </xsl:when>
- <xsl:otherwise>
- <!-- count on till you find a start-value or the end is reached -->
- <xsl:call-template name="countListItemTillStartValue">
- <xsl:with-param name="IteratorSameLevelAndStyle" select="$IteratorSameLevelAndStyle + 1" />
- <xsl:with-param name="IteratorSameStyle" select="$IteratorSameStyle + 1"/>
- <xsl:with-param name="itemNumber" select="$itemNumber + 1"/>
- <xsl:with-param name="listLevel" select="$listLevel"/>
- <xsl:with-param name="listLevelStyle" select="$listLevelStyle"/>
- <xsl:with-param name="listStyle" select="$listStyle"/>
- <xsl:with-param name="precedingListItemsOfSameLevelAndStyle" select="$precedingListItemsOfSameLevelAndStyle"/>
- <xsl:with-param name="precedingListItemsOfSameLevelAndStyleCount" select="$precedingListItemsOfSameLevelAndStyleCount"/>
- <xsl:with-param name="precedingListItemsOfSameStyle" select="$precedingListItemsOfSameStyle"/>
- <xsl:with-param name="precedingListItemsOfSameStyleCount" select="$precedingListItemsOfSameStyleCount"/>
- <xsl:with-param name="pseudoLevel" select="0" />
- </xsl:call-template>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
-
- <!-- Creates the list label containing the number, which is separated by '.' between the levels.
- Depending on the levels to display (listLevelsToDisplay) -->
- <xsl:template name="createItemLabel">
- <xsl:param name="itemLabel" select="''"/>
- <xsl:param name="itemNumber" />
- <xsl:param name="listLevel" />
- <xsl:param name="listLevelStyle" />
- <xsl:param name="listLevelsToDisplay" />
-
- <xsl:choose>
- <xsl:when test="$listLevelsToDisplay &lt; $listLevel">
- <xsl:call-template name="truncLabel">
- <xsl:with-param name="itemLabel" select="$itemLabel"/>
- <xsl:with-param name="itemNumber" select="$itemNumber" />
- <xsl:with-param name="listLevel" select="$listLevel"/>
- <xsl:with-param name="listLevelStyle" select="$listLevelStyle" />
- <xsl:with-param name="listLevelsToDisplay" select="$listLevelsToDisplay"/>
- </xsl:call-template>
- </xsl:when>
- <xsl:otherwise>
- <xsl:variable name="numberedSymbol">
- <xsl:comment>&#160;</xsl:comment>
- <!-- only give out a number when number format is not empty -->
- <xsl:if test="$listLevelStyle/@style:num-format != ''">
- <xsl:number value="$itemNumber" format="{$listLevelStyle/@style:num-format}"/>
- </xsl:if>
- </xsl:variable>
- <xsl:choose>
- <xsl:when test="$listLevelsToDisplay != 1">
- <xsl:value-of select="concat($itemLabel, '.' , $numberedSymbol)"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="$numberedSymbol"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <xsl:template name="truncLabel">
- <xsl:param name="itemLabel" />
- <xsl:param name="itemNumber" />
- <xsl:param name="listLevel" />
- <xsl:param name="listLevelStyle" />
- <xsl:param name="listLevelsToDisplay" />
- <xsl:param name="listStyle" />
- <xsl:param name="listStyleName" />
-
- <xsl:call-template name="createItemLabel">
- <xsl:with-param name="itemLabel">
- <xsl:if test="contains($itemLabel, '.')">
- <xsl:value-of select="substring-after($itemLabel, '.')"/>
- </xsl:if>
- </xsl:with-param>
- <xsl:with-param name="itemNumber" select="$itemNumber"/>
- <xsl:with-param name="listLevel" select="$listLevel - 1"/>
- <xsl:with-param name="listLevelStyle" select="$listLevelStyle"/>
- <xsl:with-param name="listLevelsToDisplay" select="$listLevelsToDisplay"/>
- </xsl:call-template>
- </xsl:template>
-
-
- <xsl:template match="text:p" mode="list-item-children">
- <xsl:param name="globalData"/>
- <xsl:param name="listLabelElement"/>
- <xsl:param name="listLabelEmptyElement"/>
- <xsl:param name="isEmptyList"/>
- <xsl:param name="isListNumberingReset"/>
- <xsl:param name="isNextLevelNumberingReset"/>
- <xsl:param name="itemLabel"/>
- <xsl:param name="itemNumber"/>
- <xsl:param name="listIndent"/>
- <xsl:param name="listLevel"/>
- <xsl:param name="listRestart"/>
- <xsl:param name="listStyle"/>
- <xsl:param name="listStyleName"/>
- <xsl:param name="minLabelWidth"/>
-
- <!-- 2DO page alignment fix - PART1 -->
-
- <!-- xhtml:p may only contain inline elements.
- If there is one frame beyond, div must be used! -->
- <xsl:variable name="elementName">
- <xsl:choose>
- <xsl:when test="descendant::draw:frame[1] or descendant::text:p[1]">div</xsl:when>
- <xsl:otherwise>p</xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <xsl:element name="{$elementName}">
- <xsl:call-template name="create-list-style">
- <xsl:with-param name="globalData" select="$globalData"/>
- <xsl:with-param name="listIndent" select="$listIndent"/>
- <xsl:with-param name="styleName" select="@text:style-name"/>
- </xsl:call-template>
- <xsl:choose>
- <xsl:when test="$listLabelElement">
- <xsl:copy-of select="$listLabelElement"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:copy-of select="$listLabelEmptyElement"/>
- </xsl:otherwise>
- </xsl:choose>
- <xsl:apply-templates>
- <xsl:with-param name="globalData" select="$globalData"/>
- <xsl:with-param name="listIndent" select="$minLabelWidth"/>
- </xsl:apply-templates>
- <!-- this span disables the float necessary to bring two block elements on one line. It contains a space as IE6 bug workaround -->
- <span class="odfLiEnd"></span>
- <xsl:text>&#160;</xsl:text>
- </xsl:element>
-
- <xsl:apply-templates mode="list-item-children" select="following-sibling::*[1]">
- <xsl:with-param name="globalData" select="$globalData"/>
- <xsl:with-param name="isEmptyList" select="$isEmptyList"/>
- <xsl:with-param name="isListNumberingReset" select="$isListNumberingReset"/>
- <xsl:with-param name="isNextLevelNumberingReset" select="$isNextLevelNumberingReset"/>
- <xsl:with-param name="itemLabel" select="$itemLabel"/>
- <xsl:with-param name="itemNumber" select="$itemNumber"/>
- <xsl:with-param name="listLabelEmptyElement" select="$listLabelEmptyElement"/>
- <xsl:with-param name="listLevel" select="$listLevel"/>
- <xsl:with-param name="listRestart" select="$listRestart"/>
- <xsl:with-param name="listStyle" select="$listStyle"/>
- <xsl:with-param name="listStyleName" select="$listStyleName"/>
- <xsl:with-param name="listIndent" select="$listIndent"/>
- <xsl:with-param name="minLabelWidth" select="$minLabelWidth"/>
- </xsl:apply-templates>
- </xsl:template>
-
-
- <!-- Neglecting the left margin behavior for headings for now -->
- <xsl:template match="text:h" mode="list-item-children">
- <xsl:param name="globalData"/>
- <xsl:param name="listLabelElement"/>
- <xsl:param name="listLabelEmptyElement"/>
- <xsl:param name="isEmptyList"/>
- <xsl:param name="isListNumberingReset"/>
- <xsl:param name="isNextLevelNumberingReset"/>
- <xsl:param name="itemLabel"/>
- <xsl:param name="itemNumber"/>
- <xsl:param name="listIndent"/>
- <xsl:param name="listLevel"/>
- <xsl:param name="listRestart"/>
- <xsl:param name="listStyle"/>
- <xsl:param name="listStyleName"/>
- <xsl:param name="minLabelWidth"/>
-
- <xsl:element name="h">
- <xsl:call-template name="create-list-style">
- <xsl:with-param name="globalData" select="$globalData"/>
- <xsl:with-param name="listIndent" select="$listIndent"/>
- <xsl:with-param name="styleName" select="@text:style-name"/>
- </xsl:call-template>
- <xsl:variable name="title">
- <xsl:apply-templates mode="concatenate"/>
- </xsl:variable>
- <xsl:choose>
- <xsl:when test="$listLabelElement">
- <xsl:copy-of select="$listLabelElement"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:copy-of select="$listLabelEmptyElement"/>
- </xsl:otherwise>
- </xsl:choose>
-
- <!-- REFERENCE HANDLING - ANCHOR -->
- <xsl:element namespace="{$namespace}" name="a">
- <xsl:attribute name="id">
- <xsl:value-of select="translate(concat('a_',$listLabelElement, '_', normalize-space($title)), '&#xA;&amp;&lt;&gt;.,;: %()[]/\+', '___________________________')"/>
- </xsl:attribute>
- <xsl:apply-templates>
- <xsl:with-param name="globalData" select="$globalData"/>
- <xsl:with-param name="listIndent" select="$minLabelWidth"/>
- </xsl:apply-templates>
- </xsl:element>
-
- <!-- this span disables the float necessary to bring two block elements on one line. It contains a space as IE6 bug workaround -->
- <span class="odfLiEnd"></span>
- <xsl:text>&#160;</xsl:text>
- </xsl:element>
-
- <xsl:apply-templates mode="list-item-children" select="following-sibling::*[1]">
- <xsl:with-param name="globalData" select="$globalData"/>
- <xsl:with-param name="isEmptyList" select="$isEmptyList"/>
- <xsl:with-param name="isListNumberingReset" select="$isListNumberingReset"/>
- <xsl:with-param name="isNextLevelNumberingReset" select="$isNextLevelNumberingReset"/>
- <xsl:with-param name="itemLabel" select="$itemLabel"/>
- <xsl:with-param name="itemNumber" select="$itemNumber"/>
- <xsl:with-param name="listLabelEmptyElement" select="$listLabelEmptyElement"/>
- <xsl:with-param name="listLevel" select="$listLevel"/>
- <xsl:with-param name="listRestart" select="$listRestart"/>
- <xsl:with-param name="listStyle" select="$listStyle"/>
- <xsl:with-param name="listStyleName" select="$listStyleName"/>
- <xsl:with-param name="listIndent" select="$listIndent"/>
- <xsl:with-param name="minLabelWidth" select="$minLabelWidth"/>
- </xsl:apply-templates>
- </xsl:template>
-
-
- <xsl:template match="*" mode="list-item-children">
- <xsl:param name="globalData"/>
- <xsl:param name="isEmptyList"/>
- <xsl:param name="listLabelEmptyElement"/>
- <xsl:param name="isListNumberingReset"/>
- <xsl:param name="isNextLevelNumberingReset"/>
- <xsl:param name="itemLabel"/>
- <xsl:param name="itemNumber"/>
- <xsl:param name="listIndent"/>
- <xsl:param name="listLevel"/>
- <xsl:param name="listRestart"/>
- <xsl:param name="listStyle"/>
- <xsl:param name="listStyleName"/>
- <xsl:param name="minLabelWidth"/>
-
- <xsl:apply-templates select="self::*">
- <xsl:with-param name="globalData" select="$globalData"/>
- <xsl:with-param name="isEmptyList" select="$isEmptyList"/>
- <xsl:with-param name="isListNumberingReset" select="$isListNumberingReset"/>
- <xsl:with-param name="isNextLevelNumberingReset" select="$isNextLevelNumberingReset"/>
- <xsl:with-param name="listLabelEmptyElement" select="$listLabelEmptyElement"/>
- <xsl:with-param name="itemLabel" select="$itemLabel"/>
- <xsl:with-param name="itemNumber" select="$itemNumber"/>
- <xsl:with-param name="listIndent" select="$listIndent"/>
- <xsl:with-param name="listLevel" select="$listLevel"/>
- <xsl:with-param name="listRestart" select="$listRestart"/>
- <xsl:with-param name="listStyle" select="$listStyle"/>
- <xsl:with-param name="listStyleName" select="$listStyleName"/>
- </xsl:apply-templates>
-
- <xsl:apply-templates mode="list-item-children" select="following-sibling::*[1]">
- <xsl:with-param name="globalData" select="$globalData"/>
- <xsl:with-param name="isEmptyList" select="$isEmptyList"/>
- <xsl:with-param name="isListNumberingReset" select="$isListNumberingReset"/>
- <xsl:with-param name="isNextLevelNumberingReset" select="$isNextLevelNumberingReset"/>
- <xsl:with-param name="itemLabel" select="$itemLabel"/>
- <xsl:with-param name="itemNumber" select="$itemNumber"/>
- <xsl:with-param name="listLabelEmptyElement" select="$listLabelEmptyElement"/>
- <xsl:with-param name="listLevel" select="$listLevel"/>
- <xsl:with-param name="listRestart" select="$listRestart"/>
- <xsl:with-param name="listStyle" select="$listStyle"/>
- <xsl:with-param name="listStyleName" select="$listStyleName"/>
- <xsl:with-param name="listIndent" select="$listIndent"/>
- <xsl:with-param name="minLabelWidth" select="$minLabelWidth"/>
- </xsl:apply-templates>
- </xsl:template>
-
- <xsl:template match="*" mode="listItemSibling">
- <xsl:param name="globalData"/>
- <xsl:param name="isEmptyList"/>
- <xsl:param name="isListNumberingReset"/>
- <xsl:param name="isNextLevelNumberingReset"/>
- <xsl:param name="itemLabel"/>
- <xsl:param name="itemNumber"/>
- <xsl:param name="listIndent"/>
- <xsl:param name="listLevel"/>
- <xsl:param name="listRestart"/>
- <xsl:param name="listStyle"/>
- <xsl:param name="listStyleName"/>
-
- <xsl:apply-templates select="self::*">
- <xsl:with-param name="globalData" select="$globalData"/>
- <xsl:with-param name="isEmptyList" select="$isEmptyList"/>
- <xsl:with-param name="isListNumberingReset" select="$isListNumberingReset"/>
- <xsl:with-param name="isNextLevelNumberingReset" select="$isNextLevelNumberingReset"/>
- <xsl:with-param name="itemNumber" select="$itemNumber"/>
- <xsl:with-param name="listIndent" select="$listIndent"/>
- <!-- receives the same parent label, only with a different itemNumber -->
- <xsl:with-param name="itemLabel" select="$itemLabel"/>
- <xsl:with-param name="listLevel" select="$listLevel"/>
- <xsl:with-param name="listStyle" select="$listStyle"/>
- <xsl:with-param name="listStyleName" select="$listStyleName"/>
- </xsl:apply-templates>
- <xsl:apply-templates select="following-sibling::*[1]" mode="listItemSibling">
- <xsl:with-param name="globalData" select="$globalData"/>
- <xsl:with-param name="isEmptyList" select="$isEmptyList"/>
- <xsl:with-param name="isListNumberingReset" select="$isListNumberingReset"/>
- <xsl:with-param name="isNextLevelNumberingReset" select="$isNextLevelNumberingReset"/>
- <xsl:with-param name="itemNumber" select="$itemNumber"/>
- <xsl:with-param name="listIndent" select="$listIndent"/>
- <!-- receives the same parent label, only with a different itemNumber -->
- <xsl:with-param name="itemLabel" select="$itemLabel"/>
- <xsl:with-param name="listLevel" select="$listLevel"/>
- <xsl:with-param name="listStyle" select="$listStyle"/>
- <xsl:with-param name="listStyleName" select="$listStyleName"/>
- </xsl:apply-templates>
- </xsl:template>
-
- <xsl:template match="text()" mode="list-item-children">
- <xsl:value-of select="."/>
- </xsl:template>
-
-
- <xsl:template name="create-list-style">
- <xsl:param name="globalData"/>
- <xsl:param name="listIndent" select="0"/>
- <xsl:param name="styleName"/>
-
- <xsl:if test="$styleName">
- <xsl:attribute name="class">
- <xsl:value-of select="translate($styleName, '.,;: %()[]/\+', '_____________')"/>
- </xsl:attribute>
- </xsl:if>
- <xsl:attribute name="style">
- <xsl:text>margin-</xsl:text>
- <xsl:call-template name="getOppositeWritingDirection">
- <xsl:with-param name="globalData" select="$globalData"/>
- <xsl:with-param name="paraStyleName" select="descendant-or-self::*/@text:style-name"/>
- </xsl:call-template>
- <xsl:text>:</xsl:text>
- <xsl:value-of select="$listIndent"/>
- <xsl:text>cm;</xsl:text>
- </xsl:attribute>
- </xsl:template>
-
-
- <!-- ********************************************** -->
- <!-- *** Text Section (contains: draw:text-box) *** -->
- <!-- ********************************************** -->
-
- <xsl:template match="text:section">
- <xsl:param name="globalData"/>
-
- <xsl:if test="not(contains(@text:display, 'none'))">
- <xsl:comment>Next 'div' was a 'text:section'.</xsl:comment>
- <xsl:element name="div">
- <xsl:call-template name="apply-styles-and-content">
- <xsl:with-param name="globalData" select="$globalData"/>
- </xsl:call-template>
- </xsl:element>
- </xsl:if>
- </xsl:template>
-
-
- <!-- Hidden text dependend on Office variables:
- The text is not shown, if condition is 'true'.
- Implemented solely for conditons as '<VARIABLE>==0' or '<VARIABLE>==1'
- -->
- <xsl:key match="text:variable-set" name="varSet" use="@text:name"/>
- <xsl:template match="text:hidden-text">
- <xsl:param name="globalData"/>
-
- <xsl:variable name="varName" select="substring-before(@text:condition, '==')"/>
- <xsl:variable name="varValue" select="substring-after(@text:condition, '==')"/>
- <xsl:choose>
- <xsl:when test="key('varSet', $varName)/@text:value != $varValue">
- <xsl:value-of select="@text:string-value"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:comment>
- <xsl:value-of select="$varName"/>
- <xsl:value-of select="@text:string-value"/>
- <xsl:value-of select="$varName"/>
- </xsl:comment>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <xsl:template match="@text:style-name | @draw:style-name | @draw:text-style-name | @table:style-name"><!-- | @presentation:style-name-->
- <xsl:param name="globalData"/>
-
- <xsl:attribute name="class">
- <xsl:value-of select="translate(., '.,;: %()[]/\+', '_____________')"/>
- </xsl:attribute>
- </xsl:template>
-
-
- <!-- ***************** -->
- <!-- *** Footnotes *** -->
- <!-- ***************** -->
-
- <xsl:template match="text:note">
- <xsl:param name="globalData"/>
-
- <!-- get style configuration -->
- <xsl:variable name="footnoteConfig" select="$globalData/office:styles/text:notes-configuration[@text:note-class=current()/@text:note-class]" />
-
- <xsl:variable name="titlePrefix">
- <xsl:choose>
- <xsl:when test="@text:note-class = 'footnote'">
- <xsl:text>Footnote: </xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>Endnote: </xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
-
- <!-- write anchor -->
- <xsl:element name="span">
- <xsl:attribute name="class">
- <xsl:value-of select="$footnoteConfig/@text:citation-body-style-name"/>
- </xsl:attribute>
- <xsl:attribute name="title">
- <xsl:value-of select="$titlePrefix"/>
- <xsl:apply-templates mode="textOnly" select="text:note-body"/>
- </xsl:attribute>
- <xsl:element name="a">
- <xsl:attribute name="href">
- <xsl:value-of select="concat('#', @text:id)"/>
- </xsl:attribute>
- <xsl:attribute name="id">
- <xsl:value-of select="concat('body_', @text:id)"/>
- </xsl:attribute>
- <xsl:apply-templates mode="textOnly" select="text:note-citation"/>
- </xsl:element>
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="*" mode="textOnly">
- <xsl:apply-templates select="* | text()" mode="textOnly" />
- </xsl:template>
-
- <xsl:template match="text()" mode="textOnly">
- <xsl:value-of select="."/>
- </xsl:template>
-
- <!-- Useful in case of 'style:map', conditional formatting, where a style references to another -->
- <xsl:key name="textNotes" match="text:note" use="@text:note-class"/>
-
- <!-- writing the footer- and endnotes beyond the body -->
- <xsl:template name="write-text-nodes">
- <xsl:param name="globalData"/>
-
- <!-- write footnote body -->
- <xsl:for-each select="key('textNotes', 'footnote')">
- <xsl:call-template name="write-text-node">
- <xsl:with-param name="globalData" select="$globalData"/>
- <xsl:with-param name="footnoteConfig" select="$globalData/office:styles/text:notes-configuration[@text:note-class=current()/@text:note-class]" />
- </xsl:call-template>
- </xsl:for-each>
-
- <!-- write endnote body -->
- <xsl:for-each select="key('textNotes', 'endnote')">
- <xsl:call-template name="write-text-node">
-
- <xsl:with-param name="globalData" select="$globalData"/>
- <xsl:with-param name="footnoteConfig" select="$globalData/office:styles/text:notes-configuration[@text:note-class=current()/@text:note-class]" />
- </xsl:call-template>
- </xsl:for-each>
- </xsl:template>
-
- <xsl:template name="write-text-node">
- <xsl:param name="globalData"/>
- <xsl:param name="footnoteConfig"/>
-
- <xsl:apply-templates select="text:note-body/*[1]">
- <xsl:with-param name="globalData" select="$globalData" />
- <xsl:with-param name="footnotePrefix">
- <xsl:element name="span">
- <xsl:attribute name="class">footnodeNumber</xsl:attribute>
- <xsl:element name="a">
- <xsl:attribute name="class">
- <xsl:value-of select="$footnoteConfig/@text:citation-style-name"/>
- </xsl:attribute>
- <xsl:attribute name="id">
- <xsl:value-of select="@text:id"/>
- </xsl:attribute>
- <xsl:attribute name="href">
- <xsl:value-of select="concat('#body_', @text:id)"/>
- </xsl:attribute>
- <xsl:apply-templates mode="textOnly" select="text:note-citation"/>
- </xsl:element>
- </xsl:element>
- </xsl:with-param>
- </xsl:apply-templates>
- <xsl:apply-templates select="text:note-body/*[position()&gt;1]">
- <xsl:with-param name="globalData" select="$globalData" />
- </xsl:apply-templates>
- </xsl:template>
-
- <!-- DISABLING this tab handling as the tab width is only relative
- <xsl:template match="text:tab">
- <xsl:param name="globalData"/>
-
- <xsl:variable name="tabNo">
- <xsl:choose>
- <xsl:when test="preceding-sibling::text:line-break">
- <xsl:call-template name="countTextTab"/>
- </xsl:when>
- <xsl:when test="preceding-sibling::text:tab">
- <xsl:value-of select="count(preceding-sibling::text:tab)"/>
- </xsl:when>
- <xsl:otherwise>1</xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
-
- <xsl:element name="span">
- <xsl:attribute name="style">margin-left:<xsl:value-of select="$globalData/all-doc-styles/style[@style:name = current()/parent::*/@text:style-name]/*/style:tab-stops/style:tab-stop[$tabNo]/@style:position"/>;</xsl:attribute>
- </xsl:element>
- </xsl:template>
-
- <xsl:template name="countTextTab">
- <xsl:param name="tabCount" select="1"/>
- <xsl:param name="context" select="."/>
-
- <xsl:choose>
- <xsl:when test="preceding-sibling::*[1]">
- <xsl:for-each select="preceding-sibling::*[1]">
- <xsl:call-template name="countTextTab">
- <xsl:with-param name="tabCout">
- <xsl:choose>
- <xsl:when test="name(.) = 'text:tab'">
- <xsl:value-of select="$tabCount + 1"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="$tabCount"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:with-param>
- <xsl:with-param name="context" select="preceding-sibling::*[1]" />
- </xsl:call-template>
- </xsl:for-each>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="$tabCount"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
--->
- <!-- MathML -->
- <xsl:template match="draw:object[math:math]">
- <math xmlns="http://www.w3.org/1998/Math/MathML">
- <xsl:apply-templates select="math:math/math:semantics/*" mode="math"/>
- </math>
- </xsl:template>
-
- <xsl:template match="*" mode="math">
- <xsl:element name="{local-name()}" namespace="http://www.w3.org/1998/Math/MathML">
- <xsl:apply-templates select="@*|node()" mode="math"/>
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="@*" mode="math">
- <xsl:attribute name="{local-name()}">
- <xsl:value-of select="."/>
- </xsl:attribute>
- </xsl:template>
-
- <xsl:template match="math:annotation" mode="math"/>
-
-
+-->
+<!--
+ For further documentation and updates visit http://xml.openoffice.org/odf2xhtml
+-->
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dom="http://www.w3.org/2001/xml-events" xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" xmlns:math="http://www.w3.org/1998/Math/MathML" xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:ooo="http://openoffice.org/2004/office" xmlns:oooc="http://openoffice.org/2004/calc" xmlns:ooow="http://openoffice.org/2004/writer" xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" xmlns:xforms="http://www.w3.org/2002/xforms" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xt="http://www.jclark.com/xt" xmlns:common="http://exslt.org/common" xmlns:xalan="http://xml.apache.org/xalan" exclude-result-prefixes="chart config dc dom dr3d draw fo form math meta number office ooo oooc ooow script style svg table text xforms xlink xsd xsi xt common xalan" xmlns="http://www.w3.org/1999/xhtml">
+
+
+ <!--+++++ INCLUDED XSL MODULES +++++-->
+
+ <!-- helper collection, to convert measures (e.g. inch to pixel using DPI (dots per inch) parameter)-->
+ <xsl:import href="../../common/measure_conversion.xsl"/>
+
+ <!-- common office body element handling -->
+ <xsl:import href="../common/body.xsl"/>
+
+ <!-- common table handling -->
+ <xsl:import href="../common/table/table.xsl"/>
+
+ <!-- xhtml table handling -->
+ <xsl:include href="table.xsl"/>
+
+ <!-- Useful in case of 'style:map', conditional formatting, where a style references to another -->
+ <xsl:key name="styles" match="/*/office:styles/style:style | /*/office:automatic-styles/style:style" use="@style:name"/>
+
+
+ <!-- ************ -->
+ <!-- *** body *** -->
+ <!-- ************ -->
+
+ <xsl:key match="style:style/@style:master-page-name" name="masterPage" use="'count'"/>
+ <xsl:key match="style:master-page" name="masterPageElements" use="@style:name"/>
+ <xsl:key match="style:page-layout" name="pageLayoutElements" use="@style:name"/>
+ <xsl:key name="writingModeStyles" match="/*/office:styles/style:style/style:paragraph-properties/@style:writing-mode | /*/office:automatic-styles/style:style/style:paragraph-properties/@style:writing-mode" use="'test'"/>
+ <xsl:template name="create-body">
+ <xsl:param name="globalData"/>
+
+ <!-- approximation to find the correct master page style (with page dimensions) -->
+ <xsl:variable name="masterPageNames">
+ <!-- Loop over every style:style containing a @style:master-page-name attribute -->
+ <xsl:for-each select="key('masterPage','count')">
+ <!-- Check if this style is being used in the body -->
+ <xsl:if test="key('elementUsingStyle', ../@style:name)">
+ <!-- Check every master-page-name if it is not emtpy and return as ';' separated list -->
+ <xsl:if test="string-length(../@style:master-page-name) &gt; 0">
+ <xsl:value-of select="../@style:master-page-name"/>;</xsl:if>
+ </xsl:if>
+ </xsl:for-each>
+ </xsl:variable>
+
+ <!-- Take the first of the masterpage list and get the according style:master-page element and find the @style:page-layout-name -->
+ <xsl:variable name="pageLayoutName" select="key('masterPageElements', substring-before($masterPageNames,';'))/@style:page-layout-name"/>
+ <xsl:variable name="pageProperties">
+ <xsl:choose>
+ <xsl:when test="not($pageLayoutName) or $pageLayoutName = ''">
+ <xsl:copy-of select="$globalData/styles-file/*/office:automatic-styles/style:page-layout[1]/style:page-layout-properties"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <!-- Find the according style:page-layout and store the properties in a variable -->
+ <xsl:copy-of select="key('pageLayoutElements', $pageLayoutName)/style:page-layout-properties"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+ <xsl:element name="body">
+ <!-- direction of text flow -->
+ <xsl:variable name="writingMode" select="$pageProperties/style:page-layout-properties/@style:writing-mode"/>
+ <xsl:choose>
+ <xsl:when test="$writingMode">
+ <xsl:choose>
+ <xsl:when test="contains($writingMode, 'lr')">
+ <xsl:attribute name="dir">ltr</xsl:attribute>
+ </xsl:when>
+ <xsl:when test="contains($writingMode, 'rl')">
+ <xsl:attribute name="dir">rtl</xsl:attribute>
+ </xsl:when>
+ </xsl:choose>
+ </xsl:when>
+ <xsl:otherwise>
+ <!-- As CSS writing-mode is not implemented by all browsers, a heuristic is done -->
+ <xsl:variable name="writingMode" select="key('writingModeStyles', 'test')"/>
+ <xsl:if test="contains($writingMode, 'rl')">
+ <xsl:attribute name="dir">rtl</xsl:attribute>
+ </xsl:if>
+ </xsl:otherwise>
+ </xsl:choose>
+ <!-- adapt page size -->
+ <xsl:variable name="pageWidth" select="$pageProperties/style:page-layout-properties/@fo:page-width"/>
+
+ <!-- multiple backgroundimages for different page styles (never used in html) -->
+ <xsl:variable name="backgroundImage" select="$pageProperties/style:page-layout-properties/style:background-image"/>
+ <!-- page margins & background image -->
+ <xsl:if test="$pageWidth or $pageProperties/style:page-layout-properties/@fo:* or $backgroundImage/@xlink:href">
+ <xsl:attribute name="style">
+ <xsl:if test="$pageWidth">
+ <xsl:text>max-width:</xsl:text>
+ <xsl:value-of select="$pageWidth"/>
+ <xsl:text>;</xsl:text>
+ </xsl:if>
+ <xsl:if test="$pageProperties/style:page-layout-properties/@fo:* or $backgroundImage/@xlink:href">
+ <xsl:apply-templates select="$pageProperties/style:page-layout-properties/@fo:*"/>
+ <xsl:if test="$backgroundImage/@xlink:href">
+ <xsl:text>background-image:url(</xsl:text>
+ <xsl:call-template name="create-href">
+ <xsl:with-param name="href" select="$backgroundImage/@xlink:href"/>
+ </xsl:call-template>
+ <xsl:text>);</xsl:text>
+
+ <xsl:if test="$backgroundImage/@style:repeat">
+ <xsl:choose>
+ <xsl:when test="$backgroundImage/@style:repeat = 'no-repeat'">
+ <xsl:text>background-repeat:no-repeat;</xsl:text>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text>background-repeat:repeat;</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:if>
+ <xsl:if test="$backgroundImage/@style:position">
+ <xsl:text>background-position:</xsl:text>
+ <xsl:value-of select="$backgroundImage/@style:position"/>
+ <xsl:text>;</xsl:text>
+ </xsl:if>
+ </xsl:if>
+ </xsl:if>
+ </xsl:attribute>
+ </xsl:if>
+ <!-- processing the content of the OpenDocument content file -->
+ <xsl:apply-templates select="/*/office:body/*">
+ <xsl:with-param name="globalData" select="$globalData"/>
+ </xsl:apply-templates>
+
+ </xsl:element>
+ </xsl:template>
+
+ <!-- processing the content of the OpenDocument content file -->
+ <xsl:template match="office:body/*">
+ <xsl:param name="globalData"/>
+
+ <!-- not using of 'apply-styles-and-content' as the content table information migth have been added to 'globalData' variable -->
+ <xsl:apply-templates select="@text:style-name | @draw:style-name | @draw:text-style-name | @table:style-name"><!-- | @presentation:style-name -->
+ <xsl:with-param name="globalData" select="$globalData"/>
+ </xsl:apply-templates>
+
+ <xsl:apply-templates>
+ <xsl:with-param name="globalData" select="$globalData"/>
+ </xsl:apply-templates>
+
+ <!-- writing the footer- and endnotes beyond the body -->
+ <xsl:call-template name="write-text-nodes">
+ <xsl:with-param name="globalData" select="$globalData"/>
+ </xsl:call-template>
+ </xsl:template>
+
+ <!-- ******************************* -->
+ <!-- *** User Field Declarations *** -->
+ <!-- ******************************* -->
+
+ <xsl:template match="text:user-field-get | text:user-field-input">
+ <xsl:param name="globalData"/>
+
+ <xsl:value-of select="."/>
+ </xsl:template>
+
+ <xsl:template match="text:conditional-text">
+ <xsl:param name="globalData"/>
+
+ <xsl:value-of select="."/>
+ </xsl:template>
+
+ <!-- ODF text fields -->
+ <xsl:template match="text:author-initials | text:author-name | text:chapter | text:character-count | text:creation-date | text:creation-time | text:creator | text:date | text:description | text:editing-cycles | text:editing-duration | text:file-name | text:image-count | text:initial-creator | text:keywords | text:modification-date | text:modification-time | text:object-count | text:page-continuation | text:page-count | text:page-number | text:paragraph-count | text:print-date | text:print-time | text:printed-by | text:sender-city | text:sender-company | text:sender-country | text:sender-email | text:sender-fax | text:sender-firstname | text:sender-initials | text:sender-lastname | text:sender-phone-private | text:sender-phone-work | text:sender-position | text:sender-postal-code | text:sender-state-or-province | text:sender-street | text:sender-title | text:sheet-name | text:subject | text:table-count | text:time | text:title | text:user-defined | text:word-count">
+ <xsl:param name="globalData"/>
+
+ <xsl:element name="span">
+ <xsl:attribute name="title">
+ <xsl:value-of select="local-name()"/>
+ </xsl:attribute>
+ <xsl:apply-templates>
+ <xsl:with-param name="globalData" select="$globalData"/>
+ </xsl:apply-templates>
+ </xsl:element>
+ </xsl:template>
+
+
+
+ <!-- *************** -->
+ <!-- *** Textbox *** -->
+ <!-- *************** -->
+
+ <xsl:template match="draw:text-box">
+ <xsl:param name="globalData"/>
+
+ <xsl:comment>Next 'div' was a 'draw:text-box'.</xsl:comment>
+ <xsl:element name="div">
+ <xsl:variable name="dimension">
+ <xsl:apply-templates select="@fo:min-width"/>
+ <xsl:apply-templates select="@fo:max-width"/>
+ <xsl:apply-templates select="@fo:min-height"/>
+ <xsl:apply-templates select="@fo:max-height"/>
+ </xsl:variable>
+ <xsl:if test="$dimension">
+ <xsl:attribute name="style">
+ <xsl:value-of select="$dimension"/>
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:apply-templates select="@draw:name">
+ <xsl:with-param name="globalData" select="$globalData"/>
+ </xsl:apply-templates>
+
+ <xsl:apply-templates select="node()">
+ <xsl:with-param name="globalData" select="$globalData"/>
+ </xsl:apply-templates>
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="@fo:min-width">
+ <xsl:text>min-width:</xsl:text>
+ <xsl:value-of select="."/>
+ <xsl:text>;</xsl:text>
+ </xsl:template>
+ <xsl:template match="@fo:max-width">
+ <xsl:text>max-width:</xsl:text>
+ <xsl:value-of select="."/>
+ <xsl:text>;</xsl:text>
+ </xsl:template>
+ <xsl:template match="@fo:min-height">
+ <xsl:text>min-height:</xsl:text>
+ <xsl:value-of select="."/>
+ <xsl:text>;</xsl:text>
+ </xsl:template>
+ <xsl:template match="@fo:max-height">
+ <xsl:text>max-height:</xsl:text>
+ <xsl:value-of select="."/>
+ <xsl:text>;</xsl:text>
+ </xsl:template>
+
+
+ <!-- inline style helper for the 'div' boxes -->
+ <xsl:template name="svg:height">
+ <xsl:text>height:</xsl:text>
+ <xsl:choose>
+ <!-- changing the distance measure: inch to in -->
+ <xsl:when test="contains(@svg:height, 'inch')">
+ <xsl:value-of select="substring-before(@svg:height, 'ch')"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="@svg:height"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ <xsl:text>;</xsl:text>
+ </xsl:template>
+
+ <!-- inline style helper for the 'div' boxes -->
+ <xsl:template name="svg:width">
+ <xsl:text>width:</xsl:text>
+ <xsl:choose>
+ <!-- changing the distance measure: inch to in -->
+ <xsl:when test="contains(@svg:width, 'inch')">
+ <xsl:value-of select="substring-before(@svg:width, 'ch')"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="@svg:width"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ <xsl:text>;</xsl:text>
+ </xsl:template>
+
+
+
+ <!-- ****************** -->
+ <!-- *** Paragraphs *** -->
+ <!-- ****************** -->
+
+ <xsl:template match="text:p | draw:page">
+ <xsl:param name="globalData"/>
+ <!-- The footnote symbol is the prefix for a footnote in the footer -->
+ <xsl:param name="footnotePrefix"/>
+ <!-- 1) In ODF sometimes the followig children are nested
+ <text:p>
+ <draw:frame>
+ <draw:text-box>
+ <text:p>
+ Which results in a paragraphs (the last text:p) having a paragraph as its anchestor.
+ In HTML a 'p' can only have inline documents (no other 'p' as children'),
+ a 'div' will be given for the ancestors instead.
+ 2) ODF images are embedded in a paragraph, but CSS is not able to express a horizontal alignment for an HTML image (text:align is only valid for block elements).
+ A surrounding 'div' element taking over the image style solves that problem, but the div is invalid as child of a paragraph
+ Therefore the paragraph has to be exchanged with a HTML div element
+ -->
+ <!-- 2DO page alignment fix - PART1 -->
+ <xsl:choose>
+ <xsl:when test="draw:frame and ((normalize-space(text()) != '') or (count(*) &gt; 1 and (not(text:soft-page-break) and count(*) = 2)))">
+ <!-- Create a div, if there is a 'draw:frame' child with either text (not being whitespace alone) and more than the draw:frame alone and
+ not the draw:frame and a soft-page-break alone (which is quite often) -->
+
+ <!-- If there is a frame within the text:p or draw:page, its siblings are surrounded as well by a div and are floating (CSS float) -->
+ <!-- But it makes no sense to create floating if the frame is alone or only together with a soft-page-break not usable for HTML -->
+ <!-- The paragraph is written as DIV as there might be nested paragraphs (see above choose block) -->
+ <xsl:choose>
+ <xsl:when test="name() = 'text:p'">
+ <xsl:comment>Next 'div' was a 'text:p'.</xsl:comment>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:comment>Next 'div' was a 'draw:page'.</xsl:comment>
+ </xsl:otherwise>
+ </xsl:choose>
+ <xsl:element name="div">
+ <xsl:apply-templates select="@*">
+ <xsl:with-param name="globalData" select="$globalData"/>
+ </xsl:apply-templates>
+ <!-- the footnote symbol is the prefix for a footnote in the footer -->
+ <xsl:copy-of select="$footnotePrefix"/>
+
+ <!-- start floating of frame (and siblings) -->
+ <xsl:apply-templates select="node()[1]" mode="frameFloating">
+ <xsl:with-param name="globalData" select="$globalData" />
+ <xsl:with-param name="previousFrameWidths" select="0"/>
+ <xsl:with-param name="previousFrameHeights" select="0"/>
+ <!-- 2DO for me (Svante) - Not used, uncertain 4now..
+ <xsl:with-param name="pageMarginLeft">
+ <xsl:call-template name="getPageMarginLeft"/>
+ </xsl:with-param>-->
+ </xsl:apply-templates>
+ </xsl:element>
+ <!-- after the last draw:frame sibling the CSS float is disabled
+ &#160; is an unbreakable whitespace to give conent to the element and force a browser not to ignore the element -->
+ <div style="clear:both; line-height:0; width:0; height:0; margin:0; padding:0;">&#160;</div>
+ </xsl:when>
+ <xsl:when test="text:tab">
+ <!-- If there is a tabulator (ie. text:tab) within a paragraph, a heuristic for ODF tabulators creates a
+ span for every text:tab embracing the following text nodes aligning them according to the tabulator.
+ A line break or another text:tab starts a new text:span, line break even the tab counter for the line.
+ -->
+ <xsl:element name="p">
+ <xsl:apply-templates select="@*">
+ <xsl:with-param name="globalData" select="$globalData" />
+ </xsl:apply-templates>
+ <!-- start with first child of the paragraph -->
+ <xsl:variable name="firstChildNode" select="node()[1]" />
+ <xsl:apply-templates select="$firstChildNode" mode="tabHandling">
+ <xsl:with-param name="globalData" select="$globalData" />
+ <xsl:with-param name="tabStops" select="$globalData/all-doc-styles/style[@style:name = current()/@text:style-name]/*/style:tab-stops"/>
+ <xsl:with-param name="parentMarginLeft">
+ <!-- Styles of first paragraph in list item, including ancestor styles (inheritance) -->
+ <xsl:variable name="paragraphName" select="@text:style-name" />
+ <xsl:variable name="imageParagraphStyle" select="$globalData/all-styles/style[@style:name = $paragraphName]/final-properties"/>
+ <!-- Only the left margin of the first paragraph of a list item will be added to the margin of the complete list (all levels)-->
+<!-- 2DO: left-margin in order with bidirectional -->
+ <xsl:choose>
+ <xsl:when test="contains($imageParagraphStyle, 'margin-left:')">
+ <xsl:call-template name="convert2cm">
+ <xsl:with-param name="value" select="normalize-space(substring-before(substring-after($imageParagraphStyle, 'margin-left:'), ';'))"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>0</xsl:otherwise>
+ </xsl:choose>
+ </xsl:with-param>
+ <xsl:with-param name="pageMarginLeft">
+ <xsl:call-template name="getPageMarginLeft"/>
+ </xsl:with-param>
+ </xsl:apply-templates>
+ </xsl:element>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:choose>
+ <!-- !!Check if paragraph is empty!!
+ OOo writes out empty paragraphs layouted behind an image (= draw:image within draw:frame)
+ those have to be neglected in HTML -->
+ <xsl:when test="name() = 'text:p' and not(text()) and not(*)">
+ <xsl:variable name="isFollowingImage">
+ <xsl:call-template name="follows-empty-paragraphs-and-image">
+ <xsl:with-param name="precedingElement" select="preceding-sibling::node()[1]"/>
+ </xsl:call-template>
+ </xsl:variable>
+ <xsl:if test="$isFollowingImage = 'yes'">
+ <xsl:call-template name="create-paragraph">
+ <xsl:with-param name="globalData" select="$globalData" />
+ <xsl:with-param name="footnotePrefix" select="$footnotePrefix" />
+ </xsl:call-template>
+ </xsl:if>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:call-template name="create-paragraph">
+ <xsl:with-param name="globalData" select="$globalData" />
+ <xsl:with-param name="footnotePrefix" select="$footnotePrefix" />
+ </xsl:call-template>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+
+ <!-- A span will be created for every text:tab embracing the following text nodes.
+ A line break or another text:tab starts a new text:span -->
+ <xsl:template match="* | text()" mode="tabHandling">
+ <xsl:param name="globalData"/>
+ <xsl:param name="tabStops"/>
+ <!-- there can be multiple tabs in one line, tabNo guesses the one to apply. By default the first i.e. "1" -->
+ <xsl:param name="tabCount" select="0"/>
+ <xsl:param name="parentMarginLeft" />
+ <xsl:param name="pageMarginLeft" />
+
+<!-- 2DO: EXCHANGE FOLLOING SIBLING BY VARIABLE -->
+ <xsl:variable name="followingSiblingNode" select="following-sibling::node()[1]"/>
+
+
+ <!--
+ Every tabulator indents its following content, encapuslated in a span
+ element.
+
+ This template have two modes:
+
+ 1) Before the first tabulator it will match as usually paragraph content
+ to HTML.
+ 2) After the first paragraph it will always triggers two recursions.
+ One embraces the following content of a paragraph element into a span.
+ (tabContentHandling)
+ The other calls this template and will now ignore anything else than
+ TAB and LINE-BREAK.
+
+
+ The tabulators and linebreaks are being iterated, one by one to keep track of the tab number
+ -->
+
+
+ <xsl:choose>
+ <xsl:when test="name() = 'text:tab'">
+ <!-- every frame sibling have to be incapuslated within a div with left indent -->
+ <xsl:element name="span">
+ <xsl:choose>
+ <xsl:when test="count($tabStops/style:tab-stop) &lt; 3">
+ <!-- only allow the heuristic when the style has less than 3 TABS -->
+ <xsl:attribute name="style">
+ <xsl:call-template name="createTabIndent">
+ <xsl:with-param name="globalData" select="$globalData"/>
+ <xsl:with-param name="tabStops" select="$tabStops"/>
+ <xsl:with-param name="tabCount" select="$tabCount + 1"/>
+ <xsl:with-param name="parentMarginLeft" select="$parentMarginLeft"/>
+ <xsl:with-param name="pageMarginLeft" select="$pageMarginLeft"/>
+ </xsl:call-template>
+ </xsl:attribute>
+ </xsl:when>
+ <xsl:otherwise>
+ <!-- if there are more than 3 TABS in the style, create a none-breakable-space as whitespace -->
+ <xsl:text>&#160;</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ <xsl:apply-templates select="following-sibling::node()[1]" mode="tabContentHandling">
+ <xsl:with-param name="globalData" select="$globalData"/>
+ </xsl:apply-templates>
+ </xsl:element>
+ <xsl:apply-templates select="following-sibling::node()[1]" mode="tabHandling">
+ <xsl:with-param name="globalData" select="$globalData"/>
+ <xsl:with-param name="tabStops" select="$tabStops"/>
+ <xsl:with-param name="tabCount" select="$tabCount + 1"/>
+ <xsl:with-param name="parentMarginLeft" select="$parentMarginLeft"/>
+ <xsl:with-param name="pageMarginLeft" select="$pageMarginLeft"/>
+ </xsl:apply-templates>
+ </xsl:when>
+ <xsl:when test="name() = 'text:line-break'">
+ <!-- A line-break resets the tabCount to '0' -->
+ <br/>
+ <xsl:apply-templates select="following-sibling::node()[1]" mode="tabHandling">
+ <xsl:with-param name="globalData" select="$globalData"/>
+ <xsl:with-param name="tabStops" select="$tabStops"/>
+ <xsl:with-param name="tabCount" select="0"/>
+ <xsl:with-param name="parentMarginLeft" select="$parentMarginLeft"/>
+ <xsl:with-param name="pageMarginLeft" select="$pageMarginLeft"/>
+ </xsl:apply-templates>
+ </xsl:when>
+ <xsl:otherwise>
+ <!-- only before the first tab all content is written out -->
+ <xsl:if test="$tabCount = 0">
+ <xsl:apply-templates select=".">
+ <xsl:with-param name="globalData" select="$globalData"/>
+ </xsl:apply-templates>
+ </xsl:if>
+ <xsl:apply-templates select="following-sibling::node()[1]" mode="tabHandling">
+ <xsl:with-param name="globalData" select="$globalData"/>
+ <xsl:with-param name="tabStops" select="$tabStops"/>
+ <xsl:with-param name="tabCount" select="$tabCount"/>
+ <xsl:with-param name="parentMarginLeft" select="$parentMarginLeft"/>
+ <xsl:with-param name="pageMarginLeft" select="$pageMarginLeft"/>
+ </xsl:apply-templates>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <!--
+ This recursion creates the content of a tab (i.e. following siblings
+ till next TAB or LINE BREAK) and ends with the next
+ TAB, LINE-BREAK or with the end of the paragraph.
+ -->
+ <xsl:template match="* | text()" mode="tabContentHandling">
+ <xsl:param name="globalData"/>
+
+ <xsl:if test="(name() != 'text:tab') and (name() != 'text:line-break')">
+ <!-- Write out content -->
+ <xsl:apply-templates select=".">
+ <xsl:with-param name="globalData" select="$globalData"/>
+ </xsl:apply-templates>
+ <!-- Apply for the next node -->
+ <xsl:apply-templates select="following-sibling::node()[1]" mode="tabContentHandling">
+ <xsl:with-param name="globalData" select="$globalData"/>
+ </xsl:apply-templates>
+ </xsl:if>
+ </xsl:template>
+
+ <xsl:template name="createTabIndent">
+ <xsl:param name="globalData"/>
+ <xsl:param name="tabStops"/>
+ <xsl:param name="tabCount"/>
+ <xsl:param name="parentMarginLeft" />
+ <xsl:param name="pageMarginLeft" />
+
+ <xsl:text>position:absolute;left:</xsl:text>
+ <xsl:variable name="tabPosition">
+ <xsl:call-template name="convert2cm">
+ <xsl:with-param name="value" select="$tabStops/style:tab-stop[$tabCount]/@style:position"/>
+ </xsl:call-template>
+ </xsl:variable>
+ <xsl:variable name="tabIndent">
+ <xsl:choose>
+ <xsl:when test="$tabStops/style:tab-stop[$tabCount]/@style:type = 'center'">
+ <!-- in case of style:type 'center' the text is even before the tab stop,
+ centered around the beginning. As I see currently no way in mapping this,
+ therefore I do some HEURISTIC (minus -2.5cm) -->
+ <xsl:value-of select="$tabPosition + $parentMarginLeft + $pageMarginLeft - 2.5"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$tabPosition + $parentMarginLeft + $pageMarginLeft"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+ <xsl:choose>
+ <xsl:when test="$tabIndent='NaN'">
+ <xsl:variable name="tabPosition">
+ <xsl:call-template name="convert2cm">
+ <xsl:with-param name="value" select="$tabStops/style:tab-stop[last()]/@style:position"/>
+ </xsl:call-template>
+ </xsl:variable>
+ <!-- Heuristic: for every tab that is more than specified give a further 1 cm -->
+ <xsl:value-of select="$parentMarginLeft + $tabPosition + count($tabStops/style:tab-stop) - $tabCount"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$tabIndent"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ <xsl:text>cm;</xsl:text>
+ <xsl:apply-templates select="$tabStops/style:tab-stop[$tabCount]/@style:type"/>
+ </xsl:template>
+
+ <!-- OOo writes out empty paragraphs layouted behind an image,
+ those have to be neglected in HTML
+ This method checks if an empty paragraph is of that kind! -->
+ <xsl:template name="follows-empty-paragraphs-and-image">
+ <xsl:param name="precedingElement" />
+ <xsl:param name="elementToCheck" select="1"/>
+
+ <xsl:choose>
+ <!-- OOo writes out empty paragraphs layouted behind the image,
+ those have to be neglected in HTML -->
+ <xsl:when test="name($precedingElement) = 'text:p' and not($precedingElement/text()) and not($precedingElement/*)">
+ <xsl:call-template name="follows-empty-paragraphs-and-image">
+ <xsl:with-param name="precedingElement" select="preceding-sibling::*[$elementToCheck]"/>
+ <xsl:with-param name="elementToCheck" select="$elementToCheck +1"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:when test="$precedingElement/draw:frame">no</xsl:when>
+ <xsl:otherwise>yes</xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <xsl:template name="create-paragraph">
+ <xsl:param name="globalData"/>
+ <!-- the footnote symbol is the prefix for a footnote in the footer -->
+ <xsl:param name="footnotePrefix"/>
+
+ <!-- xhtml:p may only contain inline elements.
+ If there is one frame beyond, div must be used! -->
+ <xsl:variable name="elementName">
+ <xsl:choose>
+ <xsl:when test="descendant::draw:frame[1] or descendant::text:p[1]">div</xsl:when>
+ <xsl:otherwise>p</xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:element name="{$elementName}">
+ <xsl:choose>
+ <!-- in ODF borders of paragraphs will be merged by default. Merging means the adjactend paragraphs are building a unit,
+ where only the first and the last will have have a border to the surrounding (top / bottom border)
+ <xsl:variable name="precedingParagraphStyle" select="preceding-sibling::*[1][name() = 'text:p']/@text:style-name"/>
+ <xsl:variable name="followingParagraphStyle" select="following-sibling::*[1][name() = 'text:p']/@text:style-name"/>
+ -->
+ <xsl:when test="$globalData/all-styles/style[@style:name = current()/@text:style-name]/@mergedBorders">
+ <xsl:variable name="precedingParagraphStyle" select="preceding-sibling::*[1][name() = 'text:p']/@text:style-name"/>
+ <xsl:variable name="followingParagraphStyle" select="following-sibling::*[1][name() = 'text:p']/@text:style-name"/>
+ <xsl:choose>
+ <xsl:when test="$precedingParagraphStyle or $followingParagraphStyle">
+ <xsl:variable name="isPrecedingBorderParagraph" select="$globalData/all-styles/style[@style:name = $precedingParagraphStyle]/@mergedBorders"/>
+ <xsl:variable name="isFollowingBorderParagraph" select="$globalData/all-styles/style[@style:name = $followingParagraphStyle]/@mergedBorders"/>
+ <xsl:choose>
+ <xsl:when test="not($isPrecedingBorderParagraph) and $isFollowingBorderParagraph">
+ <xsl:attribute name="class">
+ <xsl:value-of select="concat(translate(@text:style-name, '.,;: %()[]/\+', '_____________'), '_borderStart')"/>
+ </xsl:attribute>
+ <xsl:apply-templates>
+ <xsl:with-param name="globalData" select="$globalData"/>
+ </xsl:apply-templates>
+ </xsl:when>
+ <xsl:when test="$isPrecedingBorderParagraph and not($isFollowingBorderParagraph)">
+ <xsl:attribute name="class">
+ <xsl:value-of select="concat(translate(@text:style-name, '.,;: %()[]/\+', '_____________'), '_borderEnd')"/>
+ </xsl:attribute>
+ <xsl:apply-templates>
+ <xsl:with-param name="globalData" select="$globalData"/>
+ </xsl:apply-templates>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:attribute name="class">
+ <xsl:value-of select="translate(@text:style-name, '.,;: %()[]/\+', '_____________')"/>
+ </xsl:attribute>
+ <xsl:apply-templates>
+ <xsl:with-param name="globalData" select="$globalData"/>
+ </xsl:apply-templates>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:call-template name="write-paragraph">
+ <xsl:with-param name="globalData" select="$globalData"/>
+ </xsl:call-template>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:call-template name="write-paragraph">
+ <xsl:with-param name="globalData" select="$globalData" />
+ <xsl:with-param name="footnotePrefix" select="$footnotePrefix" />
+ </xsl:call-template>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template name="write-paragraph">
+ <xsl:param name="globalData"/>
+ <!-- the footnote symbol is the prefix for a footnote in the footer -->
+ <xsl:param name="footnotePrefix" />
+
+ <!-- empty paragraph tags does not provoke an carridge return,
+ therefore an non breakable space (&nbsp) have been inserted.-->
+ <xsl:choose>
+ <xsl:when test="node()">
+ <xsl:call-template name="apply-styles-and-content">
+ <xsl:with-param name="globalData" select="$globalData" />
+ <xsl:with-param name="footnotePrefix" select="$footnotePrefix" />
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:call-template name="apply-styles-and-content">
+ <xsl:with-param name="globalData" select="$globalData" />
+ <xsl:with-param name="footnotePrefix" select="$footnotePrefix" />
+ </xsl:call-template>
+ <xsl:text>&#160;</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <xsl:template match="style:tab-stop/@style:type">
+ <xsl:text>text-align:</xsl:text>
+ <xsl:choose>
+ <xsl:when test=". = 'left'">left</xsl:when>
+ <xsl:when test=". = 'right'">right</xsl:when>
+ <xsl:when test=". = 'center'">center</xsl:when>
+ <xsl:otherwise>justify</xsl:otherwise>
+ </xsl:choose>
+ <xsl:text>;</xsl:text>
+ </xsl:template>
+
+ <!-- As soon a frame is within a paragraph (text:p) or page:frame, every element floating (CSS) and worked out in sequence.
+ Accumulating prior frame width and adding parent's left margin -->
+
+ <!-- Matching all elements and text beyond a paragraph/text:page which are sibling of a draw:frame -->
+ <xsl:template match="* | text()" mode="frameFloating">
+ <xsl:param name="globalData"/>
+ <xsl:param name="previousFrameWidths" select="0"/>
+ <xsl:param name="previousFrameHeights" select="0" />
+ <!-- it becomes true for siblings after a draw:frame -->
+ <xsl:param name="createDiv" select="false()"/>
+ <xsl:param name="noDivBefore" select="true()"/>
+ <xsl:param name="leftPosition" />
+ <xsl:param name="parentMarginLeft" />
+ <xsl:param name="frameAlignedToParagraphWithSvgY" />
+
+ <xsl:choose>
+ <xsl:when test="name() = 'draw:frame'">
+ <xsl:copy-of select="$frameAlignedToParagraphWithSvgY"/>
+
+ <!-- if the first node is a draw:frame create a div -->
+ <xsl:call-template name="createDrawFrame">
+ <xsl:with-param name="globalData" select="$globalData"/>
+ <xsl:with-param name="previousFrameWidths" select="$previousFrameWidths"/>
+ <xsl:with-param name="previousFrameHeights" select="$previousFrameHeights"/>
+ <xsl:with-param name="parentMarginLeft" select="$parentMarginLeft"/>
+ </xsl:call-template>
+ <!-- next elements will be called after the creation with the new indent (plus width of frame) -->
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:variable name="nextSiblingIsFrame" select="name(following-sibling::node()[1]) = 'draw:frame'"/>
+ <xsl:choose>
+ <xsl:when test="$createDiv and normalize-space(.) != ''">
+ <!-- every following frame sibling till the next draw:frame
+ have to be incapuslated within a div with left indent.
+ To be moved alltogether arcording the indent (usually right) -->
+ <xsl:comment>Next 'div' added for floating.</xsl:comment>
+ <xsl:element name="div">
+ <xsl:attribute name="style">
+ <xsl:text>position:relative; left:</xsl:text>
+ <xsl:value-of select="$leftPosition"/>
+ <xsl:text>cm;</xsl:text>
+ </xsl:attribute>
+ <xsl:apply-templates select=".">
+ <xsl:with-param name="globalData" select="$globalData"/>
+ </xsl:apply-templates>
+ <!-- if it is a frame sibling it will be NOT incapuslated within the div (as already within one) -->
+ <xsl:if test="not($nextSiblingIsFrame)">
+ <xsl:apply-templates select="following-sibling::node()[1]" mode="frameFloating">
+ <xsl:with-param name="globalData" select="$globalData"/>
+ <xsl:with-param name="previousFrameWidths" select="$previousFrameWidths"/>
+ <xsl:with-param name="previousFrameHeights" select="$previousFrameHeights"/>
+ <xsl:with-param name="parentMarginLeft" select="$parentMarginLeft"/>
+ <xsl:with-param name="leftPosition" select="$leftPosition"/>
+ <xsl:with-param name="createDiv" select="false()"/>
+ <xsl:with-param name="noDivBefore" select="$noDivBefore"/>
+ <xsl:with-param name="frameAlignedToParagraphWithSvgY" select="$frameAlignedToParagraphWithSvgY"/>
+ </xsl:apply-templates>
+ </xsl:if>
+ </xsl:element>
+ <xsl:copy-of select="$frameAlignedToParagraphWithSvgY"/>
+
+ <!-- Other draw:frame will be created outside of the div element -->
+ <xsl:apply-templates select="following-sibling::draw:frame[1]" mode="frameFloating">
+ <xsl:with-param name="globalData" select="$globalData"/>
+ <xsl:with-param name="previousFrameWidths" select="$previousFrameWidths"/>
+ <xsl:with-param name="previousFrameHeights" select="$previousFrameHeights"/>
+ <xsl:with-param name="parentMarginLeft" select="$parentMarginLeft"/>
+ <xsl:with-param name="leftPosition" select="$leftPosition"/>
+ <xsl:with-param name="frameAlignedToParagraphWithSvgY" select="$frameAlignedToParagraphWithSvgY"/>
+ </xsl:apply-templates>
+ </xsl:when>
+ <xsl:when test="not($createDiv)">
+ <xsl:apply-templates select=".">
+ <xsl:with-param name="globalData" select="$globalData"/>
+ <xsl:with-param name="frameAlignedToParagraphWithSvgY" select="$frameAlignedToParagraphWithSvgY"/>
+ </xsl:apply-templates>
+ <xsl:if test="not($nextSiblingIsFrame) or $noDivBefore">
+ <xsl:variable name="followingSibling" select="following-sibling::node()[1]"/>
+ <xsl:choose>
+ <xsl:when test="normalize-space($followingSibling) != ''">
+ <xsl:apply-templates select="$followingSibling" mode="frameFloating">
+ <xsl:with-param name="globalData" select="$globalData"/>
+ <xsl:with-param name="previousFrameWidths" select="$previousFrameWidths"/>
+ <xsl:with-param name="previousFrameHeights" select="$previousFrameHeights"/>
+ <xsl:with-param name="parentMarginLeft" select="$parentMarginLeft"/>
+ <xsl:with-param name="leftPosition" select="$leftPosition"/>
+ <xsl:with-param name="createDiv" select="false()"/>
+ <xsl:with-param name="noDivBefore" select="$noDivBefore"/>
+ <xsl:with-param name="frameAlignedToParagraphWithSvgY" select="$frameAlignedToParagraphWithSvgY"/>
+ </xsl:apply-templates>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:copy-of select="$frameAlignedToParagraphWithSvgY"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:if>
+ </xsl:when>
+ </xsl:choose>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <!-- As draw:fame may occure within more elements than in text:p and draw:page -->
+ <xsl:template match="draw:frame">
+ <xsl:param name="globalData"/>
+ <xsl:param name="previousFrameWidths" select="0"/>
+ <xsl:param name="previousFrameHeights" select="0" />
+
+ <xsl:call-template name="createDrawFrame">
+ <xsl:with-param name="globalData" select="$globalData" />
+ <xsl:with-param name="previousFrameWidths" select="$previousFrameWidths"/>
+ <xsl:with-param name="previousFrameHeights" select="$previousFrameHeights"/>
+ </xsl:call-template>
+ <!-- after the last draw:frame sibling the CSS float is disabled -->
+ <div style="clear:both; line-height:0; width:0; height:0; margin:0; padding:0;">&#160;</div>
+ </xsl:template>
+
+ <xsl:template name="getPageMarginLeft">
+ <!-- approximation to find the correct master page style (with page dimensions) -->
+ <xsl:variable name="masterPageNames">
+ <!-- Loop over every style:style containing a @style:master-page-name attribute -->
+ <xsl:for-each select="key('masterPage','count')">
+ <!-- Check if this style is being used in the body -->
+ <xsl:if test="key('elementUsingStyle', ../@style:name)">
+ <!-- Check every master-page-name if it is not emtpy and return as ';' separated list -->
+ <xsl:if test="string-length(../@style:master-page-name) &gt; 0">
+ <xsl:value-of select="../@style:master-page-name"/>;</xsl:if>
+ </xsl:if>
+ </xsl:for-each>
+ </xsl:variable>
+ <!-- Take the first of the masterpage list and get the according style:master-page element and find the @style:page-layout-name -->
+ <xsl:variable name="pageLayoutName" select="key('masterPageElements', substring-before($masterPageNames,';'))/@style:page-layout-name"/>
+ <!-- Find the according style:page-layout and store the properties in a variable -->
+ <xsl:variable name="pageMarginLeftAttr" select="key('pageLayoutElements', $pageLayoutName)/style:page-layout-properties/@fo:margin-left"/>
+ <xsl:choose>
+ <xsl:when test="$pageMarginLeftAttr">
+ <xsl:call-template name="convert2cm">
+ <xsl:with-param name="value" select="$pageMarginLeftAttr"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>0</xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <!-- Elements and text aside of a draw:frame are floating, here a div is being created.
+ Either for a draw:frame or for text and other elements floating aside -->
+ <xsl:template name="createDrawFrame">
+ <xsl:param name="globalData"/>
+ <xsl:param name="previousFrameWidths" select="0"/>
+ <xsl:param name="previousFrameHeights" select="0" />
+ <xsl:param name="parentMarginLeft"/>
+
+ <xsl:variable name="parentMarginLeftNew">
+ <xsl:choose>
+ <xsl:when test="string-length(normalize-space($parentMarginLeft)) &lt; 1">
+ <!-- Styles of first paragraph in list item, including ancestor styles (inheritance) -->
+ <xsl:variable name="paragraphName" select="parent::*/@text:style-name" />
+ <xsl:variable name="imageParagraphStyle" select="$globalData/all-styles/style[@style:name = $paragraphName]/final-properties"/>
+ <!-- Only the left margin of the first paragraph of a list item will be added to the margin of the complete list (all levels)-->
+ <xsl:choose>
+ <xsl:when test="contains($imageParagraphStyle, 'margin-left:')">
+ <xsl:call-template name="convert2cm">
+ <xsl:with-param name="value" select="normalize-space(substring-before(substring-after($imageParagraphStyle, 'margin-left:'), ';'))"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>0</xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$parentMarginLeft"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+ <xsl:variable name="svgWidth">
+ <xsl:choose>
+ <xsl:when test="@svg:width">
+ <xsl:call-template name="convert2cm">
+ <xsl:with-param name="value" select="@svg:width"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>0</xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+ <xsl:variable name="svgX">
+ <xsl:choose>
+ <xsl:when test="@svg:x">
+ <xsl:call-template name="convert2cm">
+ <xsl:with-param name="value" select="@svg:x"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>0</xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+ <xsl:variable name="leftPosition" select="$svgX - $parentMarginLeftNew - $previousFrameWidths"/>
+ <xsl:variable name="svgY">
+ <xsl:choose>
+ <xsl:when test="@svg:y">
+ <xsl:call-template name="convert2cm">
+ <xsl:with-param name="value" select="@svg:y"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>0</xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+ <!-- if the frame is anchored on a paragraph -->
+ <xsl:if test="@text:anchor-type='paragraph'">
+ <xsl:comment>Next 'div' is emulating the top hight of a draw:frame.</xsl:comment>
+ <!-- When the svg:y is set relativ to the paragraph content, the best way to emulate a positive height,
+ is to add an invisbile division inbetween with a height.
+ Often text will flow into this 'gap', which is handled separately!
+ -->
+ <xsl:if test="$svgY &gt; 0">
+ <xsl:element name="div">
+ <xsl:attribute name="style">
+ <xsl:text>height:</xsl:text>
+ <xsl:value-of select="$svgY"/>
+ <xsl:text>cm;</xsl:text>
+ </xsl:attribute>
+ <xsl:text>&#160;</xsl:text>
+ </xsl:element>
+ </xsl:if>
+ </xsl:if>
+
+
+ <xsl:variable name="followingSibling" select="following-sibling::node()[1]"/>
+ <!--
+ <xsl:choose>
+ HEURISTIC: if the frame is anchored on a paragraph and the above gab is big enough to hold a text line,
+ move it behind the text
+ <xsl:when test="@text:anchor-type='paragraph' and
+ (
+ ($svgY &gt; 0.5) or
+ ($svgX &gt; 4)
+ ) and normalize-space($followingSibling) != ''">
+ <xsl:apply-templates select="$followingSibling" mode="frameFloating">
+ <xsl:with-param name="globalData" select="$globalData"/>
+ <xsl:with-param name="previousFrameWidths" select="$previousFrameWidths + $svgWidth"/>
+ <xsl:with-param name="parentMarginLeft" select="$parentMarginLeftNew"/>
+ <xsl:with-param name="leftPosition" select="$leftPosition"/>
+ <xsl:with-param name="createDiv" select="true()"/>
+ <xsl:with-param name="noDivBefore" select="false()"/>
+ <xsl:with-param name="frameAlignedToParagraphWithSvgY">
+ <xsl:call-template name="createDrawFrame2">
+ <xsl:with-param name="globalData" select="$globalData"/>
+ <xsl:with-param name="previousFrameWidths" select="$previousFrameWidths + $svgWidth"/>
+ <xsl:with-param name="parentMarginLeftNew" select="$parentMarginLeftNew"/>
+ <xsl:with-param name="leftPosition" select="$leftPosition"/>
+ <xsl:with-param name="svgY" select="$svgY"/>
+ </xsl:call-template>
+ </xsl:with-param>
+ </xsl:apply-templates>
+ </xsl:when>
+ <xsl:otherwise>-->
+ <xsl:call-template name="createDrawFrame2">
+ <xsl:with-param name="globalData" select="$globalData"/>
+ <xsl:with-param name="previousFrameWidths" select="$previousFrameWidths + $svgWidth"/>
+ <xsl:with-param name="parentMarginLeftNew" select="$parentMarginLeftNew"/>
+ <xsl:with-param name="leftPosition" select="$leftPosition"/>
+ <xsl:with-param name="svgY" select="$svgY"/>
+ </xsl:call-template>
+ <!-- <xsl:apply-templates select="following-sibling::node()[1]" mode="frameFloating">
+ <xsl:with-param name="globalData" select="$globalData"/>
+ <xsl:with-param name="previousFrameWidths" select="$previousFrameWidths + $svgWidth"/>
+ <xsl:with-param name="parentMarginLeft" select="$parentMarginLeftNew"/>
+ <xsl:with-param name="leftPosition" select="$leftPosition"/>
+ <xsl:with-param name="createDiv" select="true()"/>
+ <xsl:with-param name="noDivBefore" select="false()"/>
+ </xsl:apply-templates>
+
+ </xsl:otherwise>
+ </xsl:choose> -->
+ </xsl:template>
+
+ <xsl:template name="createDrawFrame2">
+ <xsl:param name="globalData"/>
+ <xsl:param name="previousFrameWidths" />
+ <xsl:param name="parentMarginLeftNew"/>
+ <xsl:param name="leftPosition" />
+ <xsl:param name="svgY" />
+
+ <xsl:comment>Next 'div' is a draw:frame.</xsl:comment>
+ <xsl:element name="div">
+ <xsl:attribute name="style">
+ <xsl:call-template name="widthAndHeight"/>
+
+ <!-- all images float (CSS float reltaive) with a left position calculated by svg:x - parentMarginLeft - previousFrameWidths -->
+ <xsl:text> float:left; padding:0; position:relative; left:</xsl:text>
+ <xsl:value-of select="$leftPosition"/>
+ <xsl:text>cm; </xsl:text>
+ <!-- if the frame is anchored on a char -->
+ <xsl:if test="@text:anchor-type='char'">
+ <xsl:text>top:</xsl:text>
+ <xsl:value-of select="$svgY"/>
+ <xsl:text>cm; </xsl:text>
+ </xsl:if>
+ </xsl:attribute>
+ <xsl:apply-templates select="@*">
+ <xsl:with-param name="globalData" select="$globalData"/>
+ </xsl:apply-templates>
+ <xsl:apply-templates select="node()">
+ <xsl:with-param name="globalData" select="$globalData"/>
+ </xsl:apply-templates>
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template name="widthAndHeight">
+ <xsl:if test="@svg:height | @svg:width">
+ <xsl:choose>
+ <xsl:when test="not(@svg:width)">
+ <xsl:call-template name="svg:height"/>
+ </xsl:when>
+ <xsl:when test="not(@svg:height)">
+ <xsl:call-template name="svg:width"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:call-template name="svg:height"/>
+ <xsl:call-template name="svg:width"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:if>
+ </xsl:template>
+
+ <!-- ***************** -->
+ <!-- *** Text Span *** -->
+ <!-- ***************** -->
+
+ <xsl:template match="text:span">
+ <xsl:param name="globalData"/>
+
+ <xsl:choose>
+ <xsl:when test="draw:frame">
+ <!-- sometimes an ODF image is anchored as character and the
+ image frame appears within a span (which is not valid for HTML)
+ Heuristic: Neglecting the span assuming no text content aside
+ of frame within span -->
+ <xsl:apply-templates>
+ <xsl:with-param name="globalData" select="$globalData"/>
+ </xsl:apply-templates>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:element name="span">
+ <xsl:call-template name="apply-styles-and-content">
+ <xsl:with-param name="globalData" select="$globalData"/>
+ </xsl:call-template>
+ </xsl:element>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+
+
+ <!-- **************** -->
+ <!-- *** Headings *** -->
+ <!-- **************** -->
+
+ <xsl:template match="text:h">
+ <xsl:param name="globalData"/>
+
+ <!-- no creation of empty headings (without text content) -->
+ <xsl:if test="text() or descendant::text()">
+ <!-- The URL linking of an table-of-content is due to a bug (cp. bug id# 102311) not mapped as URL in the XML.
+ Linking of the table-of-content can therefore only be archieved by a work-around in HTML -->
+ <xsl:call-template name="create-heading">
+ <xsl:with-param name="globalData" select="$globalData"/>
+ </xsl:call-template>
+ </xsl:if>
+ </xsl:template>
+
+ <!-- default matching for header elements -->
+ <xsl:template name="create-heading">
+ <xsl:param name="globalData"/>
+
+ <xsl:variable name="headingLevel">
+ <xsl:choose>
+ <xsl:when test="@text:outline-level &lt; 6">
+ <xsl:value-of select="@text:outline-level"/>
+ </xsl:when>
+ <xsl:otherwise>6</xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+ <xsl:variable name="headertyp" select="concat('h', $headingLevel)"/>
+ <xsl:element name="{$headertyp}">
+ <!-- outline style 'text:min-label-width' is interpreted as a CSS 'margin-right' attribute
+ NOTE: Should be handled as CSS style in style header -->
+ <xsl:variable name="min-label" select="$globalData/office:styles/text:outline-style/text:outline-level-style[@text:level = current()/@text:outline-level]/*/@text:min-label-width"/>
+ <xsl:attribute name="class">
+ <xsl:value-of select="translate(@text:style-name, '.,;: %()[]/\+', '_____________')"/>
+ </xsl:attribute>
+
+ <xsl:call-template name="create-heading-anchor">
+ <xsl:with-param name="globalData" select="$globalData"/>
+ </xsl:call-template>
+
+ <xsl:apply-templates>
+ <xsl:with-param name="globalData" select="$globalData"/>
+ </xsl:apply-templates>
+ </xsl:element>
+
+ </xsl:template>
+
+ <xsl:template name="create-heading-anchor">
+ <xsl:param name="globalData"/>
+
+ <!-- writing out a heading number if desired.-->
+ <!-- if a corresponding 'text:outline-style' exist or is not empty -->
+ <xsl:choose>
+ <xsl:when test="$globalData/office:styles/text:outline-style/text:outline-level-style[@text:level = current()/@text:outline-level]/@style:num-format != ''">
+
+ <!-- Every heading element will get an unique anchor for its file, from its hiearchy level and name:
+ For example: The heading title 'My favorite heading' might get <a name="1_2_2_My_favorite_heading" /> -->
+ <!-- creating an anchor for referencing the heading (e.g. from content table) -->
+ <xsl:variable name="headingNumber">
+ <xsl:call-template name="get-heading-number">
+ <xsl:with-param name="globalData" select="$globalData"/>
+ </xsl:call-template>
+ </xsl:variable>
+ <xsl:call-template name="create-heading-anchor2">
+ <xsl:with-param name="globalData" select="$globalData"/>
+ <xsl:with-param name="headingNumber" select="$headingNumber"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:call-template name="create-heading-anchor2">
+ <xsl:with-param name="globalData" select="$globalData"/>
+ </xsl:call-template>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+
+ <xsl:template name="get-heading-number">
+ <xsl:param name="globalData"/>
+
+ <!-- write number prefix -->
+ <xsl:value-of select="$globalData/office:styles/text:outline-style/text:outline-level-style[@text:level = current()/@text:outline-level]/@style:num-prefix"/>
+ <xsl:call-template name="write-heading-number">
+ <xsl:with-param name="globalData" select="$globalData"/>
+ </xsl:call-template>
+ <!-- write number suffix -->
+ <xsl:value-of select="$globalData/office:styles/text:outline-style/text:outline-level-style[@text:level = current()/@text:outline-level]/@style:num-suffix"/>
+ </xsl:template>
+
+ <!-- creating an anchor for referencing the heading -->
+ <xsl:template name="create-heading-anchor2">
+ <xsl:param name="globalData"/>
+ <xsl:param name="headingNumber" />
+
+ <xsl:variable name="title">
+ <xsl:apply-templates mode="concatenate"/>
+ </xsl:variable>
+ <!-- REFERENCE HANDLING - ANCHOR -->
+ <xsl:element namespace="{$namespace}" name="a">
+ <xsl:attribute name="id">
+ <xsl:value-of select="translate(concat('a_',$headingNumber, '_', normalize-space($title)), '&#xA;&amp;&lt;&gt;.,;: %()[]/\+', '___________________________')"/>
+ </xsl:attribute>
+
+ <xsl:element name="span">
+ <!-- outline style 'text:min-label-distance' is interpreted as a CSS 'margin-right' attribute
+ NOTE: Should be handled as CSS style in style header -->
+ <xsl:variable name="minLabelDistance" select="$globalData/office:styles/text:outline-style/text:outline-level-style[@text:level = current()/@text:outline-level]/*/@text:min-label-distance"/>
+ <xsl:variable name="minLabelWidth" select="$globalData/office:styles/text:outline-style/text:outline-level-style[@text:level = current()/@text:outline-level]/*/@text:min-label-width"/>
+
+ <xsl:if test="$minLabelDistance | $minLabelWidth">
+ <xsl:attribute name="style">
+ <xsl:if test="$minLabelDistance">
+ <xsl:text>margin-right:</xsl:text>
+ <xsl:call-template name="convert2cm">
+ <xsl:with-param name="value" select="$minLabelDistance"/>
+ </xsl:call-template>
+ <xsl:text>cm;</xsl:text>
+ </xsl:if>
+ <xsl:if test="$minLabelWidth">
+ <xsl:text>min-width:</xsl:text>
+ <xsl:call-template name="convert2cm">
+ <xsl:with-param name="value" select="$minLabelWidth"/>
+ </xsl:call-template>
+ <xsl:text>cm;</xsl:text>
+ </xsl:if>
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:copy-of select="$headingNumber"/>
+ </xsl:element>
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template name="write-heading-number">
+ <xsl:param name="globalData"/>
+
+ <!-- By default heading start with '1', the parameter 'textStartValue' will only be set, if the attribute @text:start-value exist -->
+ <xsl:choose>
+ <xsl:when test="$globalData/office:styles/text:outline-style/text:outline-level-style[@text:level = current()/@text:outline-level]/@text:start-value">
+ <xsl:call-template name="calc-heading-number">
+ <xsl:with-param name="globalData" select="$globalData"/>
+ <xsl:with-param name="outlineLevel" select="@text:outline-level"/>
+ <xsl:with-param name="textStartValue" select="$globalData/office:styles/text:outline-style/text:outline-level-style[@text:level = current()/@text:outline-level]/@text:start-value"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:call-template name="calc-heading-number">
+ <xsl:with-param name="globalData" select="$globalData"/>
+ <xsl:with-param name="outlineLevel" select="@text:outline-level"/>
+ </xsl:call-template>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <!--
+ Find the correct heading no., which is the sum of 'text:start-value'
+ and preceding siblings of 'text:h' with the same 'text:outline-level' (until a text:outline-level with lower value is found).
+ If the 'text:start-value is not set the default value of '1' has to be taken.
+ If a heading number is found (e.g. text:outline-level='3') all heading numbers
+ for the higher levels have to be written out -->
+ <xsl:template name="calc-heading-number">
+ <xsl:param name="globalData"/>
+ <xsl:param name="outlineLevel"/><!-- text level of the heading -->
+ <xsl:param name="iOutlineLevel" select="1"/><!-- iterator, counts from 1 to the text level of the heading -->
+ <xsl:param name="textStartValue" select="1"/><!-- text level to start with, default is '1' -->
+
+ <xsl:choose>
+ <!-- iText levels counts up from '1' to outlineLevel
+ Which means writing a heading number from left to right -->
+ <xsl:when test="$iOutlineLevel &lt; $outlineLevel">
+
+ <!-- Write preceding heading numbers -->
+ <xsl:call-template name="writeNumber">
+ <xsl:with-param name="numberDigit">
+ <xsl:call-template name="calc-heading-digit">
+ <xsl:with-param name="value" select="0"/>
+ <xsl:with-param name="currentoutlineLevel" select="$iOutlineLevel"/>
+ </xsl:call-template>
+ </xsl:with-param>
+ <xsl:with-param name="numberFormat" select="$globalData/office:styles/text:outline-style/text:outline-level-style[@text:level = ($outlineLevel)]/@style:num-format"/>
+ </xsl:call-template>
+ <xsl:choose>
+ <xsl:when test="$globalData/office:styles/text:outline-style/text:outline-level-style[@text:level = ($iOutlineLevel + 1)]/@text:start-value">
+ <xsl:call-template name="calc-heading-number">
+ <xsl:with-param name="globalData" select="$globalData"/>
+ <xsl:with-param name="outlineLevel" select="$outlineLevel"/>
+ <xsl:with-param name="iOutlineLevel" select="$iOutlineLevel + 1"/>
+ <xsl:with-param name="textStartValue" select="$globalData/office:styles/text:outline-style/text:outline-level-style[@text:level = ($iOutlineLevel + 1)]/@text:start-value"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:call-template name="calc-heading-number">
+ <xsl:with-param name="globalData" select="$globalData"/>
+ <xsl:with-param name="outlineLevel" select="$outlineLevel"/>
+ <xsl:with-param name="iOutlineLevel" select="$iOutlineLevel + 1"/>
+ </xsl:call-template>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+ <xsl:otherwise>
+ <!-- Write preceding heading numbers -->
+ <xsl:call-template name="writeNumber">
+ <xsl:with-param name="numberDigit">
+ <xsl:call-template name="calc-heading-digit">
+ <xsl:with-param name="value" select="$textStartValue"/>
+ <xsl:with-param name="currentoutlineLevel" select="$iOutlineLevel"/>
+ </xsl:call-template>
+ </xsl:with-param>
+ <xsl:with-param name="numberFormat" select="$globalData/office:styles/text:outline-style/text:outline-level-style[@text:level = $outlineLevel]/@style:num-format"/>
+ <xsl:with-param name="last" select="true()"/>
+ </xsl:call-template>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <xsl:template name="writeNumber">
+ <xsl:param name="numberDigit"/>
+ <xsl:param name="numberFormat"/>
+ <xsl:param name="last"/>
+
+ <xsl:choose>
+ <xsl:when test="not($numberFormat)">
+ <xsl:number value="$numberDigit" format="1."/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:choose>
+ <xsl:when test="$last">
+ <xsl:number value="$numberDigit" format="{$numberFormat}"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:number value="$numberDigit" format="{$numberFormat}."/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <xsl:template name="calc-heading-digit">
+ <xsl:param name="value"/>
+ <xsl:param name="currentoutlineLevel"/>
+ <xsl:param name="i" select="1"/>
+
+ <xsl:variable name="precedingoutlineLevel" select="preceding-sibling::text:h[$i]/@text:outline-level"/>
+ <xsl:choose>
+ <xsl:when test="$currentoutlineLevel = $precedingoutlineLevel">
+ <xsl:call-template name="calc-heading-digit">
+ <xsl:with-param name="value" select="$value + 1"/>
+ <xsl:with-param name="currentoutlineLevel" select="$currentoutlineLevel"/>
+ <xsl:with-param name="i" select="$i + 1"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:when test="$currentoutlineLevel &lt; $precedingoutlineLevel">
+ <xsl:call-template name="calc-heading-digit">
+ <xsl:with-param name="value" select="$value"/>
+ <xsl:with-param name="currentoutlineLevel" select="$currentoutlineLevel"/>
+ <xsl:with-param name="i" select="$i + 1"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$value"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <!-- Neglect Annotations -->
+ <xsl:template match="office:annotation" mode="concatenate"/>
+
+ <!-- Match text:placeholder child nodes (e.g. text) -->
+ <xsl:template match="text:placeholder">
+ <xsl:param name="globalData"/>
+
+ <xsl:call-template name="apply-styles-and-content">
+ <xsl:with-param name="globalData" select="$globalData"/>
+ </xsl:call-template>
+ </xsl:template>
+
+ <!-- ************* -->
+ <!-- *** Link *** -->
+ <!-- ************* -->
+
+ <xsl:template match="text:a | draw:a">
+ <xsl:param name="globalData"/>
+
+ <xsl:call-template name="create-common-anchor-link">
+ <xsl:with-param name="globalData" select="$globalData"/>
+ </xsl:call-template>
+ </xsl:template>
+
+
+ <xsl:template name="create-common-anchor-link">
+ <xsl:param name="globalData"/>
+
+ <xsl:element name="a">
+ <xsl:attribute name="href">
+ <xsl:call-template name="create-href">
+ <xsl:with-param name="href" select="@xlink:href"/>
+ </xsl:call-template>
+ </xsl:attribute>
+ <xsl:call-template name="apply-styles-and-content">
+ <xsl:with-param name="globalData" select="$globalData"/>
+ </xsl:call-template>
+ </xsl:element>
+ </xsl:template>
+
+
+
+ <!-- ******************* -->
+ <!-- *** Image Link *** -->
+ <!-- ******************* -->
+
+ <!-- currently suggesting that all draw:object-ole elements are images -->
+ <xsl:template match="draw:image | draw:object-ole">
+ <xsl:param name="globalData"/>
+
+ <xsl:choose>
+ <xsl:when test="ancestor::text:p or parent::text:span or parent::text:h or parent::draw:a or parent::text:a or text:ruby-base">
+ <!-- XHTML does not allow the mapped elements to contain paragraphs -->
+ <xsl:call-template name="create-image-element">
+ <xsl:with-param name="globalData" select="$globalData"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <!-- images are embedded in a paragraph, but are in CSS not able to express a horizontal alignment for themself.
+ A 'div' element taking over the image style would solve that problem, but is invalid as child of a paragraph -->
+ <xsl:element name="p">
+ <xsl:apply-templates select="@draw:style-name">
+ <xsl:with-param name="globalData" select="$globalData"/>
+ </xsl:apply-templates>
+
+ <xsl:call-template name="create-image-element">
+ <xsl:with-param name="globalData" select="$globalData"/>
+ </xsl:call-template>
+ </xsl:element>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <xsl:template name="create-image-element">
+ <xsl:param name="globalData"/>
+
+ <xsl:element name="img">
+ <xsl:if test="../@svg:width or ../@svg:height">
+ <xsl:attribute name="style">
+ <xsl:if test="../@svg:height">
+ <xsl:text>height:</xsl:text>
+ <xsl:call-template name="convert2cm">
+ <xsl:with-param name="value" select="../@svg:height"/>
+ </xsl:call-template>
+ <xsl:text>cm;</xsl:text>
+ </xsl:if>
+ <xsl:if test="../@svg:width">
+ <xsl:text>width:</xsl:text>
+ <xsl:call-template name="convert2cm">
+ <xsl:with-param name="value" select="../@svg:width"/>
+ </xsl:call-template>
+ <xsl:text>cm;</xsl:text>
+ </xsl:if>
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:attribute name="alt">
+ <xsl:choose>
+ <xsl:when test="../svg:desc">
+ <xsl:value-of select="../svg:desc"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:message>
+ Accessibility Warning:
+ No alternate text ('svg:desc' element) set for
+ image '<xsl:value-of select="@xlink:href"/>'!</xsl:message>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:attribute>
+
+ <xsl:attribute name="src">
+ <xsl:call-template name="create-href">
+ <xsl:with-param name="href" select="@xlink:href"/>
+ </xsl:call-template>
+ </xsl:attribute>
+
+ <!-- style interpretation only, as no subelements are allowed for img in XHTML -->
+ <xsl:apply-templates select="@draw:style-name">
+ <xsl:with-param name="globalData" select="$globalData"/>
+ </xsl:apply-templates>
+ </xsl:element>
+ </xsl:template>
+
+ <!-- ************ -->
+ <!-- *** list *** -->
+ <!-- ************ -->
+ <!--
+ Due to the requirements below the ODF list functionality is not handled by CSS, but the list labels calculated and written by XSLT.
+
+ REQUIREMENTS:
+ =============
+
+ A)
+ One significant difference between XHTML and Office List elements is that a list without text nodes but only further list children
+ would not show a list symbol in the Office, but in the browser from XHTML.
+
+ B)
+ Since OASIS Open Document XML (implemented in OOo2.0) only one parent type exists for list items
+ the 'text:list' element. The XHTML element 'ol', 'ul' will be choosen upon the list style type.
+
+ C)
+ An Office list may be spread over the whole document. Linked by their style and text:continue-numbering='true'.
+
+ D)
+ An Office list can use characters or images as list label.
+
+ E)
+ An Office list can have a prefix and suffix around the list label.
+
+ F)
+ An Office list style may have the attribute consecutive numbering, which resolves in a list counting for all levels
+
+ G)
+ An Office list may (re)start on any arbitrary value by using @text:start-value on the text:list-item
+
+ INDENDATION:
+ ============
+
+ The indent of a list label is not only calculated by using the text:space-before of the list level (listLevelStyle), but
+ as well taking the left margin of the first paragraph (or heading) of the list into account as loy match="" name="" use=""/>ng it is not negative.
+
+ | MARGIN LEFT | LABEL |
+
+ | text:space-before (listlevelstyle) | text:min-label-width |
+ | + fo:left-margin (firstParagraph) | |
+
+ Further details beyond text:list-list..
+ -->
+ <xsl:key name="listStyles" match=" /*/office:styles/text:list-style | /*/office:automatic-styles/text:list-style | /*/office:styles/style:graphic-properties/text:list-style | /*/office:automatic-styles/style:graphic-properties/text:list-style | /*/office:styles/text:list-style | /*/office:automatic-styles/text:list-style | /*/office:styles/style:graphic-properties/text:list-style | /*/office:automatic-styles/style:graphic-properties/text:list-style" use="@style:name"/>
+
+ <!--
+ A text list may only have text:list-item and text:list-header as children.
+ -->
+ <xsl:template match="text:list">
+ <xsl:param name="globalData"/>
+ <xsl:param name="isListNumberingReset"/>
+ <xsl:param name="isNextLevelNumberingReset"/>
+ <xsl:param name="listLevel" select="1"/>
+ <xsl:param name="listRestart" select="false()"/>
+ <xsl:param name="itemLabel" select="''"/>
+ <xsl:param name="listStyle"/>
+ <xsl:param name="listStyleName" select="@text:style-name"/>
+
+ <!-- To choose list type - get the list style, with the same 'text:style-name' and same 'text:level' >-->
+ <xsl:variable name="listStyleRTF">
+ <xsl:variable name="listStyleInContentFile" select="key('listStyles', $listStyleName)"/>
+ <xsl:choose>
+ <xsl:when test="$listStyleInContentFile">
+ <xsl:copy-of select="$listStyleInContentFile"/>
+ </xsl:when>
+ <xsl:when test="$globalData/office:styles/text:list-style[@style:name = $listStyleName]">
+ <xsl:copy-of select="$globalData/office:styles/text:list-style[@style:name = $listStyleName]"/>
+ </xsl:when>
+ <xsl:when test="$globalData/office:styles/style:graphic-properties/text:list-style[@style:name = $listStyleName]">
+ <xsl:copy-of select="$globalData/office:styles/style:graphic-properties/text:list-style[@style:name = $listStyleName]"/>
+ </xsl:when>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:choose>
+ <xsl:when test="function-available('common:node-set')">
+ <xsl:call-template name="create-list-type">
+ <xsl:with-param name="listStyle" select="common:node-set($listStyleRTF)" />
+ <xsl:with-param name="globalData" select="$globalData"/>
+ <xsl:with-param name="isListNumberingReset" select="$isListNumberingReset"/>
+ <xsl:with-param name="isNextLevelNumberingReset" select="$isNextLevelNumberingReset"/>
+ <xsl:with-param name="listLevel" select="$listLevel"/>
+ <xsl:with-param name="listRestart" select="$listRestart"/>
+ <xsl:with-param name="itemLabel" select="$itemLabel"/>
+ <xsl:with-param name="listStyleName" select="$listStyleName" />
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:when test="function-available('xalan:nodeset')">
+ <xsl:call-template name="create-list-type">
+ <xsl:with-param name="listStyle" select="xalan:nodeset($listStyleRTF)" />
+ <xsl:with-param name="globalData" select="$globalData"/>
+ <xsl:with-param name="isListNumberingReset" select="$isListNumberingReset"/>
+ <xsl:with-param name="isNextLevelNumberingReset" select="$isNextLevelNumberingReset"/>
+ <xsl:with-param name="listLevel" select="$listLevel"/>
+ <xsl:with-param name="listRestart" select="$listRestart"/>
+ <xsl:with-param name="itemLabel" select="$itemLabel"/>
+ <xsl:with-param name="listStyleName" select="$listStyleName" />
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:when test="function-available('xt:node-set')">
+ <xsl:call-template name="create-list-type">
+ <xsl:with-param name="listStyle" select="xt:node-set($listStyleRTF)" />
+ <xsl:with-param name="globalData" select="$globalData"/>
+ <xsl:with-param name="isListNumberingReset" select="$isListNumberingReset"/>
+ <xsl:with-param name="isNextLevelNumberingReset" select="$isNextLevelNumberingReset"/>
+ <xsl:with-param name="listLevel" select="$listLevel"/>
+ <xsl:with-param name="listRestart" select="$listRestart"/>
+ <xsl:with-param name="itemLabel" select="$itemLabel"/>
+ <xsl:with-param name="listStyleName" select="$listStyleName" />
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:message terminate="yes">The required node-set function was not found!</xsl:message>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <xsl:template name="create-list-type">
+ <xsl:param name="globalData"/>
+ <xsl:param name="isListNumberingReset"/>
+ <xsl:param name="isNextLevelNumberingReset"/>
+ <xsl:param name="listLevel" />
+ <xsl:param name="listRestart" />
+ <xsl:param name="itemLabel"/>
+ <xsl:param name="listStyle"/>
+ <xsl:param name="listStyleName" />
+
+ <!-- $globalData/styles-file/*/office:styles/ -->
+ <xsl:variable name="listLevelStyle" select="$listStyle/*/*[@text:level = number($listLevel)]"/>
+ <xsl:variable name="listIndent">
+ <xsl:call-template name="getListIndent">
+ <xsl:with-param name="globalData" select="$globalData"/>
+ <xsl:with-param name="listLevelStyle" select="$listLevelStyle"/>
+ <xsl:with-param name="firstPara" select="*[1]/*[name() = 'text:p' or name() = 'text:h'][1]"/>
+ </xsl:call-template>
+ </xsl:variable>
+ <xsl:variable name="isEmptyList" select="not(*[1]/*[name() = 'text:h' or name() = 'text:p' or name() = 'text:name'])"/>
+ <xsl:variable name="listType">
+ <xsl:choose>
+ <!-- ordered list -->
+ <xsl:when test="name($listLevelStyle) = 'text:list-level-style-number'">
+ <xsl:text>ol</xsl:text>
+ </xsl:when>
+ <!-- unordered list (bullet or image) -->
+ <xsl:otherwise>
+ <xsl:text>ul</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:element name="{$listType}">
+ <xsl:apply-templates select="*[1]" mode="listItemSibling">
+ <xsl:with-param name="globalData" select="$globalData"/>
+ <xsl:with-param name="isEmptyList" select="$isEmptyList"/>
+ <xsl:with-param name="isListNumberingReset" select="$isNextLevelNumberingReset"/>
+ <xsl:with-param name="isNextLevelNumberingReset">
+ <xsl:choose>
+ <xsl:when test="$isListNumberingReset">
+ <xsl:value-of select="true()"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <!-- A list is empty if a text:list does not have a text:list-header or text:list-item (wildcard as only those can exist beyond a text:list), which contains a text:h or text:p -->
+ <xsl:value-of select="not($isEmptyList)"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:with-param>
+ <xsl:with-param name="itemLabel" select="$itemLabel"/>
+ <xsl:with-param name="listIndent" select="$listIndent"/>
+ <xsl:with-param name="listLevel" select="$listLevel"/>
+ <xsl:with-param name="listLevelStyle" select="$listLevelStyle"/>
+ <xsl:with-param name="listRestart">
+ <xsl:choose>
+ <xsl:when test="$listRestart">
+ <xsl:value-of select="$listRestart"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <!-- descdendants restart their list numbering, when an ancestor is not empty -->
+ <xsl:value-of select="not($isEmptyList)"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:with-param>
+ <xsl:with-param name="listStyle" select="$listStyle"/>
+ <xsl:with-param name="listStyleName" select="$listStyleName"/>
+ <xsl:with-param name="minLabelDist">
+ <xsl:choose>
+ <xsl:when test="$listLevelStyle/*/@text:min-label-distance">
+ <xsl:call-template name="convert2cm">
+ <xsl:with-param name="value" select="$listLevelStyle/*/@text:min-label-distance"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>0</xsl:otherwise>
+ </xsl:choose>
+ </xsl:with-param>
+ <xsl:with-param name="minLabelWidth">
+ <xsl:choose>
+ <xsl:when test="$listLevelStyle/*/@text:min-label-width">
+ <xsl:call-template name="convert2cm">
+ <xsl:with-param name="value" select="$listLevelStyle/*/@text:min-label-width"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>0</xsl:otherwise>
+ </xsl:choose>
+ </xsl:with-param>
+ </xsl:apply-templates>
+ </xsl:element>
+ </xsl:template>
+
+ <!-- See comment before text:list template -->
+ <xsl:template name="getListIndent">
+ <xsl:param name="globalData"/>
+ <xsl:param name="listLevelStyle"/>
+ <!-- The first paragraph of the list item (heading is special paragraph in ODF) -->
+ <xsl:param name="firstPara" />
+
+ <!-- Styles of first paragraph in list item, including ancestor styles (inheritance) -->
+ <xsl:variable name="firstParaStyles" select="$globalData/all-styles/style[@style:name = $firstPara/@text:style-name]/final-properties"/>
+
+ <!-- Only the left margin of the first paragraph of a list item will be added to the margin of the complete list (all levels)-->
+ <xsl:variable name="firstParaLeftMargin">
+ <xsl:choose>
+ <xsl:when test="contains($firstParaStyles, 'margin-left:')">
+ <xsl:call-template name="convert2cm">
+ <xsl:with-param name="value" select="normalize-space(substring-before(substring-after($firstParaStyles, 'margin-left:'), ';'))"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>0</xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+ <xsl:variable name="spaceBefore">
+ <xsl:choose>
+ <xsl:when test="$listLevelStyle/*/@text:space-before">
+ <xsl:call-template name="convert2cm">
+ <xsl:with-param name="value" select="$listLevelStyle/*/@text:space-before"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>0</xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+ <!-- Only if the left-margin of the first paragraph is positive the sum
+ text:space-before and fo:left-margin is taken as list indent -->
+ <xsl:choose>
+ <xsl:when test="$firstParaLeftMargin &gt; 0">
+ <xsl:value-of select="$firstParaLeftMargin + $spaceBefore"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$spaceBefore"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <!-- ****************** -->
+ <!-- *** list item *** -->
+ <!-- ****************** -->
+<!--
+ Left margin of the complete list:
+ The space between left page and the list symbol (left-margin) is in the Office implemented by
+ the sum of three values:
+ 1) 'text:space-before', which is part of the 'text:list-style' element.
+ 2) 'margin:left' from the style of the first child (e.g. paragraph).
+ 3) 'fo:text-indent' the indent of the first line of some child (e.g. paragraph) (applied by CSS class style)
+
+ Possible list children:
+ <!ELEMENT text:list-item (text:p|text:h|text:list|text:list)+>
+
+ In the Office the list label before the text depends on two attributes:
+ - 'text:min-label-width': the distance between list label and all text of the list item.
+ - 'text:min-label-distance': the distance between list label and text of the first line,
+ only used, when text does not fit in text:min-label-width (ignored)
+
+-->
+ <xsl:template match="text:list-item | text:list-header" mode="listItemSibling">
+ <xsl:param name="globalData"/>
+ <xsl:param name="firstitemLabelWidth"/>
+ <xsl:param name="isEmptyList" select="not(*[name() = 'text:h' or name() = 'text:p' or name() = 'text:name'])"/>
+ <xsl:param name="isListNumberingReset"/>
+ <xsl:param name="isNextLevelNumberingReset"/>
+ <xsl:param name="itemNumber"/>
+ <xsl:param name="itemLabel"/>
+ <xsl:param name="listLevel"/>
+ <xsl:param name="listLevelStyle"/>
+ <xsl:param name="listRestart"/>
+ <xsl:param name="listStyle"/>
+ <xsl:param name="listStyleName"/>
+ <xsl:param name="minLabelDist"/>
+ <xsl:param name="minLabelWidth"/>
+ <xsl:param name="listIndent" />
+
+
+ <xsl:variable name="listIndentNew">
+ <xsl:choose>
+ <xsl:when test="$listIndent">
+ <xsl:value-of select="$listIndent"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:call-template name="getListIndent">
+ <xsl:with-param name="globalData" select="$globalData"/>
+ <xsl:with-param name="listLevelStyle" select="$listLevelStyle"/>
+ <xsl:with-param name="firstPara" select="*[name() = 'text:p' or name() = 'text:h'][1]" />
+ </xsl:call-template>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+ <xsl:variable name="itemNumberNew">
+ <xsl:if test="$listStyle/text:list-style/text:list-level-style-number">
+ <xsl:choose>
+ <xsl:when test="$isEmptyList">
+ <!-- An empty list item (no text:h/text:p as child), will not count as item and does not increment the count. -->
+ <xsl:variable name="tempItemNumber">
+ <xsl:choose>
+ <!-- siblings will be incremented by one -->
+ <xsl:when test="$itemNumber">
+ <xsl:value-of select="$itemNumber + 1"/>
+ </xsl:when>
+ <!-- if a higher list level had content the numbering starts with 1 -->
+ <xsl:when test="$isListNumberingReset and $listLevel &gt; 1">
+ <xsl:value-of select="1"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:call-template name="getItemNumber">
+ <xsl:with-param name="listStyleName" select="$listStyleName"/>
+ <xsl:with-param name="listLevel" select="$listLevel"/>
+ <xsl:with-param name="listLevelStyle" select="$listLevelStyle"/>
+ <xsl:with-param name="listStyle" select="$listStyle"/>
+ </xsl:call-template>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+ <xsl:choose>
+ <!-- in case the empty list-item is the first list-item in document -->
+ <xsl:when test="$tempItemNumber = 1">
+ <xsl:value-of select="1"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$tempItemNumber - 1"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:choose>
+ <xsl:when test="@text:start-value">
+ <xsl:value-of select="@text:start-value"/>
+ </xsl:when>
+ <!-- text:start-value from list level style will only be taken on the first list-item of a list -->
+ <xsl:when test="$listLevelStyle/@text:start-value and count(preceding-sibling::text:list-item) = 0">
+ <xsl:value-of select="$listLevelStyle/@text:start-value"/>
+ </xsl:when>
+ <!-- siblings will be incremented by one -->
+ <xsl:when test="$itemNumber">
+ <xsl:value-of select="$itemNumber + 1"/>
+ </xsl:when>
+ <!-- if a higher list level had content the numbering starts with 1 -->
+ <xsl:when test="$isListNumberingReset and $listLevel &gt; 1">
+ <xsl:value-of select="1"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:call-template name="getItemNumber">
+ <xsl:with-param name="listStyleName" select="$listStyleName"/>
+ <xsl:with-param name="listLevel" select="$listLevel"/>
+ <xsl:with-param name="listLevelStyle" select="$listLevelStyle"/>
+ <xsl:with-param name="listStyle" select="$listStyle"/>
+ </xsl:call-template>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:if>
+ </xsl:variable>
+ <xsl:variable name="itemLabelNew">
+ <xsl:if test="$listStyle/text:list-style/text:list-level-style-number">
+ <!--
+ A numbered label (e.g. 2.C.III) is created for every text:list-item/header.
+ Above list levels are listed in the label, if the list-style requires this. Levels are separated by a '.'
+ Formatation is dependent for every list level depth.
+ The label is passed from anchestor text:list-item/header and if requrired truncated.
+ The prefix/suffix (as well list level dependent) comes before and after the complete label (after truncation)
+ -->
+ <!-- Numbered label will be generated -->
+ <xsl:call-template name="createItemLabel">
+ <xsl:with-param name="itemNumber" select="$itemNumberNew"/>
+ <xsl:with-param name="itemLabel" select="$itemLabel"/>
+ <xsl:with-param name="listLevelsToDisplay">
+ <xsl:variable name="display" select="$listLevelStyle/@text:display-levels"/>
+ <xsl:choose>
+ <xsl:when test="$display">
+ <xsl:value-of select="$display"/>
+ </xsl:when>
+ <xsl:otherwise>1</xsl:otherwise>
+ </xsl:choose>
+ </xsl:with-param>
+ <xsl:with-param name="listLevel" select="$listLevel"/>
+ <xsl:with-param name="listLevelStyle" select="$listLevelStyle"/>
+ </xsl:call-template>
+ </xsl:if>
+ </xsl:variable>
+ <xsl:element name="li">
+ <xsl:choose>
+ <xsl:when test="$isEmptyList">
+ <xsl:apply-templates>
+ <xsl:with-param name="globalData" select="$globalData"/>
+ <xsl:with-param name="itemLabel" select="$itemLabelNew"/>
+ <xsl:with-param name="listLevel" select="$listLevel + 1"/>
+ <xsl:with-param name="listStyleName" select="$listStyleName"/>
+ </xsl:apply-templates>
+ </xsl:when>
+ <xsl:otherwise>
+ <!-- Possible following children are text:h, text:p, list:text, text:soft-page-break -->
+ <xsl:apply-templates mode="list-item-children" select="*[1]">
+ <xsl:with-param name="globalData" select="$globalData"/>
+ <xsl:with-param name="isEmptyList" select="$isEmptyList"/>
+ <xsl:with-param name="isNextLevelNumberingReset" select="$isNextLevelNumberingReset"/>
+ <!-- The new created label is given to the children -->
+ <xsl:with-param name="itemLabel" select="$itemLabelNew"/>
+ <xsl:with-param name="listLabelElement">
+ <xsl:choose>
+ <xsl:when test="name() = 'text:list-header'"/>
+ <xsl:otherwise>
+ <xsl:variable name="listLabelWidth">
+ <xsl:choose>
+ <xsl:when test="$minLabelWidth &gt; $minLabelDist">
+ <xsl:value-of select="$minLabelWidth"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$minLabelDist"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+ <!-- Numbering is being done by this transformation creating a HTML span representing the number label
+ The html:span represents the list item/header label (e.g. 1.A.III)
+ As the html:span is usually a inline element is formated by CSS as block element to use width upon it,
+ to disable the caridge return float:left is used and later neglected -->
+ <xsl:element name="span">
+ <xsl:if test="$listLevelStyle/@text:style-name">
+ <xsl:attribute name="class">
+ <xsl:value-of select="$listLevelStyle/@text:style-name"/>
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:attribute name="style">
+ <xsl:text>display:block;float:</xsl:text>
+ <!-- 2DO: Svante - copy this functionality for other used margin:left (in western country 'left') -->
+ <xsl:call-template name="getOppositeWritingDirection">
+ <xsl:with-param name="globalData" select="$globalData"/>
+ <xsl:with-param name="paraStyleName" select="descendant-or-self::*/@text:style-name"/>
+ </xsl:call-template>
+ <xsl:text>;min-width:</xsl:text>
+ <xsl:value-of select="$listLabelWidth"/>
+ <xsl:text>cm</xsl:text>
+ </xsl:attribute>
+ <xsl:variable name="labelContent">
+ <xsl:choose>
+ <xsl:when test="text:number">
+ <xsl:apply-templates select="text:number" mode="listnumber"/>
+ </xsl:when>
+ <xsl:when test="name($listLevelStyle) = 'text:list-level-style-bullet'">
+ <xsl:value-of select="$listLevelStyle/@style:num-prefix"/>
+ <xsl:value-of select="$listLevelStyle/@text:bullet-char"/>
+ <xsl:value-of select="$listLevelStyle/@style:num-suffix"/>
+ </xsl:when>
+ <xsl:when test="name($listLevelStyle) = 'text:list-level-style-number'">
+ <xsl:value-of select="$listLevelStyle/@style:num-prefix"/>
+ <xsl:value-of select="$itemLabelNew"/>
+ <xsl:value-of select="$listLevelStyle/@style:num-suffix"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <!-- Listing with image as bullets, taken from the list style's href -->
+ <xsl:value-of select="$listLevelStyle/@xlink:href"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+ <!-- Some browsers have problem with stand-alone elements (e.g. <span/>)
+ Therefore a comment is being inserted into an empty label -->
+ <xsl:choose>
+ <xsl:when test="$labelContent != ''">
+ <xsl:value-of select="$labelContent"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:comment>&#160;</xsl:comment>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:element>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:with-param>
+ <xsl:with-param name="listLabelEmptyElement">
+ <xsl:variable name="listLabelWidth">
+ <xsl:choose>
+ <xsl:when test="$minLabelWidth &gt; $minLabelDist">
+ <xsl:value-of select="$minLabelWidth"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$minLabelDist"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+ <xsl:element name="span">
+ <xsl:if test="$listLevelStyle/@text:style-name">
+ <xsl:attribute name="class">
+ <xsl:value-of select="$listLevelStyle/@text:style-name"/>
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:attribute name="style">
+ <xsl:text>display:block;float:</xsl:text>
+ <xsl:call-template name="getOppositeWritingDirection">
+ <xsl:with-param name="globalData" select="$globalData"/>
+ <xsl:with-param name="paraStyleName" select="descendant-or-self::*/@text:style-name"/>
+ </xsl:call-template>
+ <xsl:text>;min-width:</xsl:text>
+ <xsl:value-of select="$listLabelWidth"/>
+ <xsl:text>cm</xsl:text>
+ </xsl:attribute>
+ <xsl:comment>&#160;</xsl:comment>
+ </xsl:element>
+ </xsl:with-param>
+ <xsl:with-param name="listLevel" select="$listLevel + 1"/>
+ <xsl:with-param name="listLevelStyle" select="$listLevelStyle"/>
+ <xsl:with-param name="listRestart" select="$listRestart"/>
+ <xsl:with-param name="listStyle" select="$listStyle"/>
+ <xsl:with-param name="listStyleName" select="$listStyleName"/>
+ <xsl:with-param name="listIndent" select="$listIndentNew"/>
+ <xsl:with-param name="minLabelWidth" select="$minLabelWidth"/>
+ </xsl:apply-templates>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:element>
+ <xsl:apply-templates select="following-sibling::*[1]" mode="listItemSibling">
+ <xsl:with-param name="globalData" select="$globalData"/>
+ <xsl:with-param name="isListNumberingReset" select="$isListNumberingReset"/>
+ <xsl:with-param name="isNextLevelNumberingReset" select="$isNextLevelNumberingReset"/>
+ <xsl:with-param name="itemNumber" select="$itemNumberNew"/>
+ <xsl:with-param name="listIndent">
+ <xsl:choose>
+ <xsl:when test="not($isEmptyList)">
+ <xsl:value-of select="$listIndentNew"/>
+ </xsl:when>
+ </xsl:choose>
+ </xsl:with-param>
+ <!-- Receives the same parent label -->
+ <xsl:with-param name="itemLabel" select="$itemLabel"/>
+ <xsl:with-param name="listLevel" select="$listLevel"/>
+ <xsl:with-param name="listLevelStyle" select="$listLevelStyle"/>
+ <xsl:with-param name="listStyle" select="$listStyle"/>
+ <xsl:with-param name="listStyleName" select="$listStyleName"/>
+ <xsl:with-param name="minLabelDist" select="$minLabelDist"/>
+ <xsl:with-param name="minLabelWidth" select="$minLabelWidth"/>
+ </xsl:apply-templates>
+ </xsl:template>
+
+ <xsl:template name="getOppositeWritingDirection">
+ <xsl:param name="globalData"/>
+ <xsl:param name="paraStyleName"/>
+
+ <xsl:variable name="imageParagraphStyle" select="$globalData/all-styles/style[@style:name = $paraStyleName]/final-properties"/>
+
+ <xsl:choose>
+ <xsl:when test="contains($imageParagraphStyle, 'writing-mode:')">
+ <xsl:choose>
+ <xsl:when test="contains(substring-before(substring-after($imageParagraphStyle, 'writing-mode:'), ';'), 'rl')">right</xsl:when>
+ <xsl:otherwise>left</xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+ <xsl:otherwise>left</xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <xsl:template match="text:number" mode="listnumber">
+ <xsl:apply-templates/>
+ </xsl:template>
+
+ <xsl:template match="text:number" mode="list-item-children">
+ <xsl:param name="globalData"/>
+ <xsl:param name="listLabelElement"/>
+ <xsl:param name="listLabelEmptyElement"/>
+ <xsl:param name="isEmptyList"/>
+ <xsl:param name="isListNumberingReset"/>
+ <xsl:param name="isNextLevelNumberingReset"/>
+ <xsl:param name="itemLabel"/>
+ <xsl:param name="itemNumber"/>
+ <xsl:param name="listIndent"/>
+ <xsl:param name="listLevel"/>
+ <xsl:param name="listLevelStyle" />
+ <xsl:param name="listRestart"/>
+ <xsl:param name="listStyle"/>
+ <xsl:param name="listStyleName"/>
+ <xsl:param name="minLabelWidth"/>
+
+ <xsl:apply-templates mode="list-item-children" select="following-sibling::*[1]">
+ <xsl:with-param name="globalData" select="$globalData"/>
+ <xsl:with-param name="isEmptyList" select="$isEmptyList"/>
+ <xsl:with-param name="isNextLevelNumberingReset" select="$isNextLevelNumberingReset"/>
+ <xsl:with-param name="itemLabel" select="$itemLabel"/>
+ <xsl:with-param name="listLabelElement" select="$listLabelElement"/>
+ <xsl:with-param name="listLabelEmptyElement" select="$listLabelEmptyElement"/>
+ <xsl:with-param name="listLevel" select="$listLevel"/>
+ <xsl:with-param name="listLevelStyle" select="$listLevelStyle"/>
+ <xsl:with-param name="listRestart" select="$listRestart"/>
+ <xsl:with-param name="listStyle" select="$listStyle"/>
+ <xsl:with-param name="listStyleName" select="$listStyleName"/>
+ <xsl:with-param name="listIndent" select="$listIndent"/>
+ <xsl:with-param name="minLabelWidth" select="$minLabelWidth"/>
+ </xsl:apply-templates>
+ </xsl:template>
+
+ <!-- Each key element holds the set of all text:list-item/text:list-header of a certain level and a certain style -->
+ <xsl:key name="getListItemsByLevelAndStyle" use="concat(count(ancestor::text:list), ancestor::text:list/@text:style-name)" match="text:list-item | text:list-header"/>
+ <!-- Each key element holds the set of all text:list-item/text:list-header of a certain style -->
+ <xsl:key name="getListItemsByStyle" use="ancestor::text:list/@text:style-name" match="text:list-item | text:list-header"/>
+
+
+ <!-- The Numbering start value (or offset from regular counteing) is used at the first item of offset,
+ but have to be reused on following item/headers with no text:start-value -->
+ <xsl:template name="getItemNumber">
+ <xsl:param name="listLevel"/>
+ <xsl:param name="listLevelStyle"/>
+ <xsl:param name="listStyleName"/>
+ <xsl:param name="listStyle"/>
+
+ <xsl:call-template name="countListItemTillStartValue">
+ <xsl:with-param name="listLevel" select="$listLevel"/>
+ <xsl:with-param name="listLevelStyle" select="$listLevelStyle"/>
+ <xsl:with-param name="listStyleName" select="$listStyleName"/>
+ <xsl:with-param name="listStyle" select="$listStyle"/>
+ <xsl:with-param name="precedingListItemsOfSameLevelAndStyle" select="preceding::text:list-item[generate-id(key('getListItemsByLevelAndStyle', concat($listLevel, $listStyleName))) = generate-id(key('getListItemsByLevelAndStyle', concat(count(ancestor::text:list), ancestor::text:list/@text:style-name)))]"/>
+
+ <xsl:with-param name="precedingListItemsOfSameStyle" select="preceding::text:list-item[generate-id(key('getListItemsByStyle', $listStyleName)) = generate-id(key('getListItemsByStyle', ancestor::text:list/@text:style-name))]"/>
+ </xsl:call-template>
+ </xsl:template>
+
+ <!-- When there is a text:start-value the last have to be found and added to the number -->
+ <xsl:template name="countListItemTillStartValue">
+ <xsl:param name="IteratorSameLevelAndStyle" select="1"/>
+ <xsl:param name="IteratorSameStyle" select="1"/>
+ <xsl:param name="itemNumber" select="1"/>
+ <xsl:param name="listLevel"/>
+ <xsl:param name="listLevelStyle"/>
+ <xsl:param name="listStyle"/>
+ <xsl:param name="listStyleName"/>
+ <xsl:param name="precedingListItemsOfSameLevelAndStyle" />
+ <xsl:param name="precedingListItemsOfSameLevelAndStyleCount" select="count($precedingListItemsOfSameLevelAndStyle)"/>
+ <xsl:param name="precedingListItemsOfSameStyle" />
+ <xsl:param name="precedingListItemsOfSameStyleCount" select="count($precedingListItemsOfSameStyle)"/>
+ <!-- E.g.: If a list level 2 number is searched, a level 3 with content found with only a level 1 parent with content,
+ the level 3 gets a 'pseudoLevel' -->
+ <xsl:param name="pseudoLevel" select="0" />
+
+ <!-- set the next of preceding list items. Starting from the current to the next previous text:list-item -->
+ <xsl:variable name="precedingListItemOfSameLevelAndStyle" select="$precedingListItemsOfSameLevelAndStyle[$precedingListItemsOfSameLevelAndStyleCount - $IteratorSameLevelAndStyle + 1]"/>
+ <xsl:variable name="precedingListItemOfSameStyle" select="$precedingListItemsOfSameStyle[$precedingListItemsOfSameStyleCount - $IteratorSameStyle + 1]"/>
+ <xsl:choose>
+ <xsl:when test="($precedingListItemOfSameStyle and $precedingListItemOfSameLevelAndStyle) or ($precedingListItemOfSameStyle and $listStyle/text:list-style/@text:consecutive-numbering)">
+ <xsl:for-each select="$precedingListItemOfSameStyle">
+ <xsl:choose>
+ <!-- if it is a higher list level element -->
+ <xsl:when test="$listStyle/text:list-style/@text:consecutive-numbering">
+
+ <xsl:call-template name="countListItem">
+ <xsl:with-param name="IteratorSameLevelAndStyle" select="$IteratorSameLevelAndStyle" />
+ <xsl:with-param name="IteratorSameStyle" select="$IteratorSameStyle"/>
+ <xsl:with-param name="itemNumber" select="$itemNumber"/>
+ <xsl:with-param name="listLevel" select="$listLevel"/>
+ <xsl:with-param name="listLevelStyle" select="$listLevelStyle"/>
+ <xsl:with-param name="listStyle" select="$listStyle"/>
+ <xsl:with-param name="precedingListItemsOfSameLevelAndStyle" select="$precedingListItemsOfSameLevelAndStyle"/>
+ <xsl:with-param name="precedingListItemsOfSameLevelAndStyleCount" select="$precedingListItemsOfSameLevelAndStyleCount"/>
+ <xsl:with-param name="precedingListItemsOfSameStyle" select="$precedingListItemsOfSameStyle"/>
+ <xsl:with-param name="precedingListItemsOfSameStyleCount" select="$precedingListItemsOfSameStyleCount"/>
+ <xsl:with-param name="pseudoLevel" select="$pseudoLevel" />
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <!-- NOT CONSECUTIVE NUMBERING -->
+ <xsl:variable name="currentListLevel" select="count(ancestor::text:list)"/>
+ <xsl:choose>
+ <!-- IF IT IS A HIGHER LIST LEVEL ELEMENT -->
+ <xsl:when test="$currentListLevel &lt; $listLevel">
+ <xsl:choose>
+ <!-- if it has content the counting is ended -->
+ <xsl:when test="*[name() = 'text:h' or name() = 'text:p']">
+ <!-- 2DO: Perhaps the children still have to be processed -->
+ <xsl:value-of select="$itemNumber + $pseudoLevel"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <!-- if it is empty the counting continues -->
+ <xsl:call-template name="countListItemTillStartValue">
+ <xsl:with-param name="IteratorSameLevelAndStyle" select="$IteratorSameLevelAndStyle" />
+ <xsl:with-param name="IteratorSameStyle" select="$IteratorSameStyle + 1"/>
+ <xsl:with-param name="itemNumber" select="$itemNumber"/>
+ <xsl:with-param name="listLevel" select="$listLevel"/>
+ <xsl:with-param name="listLevelStyle" select="$listLevelStyle"/>
+ <xsl:with-param name="listStyle" select="$listStyle"/>
+ <xsl:with-param name="precedingListItemsOfSameLevelAndStyle" select="$precedingListItemsOfSameLevelAndStyle"/>
+ <xsl:with-param name="precedingListItemsOfSameLevelAndStyleCount" select="$precedingListItemsOfSameLevelAndStyleCount"/>
+ <xsl:with-param name="precedingListItemsOfSameStyle" select="$precedingListItemsOfSameStyle"/>
+ <xsl:with-param name="precedingListItemsOfSameStyleCount" select="$precedingListItemsOfSameStyleCount"/>
+ <xsl:with-param name="pseudoLevel" select="$pseudoLevel" />
+ </xsl:call-template>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+ <!-- IF IT IS A LIST LEVEL ELEMENT OF THE COUNTING LEVEL -->
+ <xsl:when test="$currentListLevel = $listLevel">
+ <xsl:call-template name="countListItem">
+ <xsl:with-param name="IteratorSameLevelAndStyle" select="$IteratorSameLevelAndStyle" />
+ <xsl:with-param name="IteratorSameStyle" select="$IteratorSameStyle"/>
+ <xsl:with-param name="itemNumber" select="$itemNumber"/>
+ <xsl:with-param name="listLevel" select="$listLevel"/>
+ <xsl:with-param name="listLevelStyle" select="$listLevelStyle"/>
+ <xsl:with-param name="listStyle" select="$listStyle"/>
+ <xsl:with-param name="precedingListItemsOfSameLevelAndStyle" select="$precedingListItemsOfSameLevelAndStyle"/>
+ <xsl:with-param name="precedingListItemsOfSameLevelAndStyleCount" select="$precedingListItemsOfSameLevelAndStyleCount"/>
+ <xsl:with-param name="precedingListItemsOfSameStyle" select="$precedingListItemsOfSameStyle"/>
+ <xsl:with-param name="precedingListItemsOfSameStyleCount" select="$precedingListItemsOfSameStyleCount"/>
+ <xsl:with-param name="pseudoLevel" select="$pseudoLevel" />
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <!-- list item below the current level does not count -->
+ <xsl:call-template name="countListItemTillStartValue">
+ <xsl:with-param name="IteratorSameLevelAndStyle" select="$IteratorSameLevelAndStyle" />
+ <xsl:with-param name="IteratorSameStyle" select="$IteratorSameStyle + 1"/>
+ <xsl:with-param name="itemNumber" select="$itemNumber"/>
+ <xsl:with-param name="listLevel" select="$listLevel"/>
+ <xsl:with-param name="listLevelStyle" select="$listLevelStyle"/>
+ <xsl:with-param name="listStyle" select="$listStyle"/>
+ <xsl:with-param name="listStyleName" select="$listStyleName"/>
+ <xsl:with-param name="precedingListItemsOfSameLevelAndStyle" select="$precedingListItemsOfSameLevelAndStyle"/>
+ <xsl:with-param name="precedingListItemsOfSameLevelAndStyleCount" select="$precedingListItemsOfSameLevelAndStyleCount"/>
+ <xsl:with-param name="precedingListItemsOfSameStyle" select="$precedingListItemsOfSameStyle"/>
+ <xsl:with-param name="precedingListItemsOfSameStyleCount" select="$precedingListItemsOfSameStyleCount"/>
+ <xsl:with-param name="pseudoLevel">
+ <xsl:choose>
+ <!-- empty list item does not count -->
+ <xsl:when test="not(*[name() = 'text:h' or name() = 'text:p'])">
+ <xsl:value-of select="$pseudoLevel"/>
+ </xsl:when>
+ <xsl:otherwise>1</xsl:otherwise>
+ </xsl:choose>
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:for-each>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$itemNumber"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <xsl:template name="countListItem">
+ <xsl:param name="IteratorSameLevelAndStyle"/>
+ <xsl:param name="IteratorSameStyle"/>
+ <xsl:param name="itemNumber"/>
+ <xsl:param name="listLevel"/>
+ <xsl:param name="listLevelStyle"/>
+ <xsl:param name="listStyle"/>
+ <xsl:param name="listStyleName"/>
+ <xsl:param name="precedingListItemsOfSameLevelAndStyle"/>
+ <xsl:param name="precedingListItemsOfSameLevelAndStyleCount"/>
+ <xsl:param name="precedingListItemsOfSameStyle"/>
+ <xsl:param name="precedingListItemsOfSameStyleCount"/>
+ <xsl:param name="pseudoLevel" />
+
+ <xsl:choose>
+ <xsl:when test="@text:start-value">
+ <xsl:choose>
+ <xsl:when test="not(*[name() = 'text:h' or name() = 'text:p'])">
+ <!-- empty list item does not count -->
+ <xsl:call-template name="countListItemTillStartValue">
+ <xsl:with-param name="IteratorSameLevelAndStyle" select="$IteratorSameLevelAndStyle + 1" />
+ <xsl:with-param name="IteratorSameStyle" select="$IteratorSameStyle + 1"/>
+ <xsl:with-param name="itemNumber" select="$itemNumber"/>
+ <xsl:with-param name="listLevel" select="$listLevel"/>
+ <xsl:with-param name="listLevelStyle" select="$listLevelStyle"/>
+ <xsl:with-param name="listStyle" select="$listStyle"/>
+ <xsl:with-param name="precedingListItemsOfSameLevelAndStyle" select="$precedingListItemsOfSameLevelAndStyle"/>
+ <xsl:with-param name="precedingListItemsOfSameLevelAndStyleCount" select="$precedingListItemsOfSameLevelAndStyleCount"/>
+ <xsl:with-param name="precedingListItemsOfSameStyle" select="$precedingListItemsOfSameStyle"/>
+ <xsl:with-param name="precedingListItemsOfSameStyleCount" select="$precedingListItemsOfSameStyleCount"/>
+ <xsl:with-param name="pseudoLevel" select="$pseudoLevel" />
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$itemNumber + @text:start-value"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+ <xsl:when test="$listLevelStyle/@text:start-value">
+ <xsl:choose>
+ <xsl:when test="not(*[name() = 'text:h' or name() = 'text:p'])">
+ <!-- empty list item does not count -->
+ <xsl:call-template name="countListItemTillStartValue">
+ <xsl:with-param name="IteratorSameLevelAndStyle" select="$IteratorSameLevelAndStyle + 1" />
+ <xsl:with-param name="IteratorSameStyle" select="$IteratorSameStyle + 1"/>
+ <xsl:with-param name="itemNumber" select="$itemNumber"/>
+ <xsl:with-param name="listLevel" select="$listLevel"/>
+ <xsl:with-param name="listLevelStyle" select="$listLevelStyle"/>
+ <xsl:with-param name="listStyle" select="$listStyle"/>
+ <xsl:with-param name="precedingListItemsOfSameLevelAndStyle" select="$precedingListItemsOfSameLevelAndStyle"/>
+ <xsl:with-param name="precedingListItemsOfSameLevelAndStyleCount" select="$precedingListItemsOfSameLevelAndStyleCount"/>
+ <xsl:with-param name="precedingListItemsOfSameStyle" select="$precedingListItemsOfSameStyle"/>
+ <xsl:with-param name="precedingListItemsOfSameStyleCount" select="$precedingListItemsOfSameStyleCount"/>
+ <xsl:with-param name="pseudoLevel" select="$pseudoLevel" />
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$itemNumber + $listLevelStyle/@text:start-value"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:choose>
+ <xsl:when test="not(*[name() = 'text:h' or name() = 'text:p'])">
+ <!-- empty list item does not count -->
+ <xsl:call-template name="countListItemTillStartValue">
+ <xsl:with-param name="IteratorSameLevelAndStyle" select="$IteratorSameLevelAndStyle + 1" />
+ <xsl:with-param name="IteratorSameStyle" select="$IteratorSameStyle + 1"/>
+ <xsl:with-param name="itemNumber" select="$itemNumber"/>
+ <xsl:with-param name="listLevel" select="$listLevel"/>
+ <xsl:with-param name="listLevelStyle" select="$listLevelStyle"/>
+ <xsl:with-param name="listStyle" select="$listStyle"/>
+ <xsl:with-param name="precedingListItemsOfSameLevelAndStyle" select="$precedingListItemsOfSameLevelAndStyle"/>
+ <xsl:with-param name="precedingListItemsOfSameLevelAndStyleCount" select="$precedingListItemsOfSameLevelAndStyleCount"/>
+ <xsl:with-param name="precedingListItemsOfSameStyle" select="$precedingListItemsOfSameStyle"/>
+ <xsl:with-param name="precedingListItemsOfSameStyleCount" select="$precedingListItemsOfSameStyleCount"/>
+ <xsl:with-param name="pseudoLevel" select="$pseudoLevel" />
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <!-- count on till you find a start-value or the end is reached -->
+ <xsl:call-template name="countListItemTillStartValue">
+ <xsl:with-param name="IteratorSameLevelAndStyle" select="$IteratorSameLevelAndStyle + 1" />
+ <xsl:with-param name="IteratorSameStyle" select="$IteratorSameStyle + 1"/>
+ <xsl:with-param name="itemNumber" select="$itemNumber + 1"/>
+ <xsl:with-param name="listLevel" select="$listLevel"/>
+ <xsl:with-param name="listLevelStyle" select="$listLevelStyle"/>
+ <xsl:with-param name="listStyle" select="$listStyle"/>
+ <xsl:with-param name="precedingListItemsOfSameLevelAndStyle" select="$precedingListItemsOfSameLevelAndStyle"/>
+ <xsl:with-param name="precedingListItemsOfSameLevelAndStyleCount" select="$precedingListItemsOfSameLevelAndStyleCount"/>
+ <xsl:with-param name="precedingListItemsOfSameStyle" select="$precedingListItemsOfSameStyle"/>
+ <xsl:with-param name="precedingListItemsOfSameStyleCount" select="$precedingListItemsOfSameStyleCount"/>
+ <xsl:with-param name="pseudoLevel" select="0" />
+ </xsl:call-template>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+
+ <!-- Creates the list label containing the number, which is separated by '.' between the levels.
+ Depending on the levels to display (listLevelsToDisplay) -->
+ <xsl:template name="createItemLabel">
+ <xsl:param name="itemLabel" select="''"/>
+ <xsl:param name="itemNumber" />
+ <xsl:param name="listLevel" />
+ <xsl:param name="listLevelStyle" />
+ <xsl:param name="listLevelsToDisplay" />
+
+ <xsl:choose>
+ <xsl:when test="$listLevelsToDisplay &lt; $listLevel">
+ <xsl:call-template name="truncLabel">
+ <xsl:with-param name="itemLabel" select="$itemLabel"/>
+ <xsl:with-param name="itemNumber" select="$itemNumber" />
+ <xsl:with-param name="listLevel" select="$listLevel"/>
+ <xsl:with-param name="listLevelStyle" select="$listLevelStyle" />
+ <xsl:with-param name="listLevelsToDisplay" select="$listLevelsToDisplay"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:variable name="numberedSymbol">
+ <xsl:comment>&#160;</xsl:comment>
+ <!-- only give out a number when number format is not empty -->
+ <xsl:if test="$listLevelStyle/@style:num-format != ''">
+ <xsl:number value="$itemNumber" format="{$listLevelStyle/@style:num-format}"/>
+ </xsl:if>
+ </xsl:variable>
+ <xsl:choose>
+ <xsl:when test="$listLevelsToDisplay != 1">
+ <xsl:value-of select="concat($itemLabel, '.' , $numberedSymbol)"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$numberedSymbol"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <xsl:template name="truncLabel">
+ <xsl:param name="itemLabel" />
+ <xsl:param name="itemNumber" />
+ <xsl:param name="listLevel" />
+ <xsl:param name="listLevelStyle" />
+ <xsl:param name="listLevelsToDisplay" />
+ <xsl:param name="listStyle" />
+ <xsl:param name="listStyleName" />
+
+ <xsl:call-template name="createItemLabel">
+ <xsl:with-param name="itemLabel">
+ <xsl:if test="contains($itemLabel, '.')">
+ <xsl:value-of select="substring-after($itemLabel, '.')"/>
+ </xsl:if>
+ </xsl:with-param>
+ <xsl:with-param name="itemNumber" select="$itemNumber"/>
+ <xsl:with-param name="listLevel" select="$listLevel - 1"/>
+ <xsl:with-param name="listLevelStyle" select="$listLevelStyle"/>
+ <xsl:with-param name="listLevelsToDisplay" select="$listLevelsToDisplay"/>
+ </xsl:call-template>
+ </xsl:template>
+
+
+ <xsl:template match="text:p" mode="list-item-children">
+ <xsl:param name="globalData"/>
+ <xsl:param name="listLabelElement"/>
+ <xsl:param name="listLabelEmptyElement"/>
+ <xsl:param name="isEmptyList"/>
+ <xsl:param name="isListNumberingReset"/>
+ <xsl:param name="isNextLevelNumberingReset"/>
+ <xsl:param name="itemLabel"/>
+ <xsl:param name="itemNumber"/>
+ <xsl:param name="listIndent"/>
+ <xsl:param name="listLevel"/>
+ <xsl:param name="listRestart"/>
+ <xsl:param name="listStyle"/>
+ <xsl:param name="listStyleName"/>
+ <xsl:param name="minLabelWidth"/>
+
+ <!-- 2DO page alignment fix - PART1 -->
+
+ <!-- xhtml:p may only contain inline elements.
+ If there is one frame beyond, div must be used! -->
+ <xsl:variable name="elementName">
+ <xsl:choose>
+ <xsl:when test="descendant::draw:frame[1] or descendant::text:p[1]">div</xsl:when>
+ <xsl:otherwise>p</xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+ <xsl:element name="{$elementName}">
+ <xsl:call-template name="create-list-style">
+ <xsl:with-param name="globalData" select="$globalData"/>
+ <xsl:with-param name="listIndent" select="$listIndent"/>
+ <xsl:with-param name="styleName" select="@text:style-name"/>
+ </xsl:call-template>
+ <xsl:choose>
+ <xsl:when test="$listLabelElement">
+ <xsl:copy-of select="$listLabelElement"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:copy-of select="$listLabelEmptyElement"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ <xsl:apply-templates>
+ <xsl:with-param name="globalData" select="$globalData"/>
+ <xsl:with-param name="listIndent" select="$minLabelWidth"/>
+ </xsl:apply-templates>
+ <!-- this span disables the float necessary to bring two block elements on one line. It contains a space as IE6 bug workaround -->
+ <span class="odfLiEnd"></span>
+ <xsl:text>&#160;</xsl:text>
+ </xsl:element>
+
+ <xsl:apply-templates mode="list-item-children" select="following-sibling::*[1]">
+ <xsl:with-param name="globalData" select="$globalData"/>
+ <xsl:with-param name="isEmptyList" select="$isEmptyList"/>
+ <xsl:with-param name="isListNumberingReset" select="$isListNumberingReset"/>
+ <xsl:with-param name="isNextLevelNumberingReset" select="$isNextLevelNumberingReset"/>
+ <xsl:with-param name="itemLabel" select="$itemLabel"/>
+ <xsl:with-param name="itemNumber" select="$itemNumber"/>
+ <xsl:with-param name="listLabelEmptyElement" select="$listLabelEmptyElement"/>
+ <xsl:with-param name="listLevel" select="$listLevel"/>
+ <xsl:with-param name="listRestart" select="$listRestart"/>
+ <xsl:with-param name="listStyle" select="$listStyle"/>
+ <xsl:with-param name="listStyleName" select="$listStyleName"/>
+ <xsl:with-param name="listIndent" select="$listIndent"/>
+ <xsl:with-param name="minLabelWidth" select="$minLabelWidth"/>
+ </xsl:apply-templates>
+ </xsl:template>
+
+
+ <!-- Neglecting the left margin behavior for headings for now -->
+ <xsl:template match="text:h" mode="list-item-children">
+ <xsl:param name="globalData"/>
+ <xsl:param name="listLabelElement"/>
+ <xsl:param name="listLabelEmptyElement"/>
+ <xsl:param name="isEmptyList"/>
+ <xsl:param name="isListNumberingReset"/>
+ <xsl:param name="isNextLevelNumberingReset"/>
+ <xsl:param name="itemLabel"/>
+ <xsl:param name="itemNumber"/>
+ <xsl:param name="listIndent"/>
+ <xsl:param name="listLevel"/>
+ <xsl:param name="listRestart"/>
+ <xsl:param name="listStyle"/>
+ <xsl:param name="listStyleName"/>
+ <xsl:param name="minLabelWidth"/>
+
+ <xsl:element name="h">
+ <xsl:call-template name="create-list-style">
+ <xsl:with-param name="globalData" select="$globalData"/>
+ <xsl:with-param name="listIndent" select="$listIndent"/>
+ <xsl:with-param name="styleName" select="@text:style-name"/>
+ </xsl:call-template>
+ <xsl:variable name="title">
+ <xsl:apply-templates mode="concatenate"/>
+ </xsl:variable>
+ <xsl:choose>
+ <xsl:when test="$listLabelElement">
+ <xsl:copy-of select="$listLabelElement"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:copy-of select="$listLabelEmptyElement"/>
+ </xsl:otherwise>
+ </xsl:choose>
+
+ <!-- REFERENCE HANDLING - ANCHOR -->
+ <xsl:element namespace="{$namespace}" name="a">
+ <xsl:attribute name="id">
+ <xsl:value-of select="translate(concat('a_',$listLabelElement, '_', normalize-space($title)), '&#xA;&amp;&lt;&gt;.,;: %()[]/\+', '___________________________')"/>
+ </xsl:attribute>
+ <xsl:apply-templates>
+ <xsl:with-param name="globalData" select="$globalData"/>
+ <xsl:with-param name="listIndent" select="$minLabelWidth"/>
+ </xsl:apply-templates>
+ </xsl:element>
+
+ <!-- this span disables the float necessary to bring two block elements on one line. It contains a space as IE6 bug workaround -->
+ <span class="odfLiEnd"></span>
+ <xsl:text>&#160;</xsl:text>
+ </xsl:element>
+
+ <xsl:apply-templates mode="list-item-children" select="following-sibling::*[1]">
+ <xsl:with-param name="globalData" select="$globalData"/>
+ <xsl:with-param name="isEmptyList" select="$isEmptyList"/>
+ <xsl:with-param name="isListNumberingReset" select="$isListNumberingReset"/>
+ <xsl:with-param name="isNextLevelNumberingReset" select="$isNextLevelNumberingReset"/>
+ <xsl:with-param name="itemLabel" select="$itemLabel"/>
+ <xsl:with-param name="itemNumber" select="$itemNumber"/>
+ <xsl:with-param name="listLabelEmptyElement" select="$listLabelEmptyElement"/>
+ <xsl:with-param name="listLevel" select="$listLevel"/>
+ <xsl:with-param name="listRestart" select="$listRestart"/>
+ <xsl:with-param name="listStyle" select="$listStyle"/>
+ <xsl:with-param name="listStyleName" select="$listStyleName"/>
+ <xsl:with-param name="listIndent" select="$listIndent"/>
+ <xsl:with-param name="minLabelWidth" select="$minLabelWidth"/>
+ </xsl:apply-templates>
+ </xsl:template>
+
+
+ <xsl:template match="*" mode="list-item-children">
+ <xsl:param name="globalData"/>
+ <xsl:param name="isEmptyList"/>
+ <xsl:param name="listLabelEmptyElement"/>
+ <xsl:param name="isListNumberingReset"/>
+ <xsl:param name="isNextLevelNumberingReset"/>
+ <xsl:param name="itemLabel"/>
+ <xsl:param name="itemNumber"/>
+ <xsl:param name="listIndent"/>
+ <xsl:param name="listLevel"/>
+ <xsl:param name="listRestart"/>
+ <xsl:param name="listStyle"/>
+ <xsl:param name="listStyleName"/>
+ <xsl:param name="minLabelWidth"/>
+
+ <xsl:apply-templates select="self::*">
+ <xsl:with-param name="globalData" select="$globalData"/>
+ <xsl:with-param name="isEmptyList" select="$isEmptyList"/>
+ <xsl:with-param name="isListNumberingReset" select="$isListNumberingReset"/>
+ <xsl:with-param name="isNextLevelNumberingReset" select="$isNextLevelNumberingReset"/>
+ <xsl:with-param name="listLabelEmptyElement" select="$listLabelEmptyElement"/>
+ <xsl:with-param name="itemLabel" select="$itemLabel"/>
+ <xsl:with-param name="itemNumber" select="$itemNumber"/>
+ <xsl:with-param name="listIndent" select="$listIndent"/>
+ <xsl:with-param name="listLevel" select="$listLevel"/>
+ <xsl:with-param name="listRestart" select="$listRestart"/>
+ <xsl:with-param name="listStyle" select="$listStyle"/>
+ <xsl:with-param name="listStyleName" select="$listStyleName"/>
+ </xsl:apply-templates>
+
+ <xsl:apply-templates mode="list-item-children" select="following-sibling::*[1]">
+ <xsl:with-param name="globalData" select="$globalData"/>
+ <xsl:with-param name="isEmptyList" select="$isEmptyList"/>
+ <xsl:with-param name="isListNumberingReset" select="$isListNumberingReset"/>
+ <xsl:with-param name="isNextLevelNumberingReset" select="$isNextLevelNumberingReset"/>
+ <xsl:with-param name="itemLabel" select="$itemLabel"/>
+ <xsl:with-param name="itemNumber" select="$itemNumber"/>
+ <xsl:with-param name="listLabelEmptyElement" select="$listLabelEmptyElement"/>
+ <xsl:with-param name="listLevel" select="$listLevel"/>
+ <xsl:with-param name="listRestart" select="$listRestart"/>
+ <xsl:with-param name="listStyle" select="$listStyle"/>
+ <xsl:with-param name="listStyleName" select="$listStyleName"/>
+ <xsl:with-param name="listIndent" select="$listIndent"/>
+ <xsl:with-param name="minLabelWidth" select="$minLabelWidth"/>
+ </xsl:apply-templates>
+ </xsl:template>
+
+ <xsl:template match="*" mode="listItemSibling">
+ <xsl:param name="globalData"/>
+ <xsl:param name="isEmptyList"/>
+ <xsl:param name="isListNumberingReset"/>
+ <xsl:param name="isNextLevelNumberingReset"/>
+ <xsl:param name="itemLabel"/>
+ <xsl:param name="itemNumber"/>
+ <xsl:param name="listIndent"/>
+ <xsl:param name="listLevel"/>
+ <xsl:param name="listRestart"/>
+ <xsl:param name="listStyle"/>
+ <xsl:param name="listStyleName"/>
+
+ <xsl:apply-templates select="self::*">
+ <xsl:with-param name="globalData" select="$globalData"/>
+ <xsl:with-param name="isEmptyList" select="$isEmptyList"/>
+ <xsl:with-param name="isListNumberingReset" select="$isListNumberingReset"/>
+ <xsl:with-param name="isNextLevelNumberingReset" select="$isNextLevelNumberingReset"/>
+ <xsl:with-param name="itemNumber" select="$itemNumber"/>
+ <xsl:with-param name="listIndent" select="$listIndent"/>
+ <!-- receives the same parent label, only with a different itemNumber -->
+ <xsl:with-param name="itemLabel" select="$itemLabel"/>
+ <xsl:with-param name="listLevel" select="$listLevel"/>
+ <xsl:with-param name="listStyle" select="$listStyle"/>
+ <xsl:with-param name="listStyleName" select="$listStyleName"/>
+ </xsl:apply-templates>
+ <xsl:apply-templates select="following-sibling::*[1]" mode="listItemSibling">
+ <xsl:with-param name="globalData" select="$globalData"/>
+ <xsl:with-param name="isEmptyList" select="$isEmptyList"/>
+ <xsl:with-param name="isListNumberingReset" select="$isListNumberingReset"/>
+ <xsl:with-param name="isNextLevelNumberingReset" select="$isNextLevelNumberingReset"/>
+ <xsl:with-param name="itemNumber" select="$itemNumber"/>
+ <xsl:with-param name="listIndent" select="$listIndent"/>
+ <!-- receives the same parent label, only with a different itemNumber -->
+ <xsl:with-param name="itemLabel" select="$itemLabel"/>
+ <xsl:with-param name="listLevel" select="$listLevel"/>
+ <xsl:with-param name="listStyle" select="$listStyle"/>
+ <xsl:with-param name="listStyleName" select="$listStyleName"/>
+ </xsl:apply-templates>
+ </xsl:template>
+
+ <xsl:template match="text()" mode="list-item-children">
+ <xsl:value-of select="."/>
+ </xsl:template>
+
+
+ <xsl:template name="create-list-style">
+ <xsl:param name="globalData"/>
+ <xsl:param name="listIndent" select="0"/>
+ <xsl:param name="styleName"/>
+
+ <xsl:if test="$styleName">
+ <xsl:attribute name="class">
+ <xsl:value-of select="translate($styleName, '.,;: %()[]/\+', '_____________')"/>
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:attribute name="style">
+ <xsl:text>margin-</xsl:text>
+ <xsl:call-template name="getOppositeWritingDirection">
+ <xsl:with-param name="globalData" select="$globalData"/>
+ <xsl:with-param name="paraStyleName" select="descendant-or-self::*/@text:style-name"/>
+ </xsl:call-template>
+ <xsl:text>:</xsl:text>
+ <xsl:value-of select="$listIndent"/>
+ <xsl:text>cm;</xsl:text>
+ </xsl:attribute>
+ </xsl:template>
+
+
+ <!-- ********************************************** -->
+ <!-- *** Text Section (contains: draw:text-box) *** -->
+ <!-- ********************************************** -->
+
+ <xsl:template match="text:section">
+ <xsl:param name="globalData"/>
+
+ <xsl:if test="not(contains(@text:display, 'none'))">
+ <xsl:comment>Next 'div' was a 'text:section'.</xsl:comment>
+ <xsl:element name="div">
+ <xsl:call-template name="apply-styles-and-content">
+ <xsl:with-param name="globalData" select="$globalData"/>
+ </xsl:call-template>
+ </xsl:element>
+ </xsl:if>
+ </xsl:template>
+
+
+ <!-- Hidden text dependend on Office variables:
+ The text is not shown, if condition is 'true'.
+ Implemented solely for conditons as '<VARIABLE>==0' or '<VARIABLE>==1'
+ -->
+ <xsl:key match="text:variable-set" name="varSet" use="@text:name"/>
+ <xsl:template match="text:hidden-text">
+ <xsl:param name="globalData"/>
+
+ <xsl:variable name="varName" select="substring-before(@text:condition, '==')"/>
+ <xsl:variable name="varValue" select="substring-after(@text:condition, '==')"/>
+ <xsl:choose>
+ <xsl:when test="key('varSet', $varName)/@text:value != $varValue">
+ <xsl:value-of select="@text:string-value"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:comment>
+ <xsl:value-of select="$varName"/>
+ <xsl:value-of select="@text:string-value"/>
+ <xsl:value-of select="$varName"/>
+ </xsl:comment>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <xsl:template match="@text:style-name | @draw:style-name | @draw:text-style-name | @table:style-name"><!-- | @presentation:style-name-->
+ <xsl:param name="globalData"/>
+
+ <xsl:attribute name="class">
+ <xsl:value-of select="translate(., '.,;: %()[]/\+', '_____________')"/>
+ </xsl:attribute>
+ </xsl:template>
+
+
+ <!-- ***************** -->
+ <!-- *** Footnotes *** -->
+ <!-- ***************** -->
+
+ <xsl:template match="text:note">
+ <xsl:param name="globalData"/>
+
+ <!-- get style configuration -->
+ <xsl:variable name="footnoteConfig" select="$globalData/office:styles/text:notes-configuration[@text:note-class=current()/@text:note-class]" />
+
+ <xsl:variable name="titlePrefix">
+ <xsl:choose>
+ <xsl:when test="@text:note-class = 'footnote'">
+ <xsl:text>Footnote: </xsl:text>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text>Endnote: </xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <!-- write anchor -->
+ <xsl:element name="span">
+ <xsl:attribute name="class">
+ <xsl:value-of select="$footnoteConfig/@text:citation-body-style-name"/>
+ </xsl:attribute>
+ <xsl:attribute name="title">
+ <xsl:value-of select="$titlePrefix"/>
+ <xsl:apply-templates mode="textOnly" select="text:note-body"/>
+ </xsl:attribute>
+ <xsl:element name="a">
+ <xsl:attribute name="href">
+ <xsl:value-of select="concat('#', @text:id)"/>
+ </xsl:attribute>
+ <xsl:attribute name="id">
+ <xsl:value-of select="concat('body_', @text:id)"/>
+ </xsl:attribute>
+ <xsl:apply-templates mode="textOnly" select="text:note-citation"/>
+ </xsl:element>
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="*" mode="textOnly">
+ <xsl:apply-templates select="* | text()" mode="textOnly" />
+ </xsl:template>
+
+ <xsl:template match="text()" mode="textOnly">
+ <xsl:value-of select="."/>
+ </xsl:template>
+
+ <!-- Useful in case of 'style:map', conditional formatting, where a style references to another -->
+ <xsl:key name="textNotes" match="text:note" use="@text:note-class"/>
+
+ <!-- writing the footer- and endnotes beyond the body -->
+ <xsl:template name="write-text-nodes">
+ <xsl:param name="globalData"/>
+
+ <!-- write footnote body -->
+ <xsl:for-each select="key('textNotes', 'footnote')">
+ <xsl:call-template name="write-text-node">
+ <xsl:with-param name="globalData" select="$globalData"/>
+ <xsl:with-param name="footnoteConfig" select="$globalData/office:styles/text:notes-configuration[@text:note-class=current()/@text:note-class]" />
+ </xsl:call-template>
+ </xsl:for-each>
+
+ <!-- write endnote body -->
+ <xsl:for-each select="key('textNotes', 'endnote')">
+ <xsl:call-template name="write-text-node">
+
+ <xsl:with-param name="globalData" select="$globalData"/>
+ <xsl:with-param name="footnoteConfig" select="$globalData/office:styles/text:notes-configuration[@text:note-class=current()/@text:note-class]" />
+ </xsl:call-template>
+ </xsl:for-each>
+ </xsl:template>
+
+ <xsl:template name="write-text-node">
+ <xsl:param name="globalData"/>
+ <xsl:param name="footnoteConfig"/>
+
+ <xsl:apply-templates select="text:note-body/*[1]">
+ <xsl:with-param name="globalData" select="$globalData" />
+ <xsl:with-param name="footnotePrefix">
+ <xsl:element name="span">
+ <xsl:attribute name="class">footnodeNumber</xsl:attribute>
+ <xsl:element name="a">
+ <xsl:attribute name="class">
+ <xsl:value-of select="$footnoteConfig/@text:citation-style-name"/>
+ </xsl:attribute>
+ <xsl:attribute name="id">
+ <xsl:value-of select="@text:id"/>
+ </xsl:attribute>
+ <xsl:attribute name="href">
+ <xsl:value-of select="concat('#body_', @text:id)"/>
+ </xsl:attribute>
+ <xsl:apply-templates mode="textOnly" select="text:note-citation"/>
+ </xsl:element>
+ </xsl:element>
+ </xsl:with-param>
+ </xsl:apply-templates>
+ <xsl:apply-templates select="text:note-body/*[position()&gt;1]">
+ <xsl:with-param name="globalData" select="$globalData" />
+ </xsl:apply-templates>
+ </xsl:template>
+
+ <!-- DISABLING this tab handling as the tab width is only relative
+ <xsl:template match="text:tab">
+ <xsl:param name="globalData"/>
+
+ <xsl:variable name="tabNo">
+ <xsl:choose>
+ <xsl:when test="preceding-sibling::text:line-break">
+ <xsl:call-template name="countTextTab"/>
+ </xsl:when>
+ <xsl:when test="preceding-sibling::text:tab">
+ <xsl:value-of select="count(preceding-sibling::text:tab)"/>
+ </xsl:when>
+ <xsl:otherwise>1</xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:element name="span">
+ <xsl:attribute name="style">margin-left:<xsl:value-of select="$globalData/all-doc-styles/style[@style:name = current()/parent::*/@text:style-name]/*/style:tab-stops/style:tab-stop[$tabNo]/@style:position"/>;</xsl:attribute>
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template name="countTextTab">
+ <xsl:param name="tabCount" select="1"/>
+ <xsl:param name="context" select="."/>
+
+ <xsl:choose>
+ <xsl:when test="preceding-sibling::*[1]">
+ <xsl:for-each select="preceding-sibling::*[1]">
+ <xsl:call-template name="countTextTab">
+ <xsl:with-param name="tabCout">
+ <xsl:choose>
+ <xsl:when test="name(.) = 'text:tab'">
+ <xsl:value-of select="$tabCount + 1"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$tabCount"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:with-param>
+ <xsl:with-param name="context" select="preceding-sibling::*[1]" />
+ </xsl:call-template>
+ </xsl:for-each>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$tabCount"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+-->
+ <!-- MathML -->
+ <xsl:template match="draw:object[math:math]">
+ <math xmlns="http://www.w3.org/1998/Math/MathML">
+ <xsl:apply-templates select="math:math/math:semantics/*" mode="math"/>
+ </math>
+ </xsl:template>
+
+ <xsl:template match="*" mode="math">
+ <xsl:element name="{local-name()}" namespace="http://www.w3.org/1998/Math/MathML">
+ <xsl:apply-templates select="@*|node()" mode="math"/>
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="@*" mode="math">
+ <xsl:attribute name="{local-name()}">
+ <xsl:value-of select="."/>
+ </xsl:attribute>
+ </xsl:template>
+
+ <xsl:template match="math:annotation" mode="math"/>
+
+
</xsl:stylesheet> \ No newline at end of file
diff --git a/filter/source/xslt/odf2xhtml/export/xhtml/header.xsl b/filter/source/xslt/odf2xhtml/export/xhtml/header.xsl
index c5f5ebcb86bd..ab2c9bbaa866 100644
--- a/filter/source/xslt/odf2xhtml/export/xhtml/header.xsl
+++ b/filter/source/xslt/odf2xhtml/export/xhtml/header.xsl
@@ -1,6 +1,6 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
Copyright 2000, 2010 Oracle and/or its affiliates.
@@ -24,461 +24,461 @@
<http://www.openoffice.org/license.html>
for a copy of the LGPLv3 License.
--->
-<!--
- For further documentation and updates visit http://xml.openoffice.org/odf2xhtml
--->
-<xsl:stylesheet version="1.0"
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0"
- xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0"
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:dom="http://www.w3.org/2001/xml-events"
- xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0"
- xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0"
- xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0"
- xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
- xmlns:math="http://www.w3.org/1998/Math/MathML"
- xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0"
- xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0"
- xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0"
- xmlns:ooo="http://openoffice.org/2004/office"
- xmlns:oooc="http://openoffice.org/2004/calc"
- xmlns:ooow="http://openoffice.org/2004/writer"
- xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0"
- xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0"
- xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0"
- xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0"
- xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0"
- xmlns:xforms="http://www.w3.org/2002/xforms"
- xmlns:xlink="http://www.w3.org/1999/xlink"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- exclude-result-prefixes="chart config dc dom dr3d draw fo form math meta number office ooo oooc ooow script style svg table text xforms xlink xsd xsi xforms xsd xsi"
- xmlns="http://www.w3.org/1999/xhtml">
-
-
- <!-- ************** -->
- <!-- *** header *** -->
- <!-- ************** -->
-
- <xsl:template name="create-header">
- <xsl:param name="globalData" />
-
- <xsl:element name="head">
- <xsl:attribute name="profile">http://dublincore.org/documents/dcmi-terms/</xsl:attribute>
- <xsl:if test="$debugEnabled"><xsl:message>CSS helper variable will be created....</xsl:message></xsl:if>
- <xsl:call-template name='xhtml-header-properties'>
- <xsl:with-param name="globalData" select="$globalData" />
- </xsl:call-template>
-
- <xsl:if test="$debugEnabled"><xsl:message>CSS variable ready, header will be created....</xsl:message></xsl:if>
- <!-- constructing the css header simulating inheritance of style-families by style order -->
- <xsl:call-template name='create-css-styleheader'>
- <xsl:with-param name="globalData" select="$globalData" />
- </xsl:call-template>
- <xsl:if test="$debugEnabled"><xsl:message>CSS header creation finished!</xsl:message></xsl:if>
- </xsl:element>
-
- </xsl:template>
-
-
- <!-- Creating a CSS style header from the collected styles of the 'globalData' parameter -->
- <xsl:template name='create-css-styleheader'>
- <xsl:param name="globalData" />
-
- <xsl:element name="style">
- <xsl:attribute name="type">text/css</xsl:attribute>
-<xsl:text>
- </xsl:text>
- <xsl:call-template name='create-page-layout'>
- <xsl:with-param name="globalData" select="$globalData" />
- </xsl:call-template>
-<xsl:text>table { border-collapse:collapse; border-spacing:0; empty-cells:show }
- </xsl:text>
- <xsl:choose>
- <xsl:when test="/*/office:body/office:spreadsheet"><xsl:text>td, th { vertical-align:top; font-size:10pt;}
- </xsl:text></xsl:when>
- <xsl:otherwise><xsl:text>td, th { vertical-align:top; font-size:12pt;}
- </xsl:text></xsl:otherwise>
- </xsl:choose>
-<xsl:text>h1, h2, h3, h4, h5, h6 { clear:both }
- </xsl:text>
-<xsl:text>ol, ul { margin:0; padding:0;}
- </xsl:text>
-<xsl:text>li { list-style: none; margin:0; padding:0;}
- </xsl:text>
-<xsl:comment> "li span.odfLiEnd" - IE 7 issue</xsl:comment>
-<xsl:text>
- </xsl:text>
-<xsl:text>li span. { clear: both; line-height:0; width:0; height:0; margin:0; padding:0; }
- </xsl:text>
-<xsl:text>span.footnodeNumber { padding-right:1em; }
- </xsl:text>
-<xsl:text>span.annotation_style_by_filter { font-size:95%; font-family:Arial; background-color:#fff000; margin:0; border:0; padding:0; }
- </xsl:text>
-<xsl:text>* { margin:0;}
- </xsl:text>
- <xsl:call-template name="write-mapped-CSS-styles">
- <xsl:with-param name="globalData" select="$globalData" />
- </xsl:call-template>
- </xsl:element>
- </xsl:template>
-
- <xsl:template name="write-mapped-CSS-styles">
- <xsl:param name="globalData" />
- <xsl:param name="styleNo" select="1"/>
- <xsl:param name="emptyStyles"/>
-
- <xsl:choose>
- <xsl:when test="$globalData/all-styles/style[$styleNo]">
- <!-- If there is still a style to be written -->
- <!-- setting the context -->
- <xsl:for-each select="$globalData/all-styles/style[$styleNo]">
- <xsl:choose>
- <xsl:when test="final-properties != ''">
- <!-- NOTE: easy process, as only the style family in conjunction with the style name, makes the style unambigous -->
- <xsl:text>.</xsl:text><!--<xsl:value-of select="@style:family" /><xsl:text>:</xsl:text>--><xsl:value-of select="translate(@style:name, '.,;: %()[]/\+', '_____________')"/><xsl:text> { </xsl:text> <xsl:value-of select="final-properties" /><xsl:text>}
- </xsl:text>
- <xsl:call-template name="write-mapped-CSS-styles">
- <xsl:with-param name="globalData" select="$globalData" />
- <xsl:with-param name="emptyStyles" select="$emptyStyles"/>
- <xsl:with-param name="styleNo" select="$styleNo + 1"/>
- </xsl:call-template>
- </xsl:when>
- <xsl:otherwise>
- <xsl:call-template name="write-mapped-CSS-styles">
- <xsl:with-param name="globalData" select="$globalData" />
- <xsl:with-param name="emptyStyles" select="concat($emptyStyles, '.', @style:name, ' ')"/>
- <xsl:with-param name="styleNo" select="$styleNo + 1"/>
- </xsl:call-template>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:for-each>
- </xsl:when>
- <xsl:otherwise>
- <!-- Otherwise all styles have been processed and the empty styles have to be given out -->
- <xsl:comment> ODF styles with no properties representable as CSS </xsl:comment><xsl:text>
- </xsl:text><xsl:value-of select="$emptyStyles"/><xsl:text>{ }
- </xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
-
- <!-- Creating CSS page layout based on first office master style -->
- <xsl:template name='create-page-layout'>
- <xsl:param name="globalData" />
-
- <!-- approximation to find the correct master page style (with page dimensions) -->
- <xsl:variable name="masterPageNames">
- <!-- set context to styles.xml -->
- <xsl:for-each select="$globalData/all-doc-styles/style">
- <!-- Loop over every style:style containing a @style:master-page-name attribute -->
- <xsl:for-each select="key('masterPage','count')">
- <!-- set context to styles.xml -->
- <xsl:for-each select="/*/office:body">
- <!-- Check if this style is being used in the body -->
- <xsl:if test="key('elementUsingStyle', ../@style:name)">
- <!-- Check every master-page-name if it is not emtpy and return as ';' separated list -->
- <xsl:if test="string-length(../@style:master-page-name) &gt; 0"><xsl:value-of select="../@style:master-page-name"/>;</xsl:if>
- </xsl:if>
- </xsl:for-each>
- </xsl:for-each>
- </xsl:for-each>
- </xsl:variable>
- <!-- Take the first of the masterpage list and get the according style:master-page element and find the @style:page-layout-name -->
- <xsl:variable name="pageLayoutName" select="key('masterPageElements', substring-before($masterPageNames,';'))/@style:page-layout-name"/>
- <!-- Find the according style:page-layout and store the properties in a variable -->
- <xsl:variable name="pageProperties" select="key('pageLayoutElements', $pageLayoutName)/style:page-layout-properties"/>
-
-<xsl:text>@page { </xsl:text>
-
- <xsl:call-template name="page-size">
- <xsl:with-param name="globalData" select="$globalData" />
- <xsl:with-param name="pageProperties" select="$pageProperties" />
- </xsl:call-template>
- <xsl:call-template name="page-margin">
- <xsl:with-param name="globalData" select="$globalData" />
- <xsl:with-param name="pageProperties" select="$pageProperties" />
- </xsl:call-template>
-
-<xsl:text> }
- </xsl:text>
-
- </xsl:template>
-
-
- <xsl:template name="page-size">
- <xsl:param name="globalData" />
- <xsl:param name="pageProperties" />
-
- <xsl:variable name="printOrientation" select="$pageProperties/@style:print-orientation" />
- <xsl:variable name="pageWidth" select="$pageProperties/@fo:page-width" />
- <xsl:variable name="pageHeight" select="$pageProperties/@fo:page-height" />
- <xsl:choose>
- <xsl:when test="$pageWidth and $pageHeight">
- <xsl:text>size: </xsl:text>
- <xsl:value-of select="$pageWidth" />
- <xsl:text> </xsl:text>
- <xsl:value-of select="$pageHeight" />
- <xsl:text>; </xsl:text>
- </xsl:when>
- <xsl:when test="$printOrientation">
- <xsl:text>size: </xsl:text>
- <xsl:value-of select="$printOrientation" />
- <xsl:text>; </xsl:text>
- </xsl:when>
- </xsl:choose>
- </xsl:template>
-
-
-
- <xsl:template name="page-margin">
- <xsl:param name="globalData" />
- <xsl:param name="pageProperties" />
-
- <xsl:variable name="marginTop" select="$pageProperties/@fo:margin-top" />
- <xsl:if test="$marginTop">
- <xsl:text>margin-top: </xsl:text>
- <xsl:value-of select="$marginTop" />
- <xsl:text>; </xsl:text>
- </xsl:if>
- <xsl:variable name="marginBottom" select="$pageProperties/@fo:margin-bottom" />
- <xsl:if test="$marginBottom">
- <xsl:text>margin-bottom: </xsl:text>
- <xsl:value-of select="$marginBottom" />
- <xsl:text>; </xsl:text>
- </xsl:if>
- <xsl:variable name="marginLeft" select="$pageProperties/@fo:margin-left" />
- <xsl:if test="$marginLeft">
- <xsl:text>margin-left: </xsl:text>
- <xsl:value-of select="$marginLeft" />
- <xsl:text>; </xsl:text>
- </xsl:if>
- <xsl:variable name="marginRight" select="$pageProperties/@fo:margin-right" />
- <xsl:if test="$marginRight">
- <xsl:text>margin-right: </xsl:text>
- <xsl:value-of select="$marginRight" />
- </xsl:if>
- </xsl:template>
-
-
- <!-- *************************** -->
- <!-- *** Common XHTML header *** -->
- <!-- *************************** -->
-
- <xsl:template name='xhtml-header-properties'>
- <xsl:param name="globalData" />
-
- <xsl:variable name="netloc">
- <xsl:for-each select="$globalData/meta-file/*/office:meta/meta:user-defined">
- <xsl:if test="./@meta:name='ODF.base'">
- <xsl:value-of select="." />
- </xsl:if>
- </xsl:for-each>
- <xsl:for-each select="$globalData/meta-file/*/office:meta/meta:user-defined">
- <xsl:if test="./@meta:name='ODF.filename'">
- <xsl:value-of select="." />
- </xsl:if>
- </xsl:for-each>
- </xsl:variable>
-
- <xsl:variable name="lang">
- <xsl:choose>
- <xsl:when test="$globalData/meta-file/*/office:meta/dc:language">
- <xsl:value-of select="$globalData/meta-file/*/office:meta/dc:language" />
- </xsl:when>
- <xsl:otherwise>en-US</xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
-
- <xsl:variable name="prov">
- <xsl:choose>
- <xsl:when test="$globalData/meta-file/*/office:meta/meta:printed-by">
- <xsl:value-of select="concat('Printed by &quot;',$globalData/meta-file/*/office:meta/meta:printed-by,'&quot;[dc:publisher] on &quot;',$globalData/meta-file/*/office:meta/meta:print-date,'&quot;[dc:date] in &quot;',$lang,'&quot;[dc:language]')" />
- </xsl:when>
- <xsl:otherwise />
- </xsl:choose>
- </xsl:variable>
-
- <xsl:variable name="keywords">
- <xsl:for-each select="$globalData/meta-file/*/office:meta/meta:keyword">
- <xsl:value-of select="." />
- <xsl:if test="position() != last()">
- <xsl:text>, </xsl:text>
- </xsl:if>
- </xsl:for-each>
- </xsl:variable>
-
- <!-- explicit output content-type for low-tech browser (e.g. IE6) -->
- <xsl:element name="meta">
- <xsl:attribute name="http-equiv">Content-Type</xsl:attribute>
- <xsl:attribute name="content">application/xhtml+xml; charset=utf-8</xsl:attribute>
- </xsl:element>
-
- <!-- title of document for browser frame title -->
- <xsl:element name="title">
- <xsl:attribute name="lang" namespace="http://www.w3.org/XML/1998/namespace">
- <xsl:value-of select="$lang" />
- </xsl:attribute>
-
- <xsl:choose>
- <xsl:when test="$globalData/meta-file/*/office:meta/dc:title">
- <xsl:value-of select="$globalData/meta-file/*/office:meta/dc:title" />
- </xsl:when>
- <!-- providing the mandatory title is a workaround for an IE bug-->
- <xsl:otherwise>
- <xsl:text>- no title specified</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:element>
-
- <!-- title, in DC syntax -->
- <xsl:element name="meta">
- <xsl:attribute name="name">DCTERMS.title</xsl:attribute>
- <xsl:attribute name="content">
- <xsl:value-of select="$globalData/meta-file/*/office:meta/dc:title" />
- </xsl:attribute>
- <xsl:attribute name="lang" namespace="http://www.w3.org/XML/1998/namespace">
- <xsl:value-of select="$lang" />
- </xsl:attribute>
- </xsl:element>
-
- <!-- the identifier for source (identifier) -->
- <xsl:call-template name="add-meta-tag">
- <xsl:with-param name="meta-name" select="'DCTERMS.identifier'" />
- <xsl:with-param name="meta-data" select="translate($netloc, ' ','')" />
- <xsl:with-param name="meta-enc" select="'DCTERMS.URI'" />
- </xsl:call-template>
-
- <!-- the language for source (language) -->
- <xsl:call-template name="add-meta-tag">
- <xsl:with-param name="meta-name" select="'DCTERMS.language'" />
- <xsl:with-param name="meta-data" select="$lang" />
- <xsl:with-param name="meta-enc" select="'DCTERMS.RFC4646'" />
- </xsl:call-template>
-
- <!-- a bit commercial (generator) -->
- <xsl:element name="meta">
- <xsl:attribute name="name">DCTERMS.source</xsl:attribute>
- <xsl:attribute name="content">http://xml.openoffice.org/odf2xhtml</xsl:attribute>
- </xsl:element>
-
- <!-- the author of the input source (author) -->
- <xsl:call-template name="add-meta-tag">
- <xsl:with-param name="meta-name" select="'DCTERMS.creator'" />
- <xsl:with-param name="meta-data" select="$globalData/meta-file/*/office:meta/meta:initial-creator" />
- </xsl:call-template>
-
- <!-- creation-date of the input source (issued) -->
- <xsl:call-template name="add-meta-tag">
- <xsl:with-param name="meta-name" select="'DCTERMS.issued'" />
- <xsl:with-param name="meta-data" select="$globalData/meta-file/*/office:meta/meta:creation-date" />
- <xsl:with-param name="meta-enc" select="'DCTERMS.W3CDTF'" />
- </xsl:call-template>
-
- <!-- name of last changing person of the input source (changedby) -->
- <xsl:call-template name="add-meta-tag">
- <xsl:with-param name="meta-name" select="'DCTERMS.contributor'" />
- <xsl:with-param name="meta-data" select="$globalData/meta-file/*/office:meta/dc:creator" />
- </xsl:call-template>
-
- <!-- last changing date of the input source (changed) -->
- <xsl:call-template name="add-meta-tag">
- <xsl:with-param name="meta-name" select="'DCTERMS.modified'" />
- <xsl:with-param name="meta-data" select="$globalData/meta-file/*/office:meta/dc:date" />
- <xsl:with-param name="meta-enc" select="'DCTERMS.W3CDTF'" />
- </xsl:call-template>
-
- <!-- Last print, as provenance -->
- <xsl:if test="$prov">
- <xsl:call-template name="add-meta-tag">
- <xsl:with-param name="meta-name" select="'DCTERMS.provenance'" />
- <xsl:with-param name="meta-data" select="$prov" />
- <xsl:with-param name="meta-lang" select="$lang" />
- </xsl:call-template>
- </xsl:if>
-
- <!-- keywords about the input source (keywords) -->
- <xsl:call-template name="add-meta-tag">
- <xsl:with-param name="meta-name" select="'DCTERMS.subject'" />
- <xsl:with-param name="meta-data" select="normalize-space(concat($globalData/meta-file/*/office:meta/dc:subject,', ',$keywords))" />
- <xsl:with-param name="meta-lang" select="$lang" />
- </xsl:call-template>
-
- <!-- detailed description about the input source (description) -->
- <xsl:call-template name="add-meta-tag">
- <xsl:with-param name="meta-name" select="'DCTERMS.description'" />
- <xsl:with-param name="meta-data" select="$globalData/meta-file/*/office:meta/dc:description" />
- <xsl:with-param name="meta-lang" select="$lang" />
- </xsl:call-template>
-
-
- <!-- user defined use of DCTERM tags -->
- <xsl:for-each select="$globalData/meta-file/*/office:meta/meta:user-defined[starts-with(@meta:name,'DCTERMS.')][not(.='')]">
- <xsl:call-template name="add-meta-tag">
- <xsl:with-param name="meta-name" select="@meta:name" />
- <xsl:with-param name="meta-data" select="." />
- <!-- <xsl:with-param name="meta-lang" select="$lang" /> -->
- </xsl:call-template>
- </xsl:for-each>
- <!-- user defined use of DC tags (legacy) -->
- <xsl:for-each select="$globalData/meta-file/*/office:meta/meta:user-defined[starts-with(@meta:name,'DC.')][not(.='')]">
- <xsl:call-template name="add-meta-tag">
- <xsl:with-param name="meta-name" select="@meta:name" />
- <xsl:with-param name="meta-data" select="." />
- <!-- <xsl:with-param name="meta-lang" select="$lang" /> -->
- </xsl:call-template>
- </xsl:for-each>
-
- <link rel="schema.DC" href="http://purl.org/dc/elements/1.1/" hreflang="en" />
- <link rel="schema.DCTERMS" href="http://purl.org/dc/terms/" hreflang="en" />
- <link rel="schema.DCTYPE" href="http://purl.org/dc/dcmitype/" hreflang="en" />
- <link rel="schema.DCAM" href="http://purl.org/dc/dcam/" hreflang="en" />
- <!-- W3C GRDDL Profile -->
- <!--
- <link rel="transformation" href="http://xml.openoffice.org/odf2xhtml/rdf-extract.xsl" />
- -->
-
- <!-- base URL of document for resolving relative links -->
- <xsl:element name="base">
- <xsl:attribute name="href">
- <!-- earlier 'targetURL' was used for an absoulte reference of base provided by the Office (file URL)
- <xsl:value-of select="$targetURL" />
- now '.' let relative links work, even if document has been moved -->
- <xsl:text>.</xsl:text>
- </xsl:attribute>
- </xsl:element>
- </xsl:template>
-
- <!-- generic template for adding common meta tags -->
- <xsl:template name="add-meta-tag">
- <xsl:param name="meta-name" />
- <xsl:param name="meta-data" />
- <xsl:param name="meta-enc" />
- <xsl:param name="meta-lang" />
-
- <xsl:if test="$meta-data">
- <xsl:element name="meta">
- <xsl:attribute name="name">
- <xsl:value-of select="$meta-name" />
- </xsl:attribute>
- <xsl:attribute name="content">
- <xsl:value-of select="$meta-data" />
- </xsl:attribute>
- <xsl:if test="$meta-enc">
- <xsl:attribute name="scheme">
- <xsl:value-of select="$meta-enc" />
- </xsl:attribute>
- </xsl:if>
- <xsl:if test="$meta-lang">
- <xsl:attribute name="lang" namespace="http://www.w3.org/XML/1998/namespace">
- <xsl:value-of select="$meta-lang" />
- </xsl:attribute>
- </xsl:if>
- </xsl:element>
- </xsl:if>
- </xsl:template>
-
-</xsl:stylesheet>
+-->
+<!--
+ For further documentation and updates visit http://xml.openoffice.org/odf2xhtml
+-->
+<xsl:stylesheet version="1.0"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0"
+ xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:dom="http://www.w3.org/2001/xml-events"
+ xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0"
+ xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0"
+ xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0"
+ xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
+ xmlns:math="http://www.w3.org/1998/Math/MathML"
+ xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0"
+ xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0"
+ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0"
+ xmlns:ooo="http://openoffice.org/2004/office"
+ xmlns:oooc="http://openoffice.org/2004/calc"
+ xmlns:ooow="http://openoffice.org/2004/writer"
+ xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0"
+ xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0"
+ xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0"
+ xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0"
+ xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0"
+ xmlns:xforms="http://www.w3.org/2002/xforms"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ exclude-result-prefixes="chart config dc dom dr3d draw fo form math meta number office ooo oooc ooow script style svg table text xforms xlink xsd xsi xforms xsd xsi"
+ xmlns="http://www.w3.org/1999/xhtml">
+
+
+ <!-- ************** -->
+ <!-- *** header *** -->
+ <!-- ************** -->
+
+ <xsl:template name="create-header">
+ <xsl:param name="globalData" />
+
+ <xsl:element name="head">
+ <xsl:attribute name="profile">http://dublincore.org/documents/dcmi-terms/</xsl:attribute>
+ <xsl:if test="$debugEnabled"><xsl:message>CSS helper variable will be created....</xsl:message></xsl:if>
+ <xsl:call-template name='xhtml-header-properties'>
+ <xsl:with-param name="globalData" select="$globalData" />
+ </xsl:call-template>
+
+ <xsl:if test="$debugEnabled"><xsl:message>CSS variable ready, header will be created....</xsl:message></xsl:if>
+ <!-- constructing the css header simulating inheritance of style-families by style order -->
+ <xsl:call-template name='create-css-styleheader'>
+ <xsl:with-param name="globalData" select="$globalData" />
+ </xsl:call-template>
+ <xsl:if test="$debugEnabled"><xsl:message>CSS header creation finished!</xsl:message></xsl:if>
+ </xsl:element>
+
+ </xsl:template>
+
+
+ <!-- Creating a CSS style header from the collected styles of the 'globalData' parameter -->
+ <xsl:template name='create-css-styleheader'>
+ <xsl:param name="globalData" />
+
+ <xsl:element name="style">
+ <xsl:attribute name="type">text/css</xsl:attribute>
+<xsl:text>
+ </xsl:text>
+ <xsl:call-template name='create-page-layout'>
+ <xsl:with-param name="globalData" select="$globalData" />
+ </xsl:call-template>
+<xsl:text>table { border-collapse:collapse; border-spacing:0; empty-cells:show }
+ </xsl:text>
+ <xsl:choose>
+ <xsl:when test="/*/office:body/office:spreadsheet"><xsl:text>td, th { vertical-align:top; font-size:10pt;}
+ </xsl:text></xsl:when>
+ <xsl:otherwise><xsl:text>td, th { vertical-align:top; font-size:12pt;}
+ </xsl:text></xsl:otherwise>
+ </xsl:choose>
+<xsl:text>h1, h2, h3, h4, h5, h6 { clear:both }
+ </xsl:text>
+<xsl:text>ol, ul { margin:0; padding:0;}
+ </xsl:text>
+<xsl:text>li { list-style: none; margin:0; padding:0;}
+ </xsl:text>
+<xsl:comment> "li span.odfLiEnd" - IE 7 issue</xsl:comment>
+<xsl:text>
+ </xsl:text>
+<xsl:text>li span. { clear: both; line-height:0; width:0; height:0; margin:0; padding:0; }
+ </xsl:text>
+<xsl:text>span.footnodeNumber { padding-right:1em; }
+ </xsl:text>
+<xsl:text>span.annotation_style_by_filter { font-size:95%; font-family:Arial; background-color:#fff000; margin:0; border:0; padding:0; }
+ </xsl:text>
+<xsl:text>* { margin:0;}
+ </xsl:text>
+ <xsl:call-template name="write-mapped-CSS-styles">
+ <xsl:with-param name="globalData" select="$globalData" />
+ </xsl:call-template>
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template name="write-mapped-CSS-styles">
+ <xsl:param name="globalData" />
+ <xsl:param name="styleNo" select="1"/>
+ <xsl:param name="emptyStyles"/>
+
+ <xsl:choose>
+ <xsl:when test="$globalData/all-styles/style[$styleNo]">
+ <!-- If there is still a style to be written -->
+ <!-- setting the context -->
+ <xsl:for-each select="$globalData/all-styles/style[$styleNo]">
+ <xsl:choose>
+ <xsl:when test="final-properties != ''">
+ <!-- NOTE: easy process, as only the style family in conjunction with the style name, makes the style unambigous -->
+ <xsl:text>.</xsl:text><!--<xsl:value-of select="@style:family" /><xsl:text>:</xsl:text>--><xsl:value-of select="translate(@style:name, '.,;: %()[]/\+', '_____________')"/><xsl:text> { </xsl:text> <xsl:value-of select="final-properties" /><xsl:text>}
+ </xsl:text>
+ <xsl:call-template name="write-mapped-CSS-styles">
+ <xsl:with-param name="globalData" select="$globalData" />
+ <xsl:with-param name="emptyStyles" select="$emptyStyles"/>
+ <xsl:with-param name="styleNo" select="$styleNo + 1"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:call-template name="write-mapped-CSS-styles">
+ <xsl:with-param name="globalData" select="$globalData" />
+ <xsl:with-param name="emptyStyles" select="concat($emptyStyles, '.', @style:name, ' ')"/>
+ <xsl:with-param name="styleNo" select="$styleNo + 1"/>
+ </xsl:call-template>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:for-each>
+ </xsl:when>
+ <xsl:otherwise>
+ <!-- Otherwise all styles have been processed and the empty styles have to be given out -->
+ <xsl:comment> ODF styles with no properties representable as CSS </xsl:comment><xsl:text>
+ </xsl:text><xsl:value-of select="$emptyStyles"/><xsl:text>{ }
+ </xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+
+ <!-- Creating CSS page layout based on first office master style -->
+ <xsl:template name='create-page-layout'>
+ <xsl:param name="globalData" />
+
+ <!-- approximation to find the correct master page style (with page dimensions) -->
+ <xsl:variable name="masterPageNames">
+ <!-- set context to styles.xml -->
+ <xsl:for-each select="$globalData/all-doc-styles/style">
+ <!-- Loop over every style:style containing a @style:master-page-name attribute -->
+ <xsl:for-each select="key('masterPage','count')">
+ <!-- set context to styles.xml -->
+ <xsl:for-each select="/*/office:body">
+ <!-- Check if this style is being used in the body -->
+ <xsl:if test="key('elementUsingStyle', ../@style:name)">
+ <!-- Check every master-page-name if it is not emtpy and return as ';' separated list -->
+ <xsl:if test="string-length(../@style:master-page-name) &gt; 0"><xsl:value-of select="../@style:master-page-name"/>;</xsl:if>
+ </xsl:if>
+ </xsl:for-each>
+ </xsl:for-each>
+ </xsl:for-each>
+ </xsl:variable>
+ <!-- Take the first of the masterpage list and get the according style:master-page element and find the @style:page-layout-name -->
+ <xsl:variable name="pageLayoutName" select="key('masterPageElements', substring-before($masterPageNames,';'))/@style:page-layout-name"/>
+ <!-- Find the according style:page-layout and store the properties in a variable -->
+ <xsl:variable name="pageProperties" select="key('pageLayoutElements', $pageLayoutName)/style:page-layout-properties"/>
+
+<xsl:text>@page { </xsl:text>
+
+ <xsl:call-template name="page-size">
+ <xsl:with-param name="globalData" select="$globalData" />
+ <xsl:with-param name="pageProperties" select="$pageProperties" />
+ </xsl:call-template>
+ <xsl:call-template name="page-margin">
+ <xsl:with-param name="globalData" select="$globalData" />
+ <xsl:with-param name="pageProperties" select="$pageProperties" />
+ </xsl:call-template>
+
+<xsl:text> }
+ </xsl:text>
+
+ </xsl:template>
+
+
+ <xsl:template name="page-size">
+ <xsl:param name="globalData" />
+ <xsl:param name="pageProperties" />
+
+ <xsl:variable name="printOrientation" select="$pageProperties/@style:print-orientation" />
+ <xsl:variable name="pageWidth" select="$pageProperties/@fo:page-width" />
+ <xsl:variable name="pageHeight" select="$pageProperties/@fo:page-height" />
+ <xsl:choose>
+ <xsl:when test="$pageWidth and $pageHeight">
+ <xsl:text>size: </xsl:text>
+ <xsl:value-of select="$pageWidth" />
+ <xsl:text> </xsl:text>
+ <xsl:value-of select="$pageHeight" />
+ <xsl:text>; </xsl:text>
+ </xsl:when>
+ <xsl:when test="$printOrientation">
+ <xsl:text>size: </xsl:text>
+ <xsl:value-of select="$printOrientation" />
+ <xsl:text>; </xsl:text>
+ </xsl:when>
+ </xsl:choose>
+ </xsl:template>
+
+
+
+ <xsl:template name="page-margin">
+ <xsl:param name="globalData" />
+ <xsl:param name="pageProperties" />
+
+ <xsl:variable name="marginTop" select="$pageProperties/@fo:margin-top" />
+ <xsl:if test="$marginTop">
+ <xsl:text>margin-top: </xsl:text>
+ <xsl:value-of select="$marginTop" />
+ <xsl:text>; </xsl:text>
+ </xsl:if>
+ <xsl:variable name="marginBottom" select="$pageProperties/@fo:margin-bottom" />
+ <xsl:if test="$marginBottom">
+ <xsl:text>margin-bottom: </xsl:text>
+ <xsl:value-of select="$marginBottom" />
+ <xsl:text>; </xsl:text>
+ </xsl:if>
+ <xsl:variable name="marginLeft" select="$pageProperties/@fo:margin-left" />
+ <xsl:if test="$marginLeft">
+ <xsl:text>margin-left: </xsl:text>
+ <xsl:value-of select="$marginLeft" />
+ <xsl:text>; </xsl:text>
+ </xsl:if>
+ <xsl:variable name="marginRight" select="$pageProperties/@fo:margin-right" />
+ <xsl:if test="$marginRight">
+ <xsl:text>margin-right: </xsl:text>
+ <xsl:value-of select="$marginRight" />
+ </xsl:if>
+ </xsl:template>
+
+
+ <!-- *************************** -->
+ <!-- *** Common XHTML header *** -->
+ <!-- *************************** -->
+
+ <xsl:template name='xhtml-header-properties'>
+ <xsl:param name="globalData" />
+
+ <xsl:variable name="netloc">
+ <xsl:for-each select="$globalData/meta-file/*/office:meta/meta:user-defined">
+ <xsl:if test="./@meta:name='ODF.base'">
+ <xsl:value-of select="." />
+ </xsl:if>
+ </xsl:for-each>
+ <xsl:for-each select="$globalData/meta-file/*/office:meta/meta:user-defined">
+ <xsl:if test="./@meta:name='ODF.filename'">
+ <xsl:value-of select="." />
+ </xsl:if>
+ </xsl:for-each>
+ </xsl:variable>
+
+ <xsl:variable name="lang">
+ <xsl:choose>
+ <xsl:when test="$globalData/meta-file/*/office:meta/dc:language">
+ <xsl:value-of select="$globalData/meta-file/*/office:meta/dc:language" />
+ </xsl:when>
+ <xsl:otherwise>en-US</xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:variable name="prov">
+ <xsl:choose>
+ <xsl:when test="$globalData/meta-file/*/office:meta/meta:printed-by">
+ <xsl:value-of select="concat('Printed by &quot;',$globalData/meta-file/*/office:meta/meta:printed-by,'&quot;[dc:publisher] on &quot;',$globalData/meta-file/*/office:meta/meta:print-date,'&quot;[dc:date] in &quot;',$lang,'&quot;[dc:language]')" />
+ </xsl:when>
+ <xsl:otherwise />
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:variable name="keywords">
+ <xsl:for-each select="$globalData/meta-file/*/office:meta/meta:keyword">
+ <xsl:value-of select="." />
+ <xsl:if test="position() != last()">
+ <xsl:text>, </xsl:text>
+ </xsl:if>
+ </xsl:for-each>
+ </xsl:variable>
+
+ <!-- explicit output content-type for low-tech browser (e.g. IE6) -->
+ <xsl:element name="meta">
+ <xsl:attribute name="http-equiv">Content-Type</xsl:attribute>
+ <xsl:attribute name="content">application/xhtml+xml; charset=utf-8</xsl:attribute>
+ </xsl:element>
+
+ <!-- title of document for browser frame title -->
+ <xsl:element name="title">
+ <xsl:attribute name="lang" namespace="http://www.w3.org/XML/1998/namespace">
+ <xsl:value-of select="$lang" />
+ </xsl:attribute>
+
+ <xsl:choose>
+ <xsl:when test="$globalData/meta-file/*/office:meta/dc:title">
+ <xsl:value-of select="$globalData/meta-file/*/office:meta/dc:title" />
+ </xsl:when>
+ <!-- providing the mandatory title is a workaround for an IE bug-->
+ <xsl:otherwise>
+ <xsl:text>- no title specified</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:element>
+
+ <!-- title, in DC syntax -->
+ <xsl:element name="meta">
+ <xsl:attribute name="name">DCTERMS.title</xsl:attribute>
+ <xsl:attribute name="content">
+ <xsl:value-of select="$globalData/meta-file/*/office:meta/dc:title" />
+ </xsl:attribute>
+ <xsl:attribute name="lang" namespace="http://www.w3.org/XML/1998/namespace">
+ <xsl:value-of select="$lang" />
+ </xsl:attribute>
+ </xsl:element>
+
+ <!-- the identifier for source (identifier) -->
+ <xsl:call-template name="add-meta-tag">
+ <xsl:with-param name="meta-name" select="'DCTERMS.identifier'" />
+ <xsl:with-param name="meta-data" select="translate($netloc, ' ','')" />
+ <xsl:with-param name="meta-enc" select="'DCTERMS.URI'" />
+ </xsl:call-template>
+
+ <!-- the language for source (language) -->
+ <xsl:call-template name="add-meta-tag">
+ <xsl:with-param name="meta-name" select="'DCTERMS.language'" />
+ <xsl:with-param name="meta-data" select="$lang" />
+ <xsl:with-param name="meta-enc" select="'DCTERMS.RFC4646'" />
+ </xsl:call-template>
+
+ <!-- a bit commercial (generator) -->
+ <xsl:element name="meta">
+ <xsl:attribute name="name">DCTERMS.source</xsl:attribute>
+ <xsl:attribute name="content">http://xml.openoffice.org/odf2xhtml</xsl:attribute>
+ </xsl:element>
+
+ <!-- the author of the input source (author) -->
+ <xsl:call-template name="add-meta-tag">
+ <xsl:with-param name="meta-name" select="'DCTERMS.creator'" />
+ <xsl:with-param name="meta-data" select="$globalData/meta-file/*/office:meta/meta:initial-creator" />
+ </xsl:call-template>
+
+ <!-- creation-date of the input source (issued) -->
+ <xsl:call-template name="add-meta-tag">
+ <xsl:with-param name="meta-name" select="'DCTERMS.issued'" />
+ <xsl:with-param name="meta-data" select="$globalData/meta-file/*/office:meta/meta:creation-date" />
+ <xsl:with-param name="meta-enc" select="'DCTERMS.W3CDTF'" />
+ </xsl:call-template>
+
+ <!-- name of last changing person of the input source (changedby) -->
+ <xsl:call-template name="add-meta-tag">
+ <xsl:with-param name="meta-name" select="'DCTERMS.contributor'" />
+ <xsl:with-param name="meta-data" select="$globalData/meta-file/*/office:meta/dc:creator" />
+ </xsl:call-template>
+
+ <!-- last changing date of the input source (changed) -->
+ <xsl:call-template name="add-meta-tag">
+ <xsl:with-param name="meta-name" select="'DCTERMS.modified'" />
+ <xsl:with-param name="meta-data" select="$globalData/meta-file/*/office:meta/dc:date" />
+ <xsl:with-param name="meta-enc" select="'DCTERMS.W3CDTF'" />
+ </xsl:call-template>
+
+ <!-- Last print, as provenance -->
+ <xsl:if test="$prov">
+ <xsl:call-template name="add-meta-tag">
+ <xsl:with-param name="meta-name" select="'DCTERMS.provenance'" />
+ <xsl:with-param name="meta-data" select="$prov" />
+ <xsl:with-param name="meta-lang" select="$lang" />
+ </xsl:call-template>
+ </xsl:if>
+
+ <!-- keywords about the input source (keywords) -->
+ <xsl:call-template name="add-meta-tag">
+ <xsl:with-param name="meta-name" select="'DCTERMS.subject'" />
+ <xsl:with-param name="meta-data" select="normalize-space(concat($globalData/meta-file/*/office:meta/dc:subject,', ',$keywords))" />
+ <xsl:with-param name="meta-lang" select="$lang" />
+ </xsl:call-template>
+
+ <!-- detailed description about the input source (description) -->
+ <xsl:call-template name="add-meta-tag">
+ <xsl:with-param name="meta-name" select="'DCTERMS.description'" />
+ <xsl:with-param name="meta-data" select="$globalData/meta-file/*/office:meta/dc:description" />
+ <xsl:with-param name="meta-lang" select="$lang" />
+ </xsl:call-template>
+
+
+ <!-- user defined use of DCTERM tags -->
+ <xsl:for-each select="$globalData/meta-file/*/office:meta/meta:user-defined[starts-with(@meta:name,'DCTERMS.')][not(.='')]">
+ <xsl:call-template name="add-meta-tag">
+ <xsl:with-param name="meta-name" select="@meta:name" />
+ <xsl:with-param name="meta-data" select="." />
+ <!-- <xsl:with-param name="meta-lang" select="$lang" /> -->
+ </xsl:call-template>
+ </xsl:for-each>
+ <!-- user defined use of DC tags (legacy) -->
+ <xsl:for-each select="$globalData/meta-file/*/office:meta/meta:user-defined[starts-with(@meta:name,'DC.')][not(.='')]">
+ <xsl:call-template name="add-meta-tag">
+ <xsl:with-param name="meta-name" select="@meta:name" />
+ <xsl:with-param name="meta-data" select="." />
+ <!-- <xsl:with-param name="meta-lang" select="$lang" /> -->
+ </xsl:call-template>
+ </xsl:for-each>
+
+ <link rel="schema.DC" href="http://purl.org/dc/elements/1.1/" hreflang="en" />
+ <link rel="schema.DCTERMS" href="http://purl.org/dc/terms/" hreflang="en" />
+ <link rel="schema.DCTYPE" href="http://purl.org/dc/dcmitype/" hreflang="en" />
+ <link rel="schema.DCAM" href="http://purl.org/dc/dcam/" hreflang="en" />
+ <!-- W3C GRDDL Profile -->
+ <!--
+ <link rel="transformation" href="http://xml.openoffice.org/odf2xhtml/rdf-extract.xsl" />
+ -->
+
+ <!-- base URL of document for resolving relative links -->
+ <xsl:element name="base">
+ <xsl:attribute name="href">
+ <!-- earlier 'targetURL' was used for an absoulte reference of base provided by the Office (file URL)
+ <xsl:value-of select="$targetURL" />
+ now '.' let relative links work, even if document has been moved -->
+ <xsl:text>.</xsl:text>
+ </xsl:attribute>
+ </xsl:element>
+ </xsl:template>
+
+ <!-- generic template for adding common meta tags -->
+ <xsl:template name="add-meta-tag">
+ <xsl:param name="meta-name" />
+ <xsl:param name="meta-data" />
+ <xsl:param name="meta-enc" />
+ <xsl:param name="meta-lang" />
+
+ <xsl:if test="$meta-data">
+ <xsl:element name="meta">
+ <xsl:attribute name="name">
+ <xsl:value-of select="$meta-name" />
+ </xsl:attribute>
+ <xsl:attribute name="content">
+ <xsl:value-of select="$meta-data" />
+ </xsl:attribute>
+ <xsl:if test="$meta-enc">
+ <xsl:attribute name="scheme">
+ <xsl:value-of select="$meta-enc" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="$meta-lang">
+ <xsl:attribute name="lang" namespace="http://www.w3.org/XML/1998/namespace">
+ <xsl:value-of select="$meta-lang" />
+ </xsl:attribute>
+ </xsl:if>
+ </xsl:element>
+ </xsl:if>
+ </xsl:template>
+
+</xsl:stylesheet>
diff --git a/oox/inc/oox/vml/vmldrawing.hxx b/oox/inc/oox/vml/vmldrawing.hxx
index d78d21c284f5..1af14903793b 100644
--- a/oox/inc/oox/vml/vmldrawing.hxx
+++ b/oox/inc/oox/vml/vmldrawing.hxx
@@ -143,7 +143,7 @@ public:
/** Derived classes may convert additional form control properties from the
passed VML shape client data. */
virtual void convertControlClientData(
- const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControlModel >& rxCtrlModel,
+ const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControlModel >& rxCtrlModel,
const ShapeClientData& rClientData ) const;
protected:
diff --git a/oox/inc/oox/vml/vmlshape.hxx b/oox/inc/oox/vml/vmlshape.hxx
index c1822cf68315..18eaa7513fc5 100644
--- a/oox/inc/oox/vml/vmlshape.hxx
+++ b/oox/inc/oox/vml/vmlshape.hxx
@@ -292,7 +292,7 @@ protected:
/** A group shape that extends the basic shape by a container of child shapes. */
class GroupShape : public ShapeBase
{
-public:
+public:
explicit GroupShape( const Drawing& rDrawing );
virtual ~GroupShape();
diff --git a/oox/inc/oox/xls/drawingfragment.hxx b/oox/inc/oox/xls/drawingfragment.hxx
index 658f487fdffb..a75baf41149a 100644
--- a/oox/inc/oox/xls/drawingfragment.hxx
+++ b/oox/inc/oox/xls/drawingfragment.hxx
@@ -181,7 +181,7 @@ public:
/** Converts additional form control properties from the passed VML shape
client data. */
virtual void convertControlClientData(
- const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControlModel >& rxCtrlModel,
+ const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControlModel >& rxCtrlModel,
const ::oox::vml::ShapeClientData& rClientData ) const;
};
diff --git a/oox/source/export/presetShapeDefinitions.xml b/oox/source/export/presetShapeDefinitions.xml
index f5fead717fe0..77612e2b1652 100644
--- a/oox/source/export/presetShapeDefinitions.xml
+++ b/oox/source/export/presetShapeDefinitions.xml
@@ -1,19915 +1,19915 @@
-<?xml version="1.0" encoding="utf-8"?>
-<presetShapeDefinitons>
- <accentBorderCallout1>
-
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
-
- <gd name="adj1" fmla="val 18750" />
-
- <gd name="adj2" fmla="val -8333" />
-
- <gd name="adj3" fmla="val 112500" />
-
- <gd name="adj4" fmla="val -38333" />
-
- </avLst>
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="y1" fmla="*/ h adj1 100000" />
- <gd name="x1" fmla="*/ w adj2 100000" />
- <gd name="y2" fmla="*/ h adj3 100000" />
- <gd name="x2" fmla="*/ w adj4 100000" />
- </gdLst>
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <ahXY gdRefX="adj2" minX="-2147483647" maxX="2147483647" gdRefY="adj1" minY="-2147483647" maxY="2147483647">
- <pos x="x1" y="y1" />
- </ahXY>
- <ahXY gdRefX="adj4" minX="-2147483647" maxX="2147483647" gdRefY="adj3" minY="-2147483647" maxY="2147483647">
- <pos x="x2" y="y2" />
- </ahXY>
- </ahLst>
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <cxn ang="0">
- <pos x="r" y="vc" />
- </cxn>
- <cxn ang="cd4">
- <pos x="hc" y="b" />
- </cxn>
- <cxn ang="cd2">
- <pos x="l" y="vc" />
- </cxn>
- <cxn ang="3cd4">
- <pos x="hc" y="t" />
- </cxn>
- </cxnLst>
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <path extrusionOk="false">
- <moveTo>
- <pt x="l" y="t" />
- </moveTo>
- <lnTo>
- <pt x="r" y="t" />
- </lnTo>
- <lnTo>
- <pt x="r" y="b" />
- </lnTo>
- <lnTo>
- <pt x="l" y="b" />
- </lnTo>
- <close />
- </path>
- <path fill="none" extrusionOk="false">
- <moveTo>
- <pt x="x1" y="t" />
- </moveTo>
- <close />
- <lnTo>
- <pt x="x1" y="b" />
- </lnTo>
- </path>
- <path fill="none" extrusionOk="false">
- <moveTo>
- <pt x="x1" y="y1" />
- </moveTo>
- <lnTo>
- <pt x="x2" y="y2" />
- </lnTo>
- </path>
- </pathLst>
-
- </accentBorderCallout1>
- <accentBorderCallout2>
-
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
-
- <gd name="adj1" fmla="val 18750" />
-
- <gd name="adj2" fmla="val -8333" />
-
- <gd name="adj3" fmla="val 18750" />
-
- <gd name="adj4" fmla="val -16667" />
-
- <gd name="adj5" fmla="val 112500" />
-
- <gd name="adj6" fmla="val -46667" />
-
- </avLst>
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="y1" fmla="*/ h adj1 100000" />
- <gd name="x1" fmla="*/ w adj2 100000" />
- <gd name="y2" fmla="*/ h adj3 100000" />
- <gd name="x2" fmla="*/ w adj4 100000" />
- <gd name="y3" fmla="*/ h adj5 100000" />
- <gd name="x3" fmla="*/ w adj6 100000" />
- </gdLst>
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <ahXY gdRefX="adj2" minX="-2147483647" maxX="2147483647" gdRefY="adj1" minY="-2147483647" maxY="2147483647">
- <pos x="x1" y="y1" />
- </ahXY>
- <ahXY gdRefX="adj4" minX="-2147483647" maxX="2147483647" gdRefY="adj3" minY="-2147483647" maxY="2147483647">
- <pos x="x2" y="y2" />
- </ahXY>
- <ahXY gdRefX="adj6" minX="-2147483647" maxX="2147483647" gdRefY="adj5" minY="-2147483647" maxY="2147483647">
- <pos x="x3" y="y3" />
- </ahXY>
- </ahLst>
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <cxn ang="0">
- <pos x="r" y="vc" />
- </cxn>
- <cxn ang="cd4">
- <pos x="hc" y="b" />
- </cxn>
- <cxn ang="cd2">
- <pos x="l" y="vc" />
- </cxn>
- <cxn ang="3cd4">
- <pos x="hc" y="t" />
- </cxn>
- </cxnLst>
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <path extrusionOk="false">
- <moveTo>
- <pt x="l" y="t" />
- </moveTo>
- <lnTo>
- <pt x="r" y="t" />
- </lnTo>
- <lnTo>
- <pt x="r" y="b" />
- </lnTo>
- <lnTo>
- <pt x="l" y="b" />
- </lnTo>
- <close />
- </path>
- <path fill="none" extrusionOk="false">
- <moveTo>
- <pt x="x1" y="t" />
- </moveTo>
- <close />
- <lnTo>
- <pt x="x1" y="b" />
- </lnTo>
- </path>
- <path fill="none" extrusionOk="false">
- <moveTo>
- <pt x="x1" y="y1" />
- </moveTo>
- <lnTo>
- <pt x="x2" y="y2" />
- </lnTo>
- <lnTo>
- <pt x="x3" y="y3" />
- </lnTo>
- </path>
- </pathLst>
-
- </accentBorderCallout2>
- <accentBorderCallout3>
-
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
-
- <gd name="adj1" fmla="val 18750" />
-
- <gd name="adj2" fmla="val -8333" />
-
- <gd name="adj3" fmla="val 18750" />
-
- <gd name="adj4" fmla="val -16667" />
-
- <gd name="adj5" fmla="val 100000" />
-
- <gd name="adj6" fmla="val -16667" />
-
- <gd name="adj7" fmla="val 112963" />
-
- <gd name="adj8" fmla="val -8333" />
-
- </avLst>
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="y1" fmla="*/ h adj1 100000" />
- <gd name="x1" fmla="*/ w adj2 100000" />
- <gd name="y2" fmla="*/ h adj3 100000" />
- <gd name="x2" fmla="*/ w adj4 100000" />
- <gd name="y3" fmla="*/ h adj5 100000" />
- <gd name="x3" fmla="*/ w adj6 100000" />
- <gd name="y4" fmla="*/ h adj7 100000" />
- <gd name="x4" fmla="*/ w adj8 100000" />
- </gdLst>
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <ahXY gdRefX="adj2" minX="-2147483647" maxX="2147483647" gdRefY="adj1" minY="-2147483647" maxY="2147483647">
- <pos x="x1" y="y1" />
- </ahXY>
- <ahXY gdRefX="adj4" minX="-2147483647" maxX="2147483647" gdRefY="adj3" minY="-2147483647" maxY="2147483647">
- <pos x="x2" y="y2" />
- </ahXY>
- <ahXY gdRefX="adj6" minX="-2147483647" maxX="2147483647" gdRefY="adj5" minY="-2147483647" maxY="2147483647">
- <pos x="x3" y="y3" />
- </ahXY>
- <ahXY gdRefX="adj8" minX="-2147483647" maxX="2147483647" gdRefY="adj7" minY="-2147483647" maxY="2147483647">
- <pos x="x4" y="y4" />
- </ahXY>
- </ahLst>
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <cxn ang="0">
- <pos x="r" y="vc" />
- </cxn>
- <cxn ang="cd4">
- <pos x="hc" y="b" />
- </cxn>
- <cxn ang="cd2">
- <pos x="l" y="vc" />
- </cxn>
- <cxn ang="3cd4">
- <pos x="hc" y="t" />
- </cxn>
- </cxnLst>
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <path extrusionOk="false">
- <moveTo>
- <pt x="l" y="t" />
- </moveTo>
- <lnTo>
- <pt x="r" y="t" />
- </lnTo>
- <lnTo>
- <pt x="r" y="b" />
- </lnTo>
- <lnTo>
- <pt x="l" y="b" />
- </lnTo>
- <close />
- </path>
- <path fill="none" extrusionOk="false">
- <moveTo>
- <pt x="x1" y="t" />
- </moveTo>
- <close />
- <lnTo>
- <pt x="x1" y="b" />
- </lnTo>
- </path>
- <path fill="none" extrusionOk="false">
- <moveTo>
- <pt x="x1" y="y1" />
- </moveTo>
- <lnTo>
- <pt x="x2" y="y2" />
- </lnTo>
- <lnTo>
- <pt x="x3" y="y3" />
- </lnTo>
- <lnTo>
- <pt x="x4" y="y4" />
- </lnTo>
- </path>
- </pathLst>
-
- </accentBorderCallout3>
- <accentCallout1>
-
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
-
- <gd name="adj1" fmla="val 18750" />
-
- <gd name="adj2" fmla="val -8333" />
-
- <gd name="adj3" fmla="val 112500" />
-
- <gd name="adj4" fmla="val -38333" />
-
- </avLst>
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="y1" fmla="*/ h adj1 100000" />
- <gd name="x1" fmla="*/ w adj2 100000" />
- <gd name="y2" fmla="*/ h adj3 100000" />
- <gd name="x2" fmla="*/ w adj4 100000" />
- </gdLst>
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <ahXY gdRefX="adj2" minX="-2147483647" maxX="2147483647" gdRefY="adj1" minY="-2147483647" maxY="2147483647">
- <pos x="x1" y="y1" />
- </ahXY>
- <ahXY gdRefX="adj4" minX="-2147483647" maxX="2147483647" gdRefY="adj3" minY="-2147483647" maxY="2147483647">
- <pos x="x2" y="y2" />
- </ahXY>
- </ahLst>
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <cxn ang="0">
- <pos x="r" y="vc" />
- </cxn>
- <cxn ang="cd4">
- <pos x="hc" y="b" />
- </cxn>
- <cxn ang="cd2">
- <pos x="l" y="vc" />
- </cxn>
- <cxn ang="3cd4">
- <pos x="hc" y="t" />
- </cxn>
- </cxnLst>
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <path stroke="false" extrusionOk="false">
- <moveTo>
- <pt x="l" y="t" />
- </moveTo>
- <lnTo>
- <pt x="r" y="t" />
- </lnTo>
- <lnTo>
- <pt x="r" y="b" />
- </lnTo>
- <lnTo>
- <pt x="l" y="b" />
- </lnTo>
- <close />
- </path>
- <path fill="none" extrusionOk="false">
- <moveTo>
- <pt x="x1" y="t" />
- </moveTo>
- <close />
- <lnTo>
- <pt x="x1" y="b" />
- </lnTo>
- </path>
- <path fill="none" extrusionOk="false">
- <moveTo>
- <pt x="x1" y="y1" />
- </moveTo>
- <lnTo>
- <pt x="x2" y="y2" />
- </lnTo>
- </path>
- </pathLst>
-
- </accentCallout1>
- <accentCallout2>
-
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
-
- <gd name="adj1" fmla="val 18750" />
-
- <gd name="adj2" fmla="val -8333" />
-
- <gd name="adj3" fmla="val 18750" />
-
- <gd name="adj4" fmla="val -16667" />
-
- <gd name="adj5" fmla="val 112500" />
-
- <gd name="adj6" fmla="val -46667" />
-
- </avLst>
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="y1" fmla="*/ h adj1 100000" />
- <gd name="x1" fmla="*/ w adj2 100000" />
- <gd name="y2" fmla="*/ h adj3 100000" />
- <gd name="x2" fmla="*/ w adj4 100000" />
- <gd name="y3" fmla="*/ h adj5 100000" />
- <gd name="x3" fmla="*/ w adj6 100000" />
- </gdLst>
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <ahXY gdRefX="adj2" minX="-2147483647" maxX="2147483647" gdRefY="adj1" minY="-2147483647" maxY="2147483647">
- <pos x="x1" y="y1" />
- </ahXY>
- <ahXY gdRefX="adj4" minX="-2147483647" maxX="2147483647" gdRefY="adj3" minY="-2147483647" maxY="2147483647">
- <pos x="x2" y="y2" />
- </ahXY>
- <ahXY gdRefX="adj6" minX="-2147483647" maxX="2147483647" gdRefY="adj5" minY="-2147483647" maxY="2147483647">
- <pos x="x3" y="y3" />
- </ahXY>
- </ahLst>
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <cxn ang="0">
- <pos x="r" y="vc" />
- </cxn>
- <cxn ang="cd4">
- <pos x="hc" y="b" />
- </cxn>
- <cxn ang="cd2">
- <pos x="l" y="vc" />
- </cxn>
- <cxn ang="3cd4">
- <pos x="hc" y="t" />
- </cxn>
- </cxnLst>
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <path stroke="false" extrusionOk="false">
- <moveTo>
- <pt x="l" y="t" />
- </moveTo>
- <lnTo>
- <pt x="r" y="t" />
- </lnTo>
- <lnTo>
- <pt x="r" y="b" />
- </lnTo>
- <lnTo>
- <pt x="l" y="b" />
- </lnTo>
- <close />
- </path>
- <path fill="none" extrusionOk="false">
- <moveTo>
- <pt x="x1" y="t" />
- </moveTo>
- <close />
- <lnTo>
- <pt x="x1" y="b" />
- </lnTo>
- </path>
- <path fill="none" extrusionOk="false">
- <moveTo>
- <pt x="x1" y="y1" />
- </moveTo>
- <lnTo>
- <pt x="x2" y="y2" />
- </lnTo>
- <lnTo>
- <pt x="x3" y="y3" />
- </lnTo>
- </path>
- </pathLst>
-
- </accentCallout2>
- <accentCallout3>
-
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
-
- <gd name="adj1" fmla="val 18750" />
-
- <gd name="adj2" fmla="val -8333" />
-
- <gd name="adj3" fmla="val 18750" />
-
- <gd name="adj4" fmla="val -16667" />
-
- <gd name="adj5" fmla="val 100000" />
-
- <gd name="adj6" fmla="val -16667" />
-
- <gd name="adj7" fmla="val 112963" />
-
- <gd name="adj8" fmla="val -8333" />
-
- </avLst>
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="y1" fmla="*/ h adj1 100000" />
- <gd name="x1" fmla="*/ w adj2 100000" />
- <gd name="y2" fmla="*/ h adj3 100000" />
- <gd name="x2" fmla="*/ w adj4 100000" />
- <gd name="y3" fmla="*/ h adj5 100000" />
- <gd name="x3" fmla="*/ w adj6 100000" />
- <gd name="y4" fmla="*/ h adj7 100000" />
- <gd name="x4" fmla="*/ w adj8 100000" />
- </gdLst>
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <ahXY gdRefX="adj2" minX="-2147483647" maxX="2147483647" gdRefY="adj1" minY="-2147483647" maxY="2147483647">
- <pos x="x1" y="y1" />
- </ahXY>
- <ahXY gdRefX="adj4" minX="-2147483647" maxX="2147483647" gdRefY="adj3" minY="-2147483647" maxY="2147483647">
- <pos x="x2" y="y2" />
- </ahXY>
- <ahXY gdRefX="adj6" minX="-2147483647" maxX="2147483647" gdRefY="adj5" minY="-2147483647" maxY="2147483647">
- <pos x="x3" y="y3" />
- </ahXY>
- <ahXY gdRefX="adj8" minX="-2147483647" maxX="2147483647" gdRefY="adj7" minY="-2147483647" maxY="2147483647">
- <pos x="x4" y="y4" />
- </ahXY>
- </ahLst>
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <cxn ang="0">
- <pos x="r" y="vc" />
- </cxn>
- <cxn ang="cd4">
- <pos x="hc" y="b" />
- </cxn>
- <cxn ang="cd2">
- <pos x="l" y="vc" />
- </cxn>
- <cxn ang="3cd4">
- <pos x="hc" y="t" />
- </cxn>
- </cxnLst>
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <path stroke="false" extrusionOk="false">
- <moveTo>
- <pt x="l" y="t" />
- </moveTo>
- <lnTo>
- <pt x="r" y="t" />
- </lnTo>
- <lnTo>
- <pt x="r" y="b" />
- </lnTo>
- <lnTo>
- <pt x="l" y="b" />
- </lnTo>
- <close />
- </path>
- <path fill="none" extrusionOk="false">
- <moveTo>
- <pt x="x1" y="t" />
- </moveTo>
- <close />
- <lnTo>
- <pt x="x1" y="b" />
- </lnTo>
- </path>
- <path fill="none" extrusionOk="false">
- <moveTo>
- <pt x="x1" y="y1" />
- </moveTo>
- <lnTo>
- <pt x="x2" y="y2" />
- </lnTo>
- <lnTo>
- <pt x="x3" y="y3" />
- </lnTo>
- <lnTo>
- <pt x="x4" y="y4" />
- </lnTo>
- </path>
- </pathLst>
-
- </accentCallout3>
- <actionButtonBackPrevious>
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="dx2" fmla="*/ ss 3 8" />
- <gd name="g9" fmla="+- vc 0 dx2" />
- <gd name="g10" fmla="+- vc dx2 0" />
- <gd name="g11" fmla="+- hc 0 dx2" />
- <gd name="g12" fmla="+- hc dx2 0" />
- </gdLst>
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <cxn ang="0">
- <pos x="r" y="vc" />
- </cxn>
- <cxn ang="cd4">
- <pos x="hc" y="b" />
- </cxn>
- <cxn ang="cd2">
- <pos x="l" y="vc" />
- </cxn>
- <cxn ang="3cd4">
- <pos x="hc" y="t" />
- </cxn>
- </cxnLst>
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <path stroke="false" extrusionOk="false">
- <moveTo>
- <pt x="l" y="t" />
- </moveTo>
- <lnTo>
- <pt x="r" y="t" />
- </lnTo>
- <lnTo>
- <pt x="r" y="b" />
- </lnTo>
- <lnTo>
- <pt x="l" y="b" />
- </lnTo>
- <close />
- <moveTo>
- <pt x="g11" y="vc" />
- </moveTo>
- <lnTo>
- <pt x="g12" y="g9" />
- </lnTo>
- <lnTo>
- <pt x="g12" y="g10" />
- </lnTo>
- <close />
- </path>
- <path stroke="false" fill="darken" extrusionOk="false">
- <moveTo>
- <pt x="g11" y="vc" />
- </moveTo>
- <lnTo>
- <pt x="g12" y="g9" />
- </lnTo>
- <lnTo>
- <pt x="g12" y="g10" />
- </lnTo>
- <close />
- </path>
- <path fill="none" extrusionOk="false">
- <moveTo>
- <pt x="g11" y="vc" />
- </moveTo>
- <lnTo>
- <pt x="g12" y="g9" />
- </lnTo>
- <lnTo>
- <pt x="g12" y="g10" />
- </lnTo>
- <close />
- </path>
- <path fill="none">
- <moveTo>
- <pt x="l" y="t" />
- </moveTo>
- <lnTo>
- <pt x="r" y="t" />
- </lnTo>
- <lnTo>
- <pt x="r" y="b" />
- </lnTo>
- <lnTo>
- <pt x="l" y="b" />
- </lnTo>
- <close />
- </path>
- </pathLst>
- </actionButtonBackPrevious>
- <actionButtonBeginning>
-
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="dx2" fmla="*/ ss 3 8" />
- <gd name="g9" fmla="+- vc 0 dx2" />
- <gd name="g10" fmla="+- vc dx2 0" />
- <gd name="g11" fmla="+- hc 0 dx2" />
- <gd name="g12" fmla="+- hc dx2 0" />
- <gd name="g13" fmla="*/ ss 3 4" />
- <gd name="g14" fmla="*/ g13 1 8" />
- <gd name="g15" fmla="*/ g13 1 4" />
- <gd name="g16" fmla="+- g11 g14 0" />
- <gd name="g17" fmla="+- g11 g15 0" />
- </gdLst>
-
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <cxn ang="0">
- <pos x="r" y="vc" />
- </cxn>
- <cxn ang="cd4">
- <pos x="hc" y="b" />
- </cxn>
- <cxn ang="cd2">
- <pos x="l" y="vc" />
- </cxn>
- <cxn ang="3cd4">
- <pos x="hc" y="t" />
- </cxn>
- </cxnLst>
-
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
-
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <path stroke="false" extrusionOk="false">
- <moveTo>
- <pt x="l" y="t" />
- </moveTo>
- <lnTo>
- <pt x="r" y="t" />
- </lnTo>
- <lnTo>
- <pt x="r" y="b" />
- </lnTo>
- <lnTo>
- <pt x="l" y="b" />
- </lnTo>
- <close />
- <moveTo>
- <pt x="g17" y="vc" />
- </moveTo>
-
- <lnTo>
- <pt x="g12" y="g9" />
- </lnTo>
- <lnTo>
- <pt x="g12" y="g10" />
- </lnTo>
- <close />
- <moveTo>
- <pt x="g16" y="g9" />
- </moveTo>
-
- <lnTo>
- <pt x="g11" y="g9" />
- </lnTo>
- <lnTo>
- <pt x="g11" y="g10" />
- </lnTo>
- <lnTo>
- <pt x="g16" y="g10" />
- </lnTo>
- <close />
- </path>
- <path stroke="false" fill="darken" extrusionOk="false">
- <moveTo>
- <pt x="g17" y="vc" />
- </moveTo>
-
- <lnTo>
- <pt x="g12" y="g9" />
- </lnTo>
- <lnTo>
- <pt x="g12" y="g10" />
- </lnTo>
- <close />
- <moveTo>
- <pt x="g16" y="g9" />
- </moveTo>
-
- <lnTo>
- <pt x="g11" y="g9" />
- </lnTo>
- <lnTo>
- <pt x="g11" y="g10" />
- </lnTo>
- <lnTo>
- <pt x="g16" y="g10" />
- </lnTo>
- <close />
- </path>
- <path fill="none" extrusionOk="false">
- <moveTo>
- <pt x="g17" y="vc" />
- </moveTo>
-
- <lnTo>
- <pt x="g12" y="g9" />
- </lnTo>
- <lnTo>
- <pt x="g12" y="g10" />
- </lnTo>
- <close />
- <moveTo>
- <pt x="g16" y="g9" />
- </moveTo>
-
- <lnTo>
- <pt x="g16" y="g10" />
- </lnTo>
- <lnTo>
- <pt x="g11" y="g10" />
- </lnTo>
- <lnTo>
- <pt x="g11" y="g9" />
- </lnTo>
- <close />
- </path>
- <path fill="none">
- <moveTo>
- <pt x="l" y="t" />
- </moveTo>
-
- <lnTo>
- <pt x="r" y="t" />
- </lnTo>
- <lnTo>
- <pt x="r" y="b" />
- </lnTo>
- <lnTo>
- <pt x="l" y="b" />
- </lnTo>
- <close />
- </path>
- </pathLst>
-
- </actionButtonBeginning>
- <actionButtonBlank>
-
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <cxn ang="0">
- <pos x="r" y="vc" />
- </cxn>
- <cxn ang="cd4">
- <pos x="hc" y="b" />
- </cxn>
- <cxn ang="cd2">
- <pos x="l" y="vc" />
- </cxn>
- <cxn ang="3cd4">
- <pos x="hc" y="t" />
- </cxn>
- </cxnLst>
-
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
-
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <path>
- <moveTo>
- <pt x="l" y="t" />
- </moveTo>
- <lnTo>
- <pt x="r" y="t" />
- </lnTo>
- <lnTo>
- <pt x="r" y="b" />
- </lnTo>
- <lnTo>
- <pt x="l" y="b" />
- </lnTo>
- <close />
- </path>
- </pathLst>
-
- </actionButtonBlank>
- <actionButtonDocument>
-
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="dx2" fmla="*/ ss 3 8" />
- <gd name="g9" fmla="+- vc 0 dx2" />
- <gd name="g10" fmla="+- vc dx2 0" />
- <gd name="dx1" fmla="*/ ss 9 32" />
- <gd name="g11" fmla="+- hc 0 dx1" />
- <gd name="g12" fmla="+- hc dx1 0" />
- <gd name="g13" fmla="*/ ss 3 16" />
- <gd name="g14" fmla="+- g12 0 g13" />
- <gd name="g15" fmla="+- g9 g13 0" />
- </gdLst>
-
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <cxn ang="0">
- <pos x="r" y="vc" />
- </cxn>
- <cxn ang="cd4">
- <pos x="hc" y="b" />
- </cxn>
- <cxn ang="cd2">
- <pos x="l" y="vc" />
- </cxn>
- <cxn ang="3cd4">
- <pos x="hc" y="t" />
- </cxn>
- </cxnLst>
-
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
-
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <path stroke="false" extrusionOk="false">
- <moveTo>
- <pt x="l" y="t" />
- </moveTo>
- <lnTo>
- <pt x="r" y="t" />
- </lnTo>
- <lnTo>
- <pt x="r" y="b" />
- </lnTo>
- <lnTo>
- <pt x="l" y="b" />
- </lnTo>
- <close />
- <moveTo>
- <pt x="g11" y="g9" />
- </moveTo>
- <lnTo>
- <pt x="g14" y="g9" />
- </lnTo>
- <lnTo>
- <pt x="g12" y="g15" />
- </lnTo>
- <lnTo>
- <pt x="g12" y="g10" />
- </lnTo>
- <lnTo>
- <pt x="g11" y="g10" />
- </lnTo>
- <close />
- </path>
- <path stroke="false" fill="darkenLess" extrusionOk="false">
-
- <moveTo>
- <pt x="g11" y="g9" />
- </moveTo>
- <lnTo>
- <pt x="g14" y="g9" />
- </lnTo>
- <lnTo>
- <pt x="g14" y="g15" />
- </lnTo>
- <lnTo>
- <pt x="g12" y="g15" />
- </lnTo>
- <lnTo>
- <pt x="g12" y="g10" />
- </lnTo>
- <lnTo>
- <pt x="g11" y="g10" />
- </lnTo>
- <close />
- </path>
- <path stroke="false" fill="darken" extrusionOk="false">
- <moveTo>
- <pt x="g14" y="g9" />
- </moveTo>
-
- <lnTo>
- <pt x="g14" y="g15" />
- </lnTo>
- <lnTo>
- <pt x="g12" y="g15" />
- </lnTo>
- <close />
- </path>
- <path fill="none" extrusionOk="false">
- <moveTo>
- <pt x="g11" y="g9" />
- </moveTo>
- <lnTo>
- <pt x="g14" y="g9" />
- </lnTo>
- <lnTo>
- <pt x="g12" y="g15" />
- </lnTo>
- <lnTo>
- <pt x="g12" y="g10" />
- </lnTo>
- <lnTo>
- <pt x="g11" y="g10" />
- </lnTo>
- <close />
- <moveTo>
- <pt x="g12" y="g15" />
- </moveTo>
- <lnTo>
- <pt x="g14" y="g15" />
- </lnTo>
- <lnTo>
- <pt x="g14" y="g9" />
- </lnTo>
- </path>
- <path fill="none">
- <moveTo>
- <pt x="l" y="t" />
- </moveTo>
-
- <lnTo>
- <pt x="r" y="t" />
- </lnTo>
- <lnTo>
- <pt x="r" y="b" />
- </lnTo>
- <lnTo>
- <pt x="l" y="b" />
- </lnTo>
- <close />
- </path>
- </pathLst>
-
- </actionButtonDocument>
- <actionButtonEnd>
-
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="dx2" fmla="*/ ss 3 8" />
- <gd name="g9" fmla="+- vc 0 dx2" />
- <gd name="g10" fmla="+- vc dx2 0" />
- <gd name="g11" fmla="+- hc 0 dx2" />
- <gd name="g12" fmla="+- hc dx2 0" />
- <gd name="g13" fmla="*/ ss 3 4" />
- <gd name="g14" fmla="*/ g13 3 4" />
- <gd name="g15" fmla="*/ g13 7 8" />
- <gd name="g16" fmla="+- g11 g14 0" />
- <gd name="g17" fmla="+- g11 g15 0" />
- </gdLst>
-
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <cxn ang="0">
- <pos x="r" y="vc" />
- </cxn>
- <cxn ang="cd4">
- <pos x="hc" y="b" />
- </cxn>
- <cxn ang="cd2">
- <pos x="l" y="vc" />
- </cxn>
- <cxn ang="3cd4">
- <pos x="hc" y="t" />
- </cxn>
- </cxnLst>
-
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
-
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <path stroke="false" extrusionOk="false">
- <moveTo>
- <pt x="l" y="t" />
- </moveTo>
- <lnTo>
- <pt x="r" y="t" />
- </lnTo>
- <lnTo>
- <pt x="r" y="b" />
- </lnTo>
- <lnTo>
- <pt x="l" y="b" />
- </lnTo>
- <close />
- <moveTo>
- <pt x="g16" y="vc" />
- </moveTo>
-
- <lnTo>
- <pt x="g11" y="g9" />
- </lnTo>
- <lnTo>
- <pt x="g11" y="g10" />
- </lnTo>
- <close />
- <moveTo>
- <pt x="g17" y="g9" />
- </moveTo>
-
- <lnTo>
- <pt x="g12" y="g9" />
- </lnTo>
- <lnTo>
- <pt x="g12" y="g10" />
- </lnTo>
- <lnTo>
- <pt x="g17" y="g10" />
- </lnTo>
- <close />
- </path>
- <path stroke="false" fill="darken" extrusionOk="false">
- <moveTo>
- <pt x="g16" y="vc" />
- </moveTo>
-
- <lnTo>
- <pt x="g11" y="g9" />
- </lnTo>
- <lnTo>
- <pt x="g11" y="g10" />
- </lnTo>
- <close />
- <moveTo>
- <pt x="g17" y="g9" />
- </moveTo>
-
- <lnTo>
- <pt x="g12" y="g9" />
- </lnTo>
- <lnTo>
- <pt x="g12" y="g10" />
- </lnTo>
- <lnTo>
- <pt x="g17" y="g10" />
- </lnTo>
- <close />
- </path>
- <path fill="none" extrusionOk="false">
- <moveTo>
- <pt x="g16" y="vc" />
- </moveTo>
-
- <lnTo>
- <pt x="g11" y="g10" />
- </lnTo>
- <lnTo>
- <pt x="g11" y="g9" />
- </lnTo>
- <close />
- <moveTo>
- <pt x="g17" y="g9" />
- </moveTo>
-
- <lnTo>
- <pt x="g12" y="g9" />
- </lnTo>
- <lnTo>
- <pt x="g12" y="g10" />
- </lnTo>
- <lnTo>
- <pt x="g17" y="g10" />
- </lnTo>
- <close />
- </path>
- <path fill="none">
- <moveTo>
- <pt x="l" y="t" />
- </moveTo>
-
- <lnTo>
- <pt x="r" y="t" />
- </lnTo>
- <lnTo>
- <pt x="r" y="b" />
- </lnTo>
- <lnTo>
- <pt x="l" y="b" />
- </lnTo>
- <close />
- </path>
- </pathLst>
-
- </actionButtonEnd>
- <actionButtonForwardNext>
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="dx2" fmla="*/ ss 3 8" />
- <gd name="g9" fmla="+- vc 0 dx2" />
- <gd name="g10" fmla="+- vc dx2 0" />
- <gd name="g11" fmla="+- hc 0 dx2" />
- <gd name="g12" fmla="+- hc dx2 0" />
- </gdLst>
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <cxn ang="0">
- <pos x="r" y="vc" />
- </cxn>
- <cxn ang="cd4">
- <pos x="hc" y="b" />
- </cxn>
- <cxn ang="cd2">
- <pos x="l" y="vc" />
- </cxn>
- <cxn ang="3cd4">
- <pos x="hc" y="t" />
- </cxn>
- </cxnLst>
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <path stroke="false" extrusionOk="false">
- <moveTo>
- <pt x="l" y="t" />
- </moveTo>
- <lnTo>
- <pt x="r" y="t" />
- </lnTo>
- <lnTo>
- <pt x="r" y="b" />
- </lnTo>
- <lnTo>
- <pt x="l" y="b" />
- </lnTo>
- <close />
- <moveTo>
- <pt x="g12" y="vc" />
- </moveTo>
- <lnTo>
- <pt x="g11" y="g9" />
- </lnTo>
- <lnTo>
- <pt x="g11" y="g10" />
- </lnTo>
- <close />
- </path>
- <path stroke="false" fill="darken" extrusionOk="false">
- <moveTo>
- <pt x="g12" y="vc" />
- </moveTo>
- <lnTo>
- <pt x="g11" y="g9" />
- </lnTo>
- <lnTo>
- <pt x="g11" y="g10" />
- </lnTo>
- <close />
- </path>
- <path fill="none" extrusionOk="false">
- <moveTo>
- <pt x="g12" y="vc" />
- </moveTo>
- <lnTo>
- <pt x="g11" y="g10" />
- </lnTo>
- <lnTo>
- <pt x="g11" y="g9" />
- </lnTo>
- <close />
- </path>
- <path fill="none">
- <moveTo>
- <pt x="l" y="t" />
- </moveTo>
- <lnTo>
- <pt x="r" y="t" />
- </lnTo>
- <lnTo>
- <pt x="r" y="b" />
- </lnTo>
- <lnTo>
- <pt x="l" y="b" />
- </lnTo>
- <close />
- </path>
- </pathLst>
- </actionButtonForwardNext>
- <actionButtonHelp>
-
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="dx2" fmla="*/ ss 3 8" />
- <gd name="g9" fmla="+- vc 0 dx2" />
- <gd name="g11" fmla="+- hc 0 dx2" />
- <gd name="g13" fmla="*/ ss 3 4" />
- <gd name="g14" fmla="*/ g13 1 7" />
- <gd name="g15" fmla="*/ g13 3 14" />
- <gd name="g16" fmla="*/ g13 2 7" />
- <gd name="g19" fmla="*/ g13 3 7" />
- <gd name="g20" fmla="*/ g13 4 7" />
- <gd name="g21" fmla="*/ g13 17 28" />
- <gd name="g23" fmla="*/ g13 21 28" />
- <gd name="g24" fmla="*/ g13 11 14" />
- <gd name="g27" fmla="+- g9 g16 0" />
- <gd name="g29" fmla="+- g9 g21 0" />
- <gd name="g30" fmla="+- g9 g23 0" />
- <gd name="g31" fmla="+- g9 g24 0" />
- <gd name="g33" fmla="+- g11 g15 0" />
- <gd name="g36" fmla="+- g11 g19 0" />
- <gd name="g37" fmla="+- g11 g20 0" />
- <gd name="g41" fmla="*/ g13 1 14" />
- <gd name="g42" fmla="*/ g13 3 28" />
- </gdLst>
-
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <cxn ang="0">
- <pos x="r" y="vc" />
- </cxn>
- <cxn ang="cd4">
- <pos x="hc" y="b" />
- </cxn>
- <cxn ang="cd2">
- <pos x="l" y="vc" />
- </cxn>
- <cxn ang="3cd4">
- <pos x="hc" y="t" />
- </cxn>
- </cxnLst>
-
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
-
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <path stroke="false" extrusionOk="false">
- <moveTo>
- <pt x="l" y="t" />
- </moveTo>
- <lnTo>
- <pt x="r" y="t" />
- </lnTo>
- <lnTo>
- <pt x="r" y="b" />
- </lnTo>
- <lnTo>
- <pt x="l" y="b" />
- </lnTo>
- <close />
- <moveTo>
- <pt x="g33" y="g27" />
- </moveTo>
-
- <arcTo wR="g16" hR="g16" stAng="cd2" swAng="cd2" />
- <arcTo wR="g14" hR="g15" stAng="0" swAng="cd4" />
- <arcTo wR="g41" hR="g42" stAng="3cd4" swAng="-5400000" />
- <lnTo>
- <pt x="g37" y="g30" />
- </lnTo>
- <lnTo>
- <pt x="g36" y="g30" />
- </lnTo>
- <lnTo>
- <pt x="g36" y="g29" />
- </lnTo>
- <arcTo wR="g14" hR="g15" stAng="cd2" swAng="cd4" />
- <arcTo wR="g41" hR="g42" stAng="cd4" swAng="-5400000" />
- <arcTo wR="g14" hR="g14" stAng="0" swAng="-10800000" />
- <close />
- <moveTo>
- <pt x="hc" y="g31" />
- </moveTo>
-
- <arcTo wR="g42" hR="g42" stAng="3cd4" swAng="21600000" />
- <close />
- </path>
- <path stroke="false" fill="darken" extrusionOk="false">
- <moveTo>
- <pt x="g33" y="g27" />
- </moveTo>
-
- <arcTo wR="g16" hR="g16" stAng="cd2" swAng="cd2" />
- <arcTo wR="g14" hR="g15" stAng="0" swAng="cd4" />
- <arcTo wR="g41" hR="g42" stAng="3cd4" swAng="-5400000" />
- <lnTo>
- <pt x="g37" y="g30" />
- </lnTo>
- <lnTo>
- <pt x="g36" y="g30" />
- </lnTo>
- <lnTo>
- <pt x="g36" y="g29" />
- </lnTo>
- <arcTo wR="g14" hR="g15" stAng="cd2" swAng="cd4" />
- <arcTo wR="g41" hR="g42" stAng="cd4" swAng="-5400000" />
- <arcTo wR="g14" hR="g14" stAng="0" swAng="-10800000" />
- <close />
- <moveTo>
- <pt x="hc" y="g31" />
- </moveTo>
-
- <arcTo wR="g42" hR="g42" stAng="3cd4" swAng="21600000" />
- <close />
- </path>
- <path fill="none" extrusionOk="false">
- <moveTo>
- <pt x="g33" y="g27" />
- </moveTo>
-
- <arcTo wR="g16" hR="g16" stAng="cd2" swAng="cd2" />
- <arcTo wR="g14" hR="g15" stAng="0" swAng="cd4" />
- <arcTo wR="g41" hR="g42" stAng="3cd4" swAng="-5400000" />
- <lnTo>
- <pt x="g37" y="g30" />
- </lnTo>
- <lnTo>
- <pt x="g36" y="g30" />
- </lnTo>
- <lnTo>
- <pt x="g36" y="g29" />
- </lnTo>
- <arcTo wR="g14" hR="g15" stAng="cd2" swAng="cd4" />
- <arcTo wR="g41" hR="g42" stAng="cd4" swAng="-5400000" />
- <arcTo wR="g14" hR="g14" stAng="0" swAng="-10800000" />
- <close />
- <moveTo>
- <pt x="hc" y="g31" />
- </moveTo>
-
- <arcTo wR="g42" hR="g42" stAng="3cd4" swAng="21600000" />
- <close />
- </path>
- <path fill="none">
- <moveTo>
- <pt x="l" y="t" />
- </moveTo>
-
- <lnTo>
- <pt x="r" y="t" />
- </lnTo>
- <lnTo>
- <pt x="r" y="b" />
- </lnTo>
- <lnTo>
- <pt x="l" y="b" />
- </lnTo>
- <close />
- </path>
- </pathLst>
-
- </actionButtonHelp>
- <actionButtonHome>
-
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="dx2" fmla="*/ ss 3 8" />
- <gd name="g9" fmla="+- vc 0 dx2" />
- <gd name="g10" fmla="+- vc dx2 0" />
- <gd name="g11" fmla="+- hc 0 dx2" />
- <gd name="g12" fmla="+- hc dx2 0" />
- <gd name="g13" fmla="*/ ss 3 4" />
- <gd name="g14" fmla="*/ g13 1 16" />
- <gd name="g15" fmla="*/ g13 1 8" />
- <gd name="g16" fmla="*/ g13 3 16" />
- <gd name="g17" fmla="*/ g13 5 16" />
- <gd name="g18" fmla="*/ g13 7 16" />
- <gd name="g19" fmla="*/ g13 9 16" />
- <gd name="g20" fmla="*/ g13 11 16" />
- <gd name="g21" fmla="*/ g13 3 4" />
- <gd name="g22" fmla="*/ g13 13 16" />
- <gd name="g23" fmla="*/ g13 7 8" />
- <gd name="g24" fmla="+- g9 g14 0" />
- <gd name="g25" fmla="+- g9 g16 0" />
- <gd name="g26" fmla="+- g9 g17 0" />
- <gd name="g27" fmla="+- g9 g21 0" />
- <gd name="g28" fmla="+- g11 g15 0" />
- <gd name="g29" fmla="+- g11 g18 0" />
- <gd name="g30" fmla="+- g11 g19 0" />
- <gd name="g31" fmla="+- g11 g20 0" />
- <gd name="g32" fmla="+- g11 g22 0" />
- <gd name="g33" fmla="+- g11 g23 0" />
- </gdLst>
-
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <cxn ang="0">
- <pos x="r" y="vc" />
- </cxn>
- <cxn ang="cd4">
- <pos x="hc" y="b" />
- </cxn>
- <cxn ang="cd2">
- <pos x="l" y="vc" />
- </cxn>
- <cxn ang="3cd4">
- <pos x="hc" y="t" />
- </cxn>
- </cxnLst>
-
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
-
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <path stroke="false" extrusionOk="false">
- <moveTo>
- <pt x="l" y="t" />
- </moveTo>
- <lnTo>
- <pt x="r" y="t" />
- </lnTo>
- <lnTo>
- <pt x="r" y="b" />
- </lnTo>
- <lnTo>
- <pt x="l" y="b" />
- </lnTo>
- <close />
- <moveTo>
- <pt x="hc" y="g9" />
- </moveTo>
- <lnTo>
- <pt x="g11" y="vc" />
- </lnTo>
- <lnTo>
- <pt x="g28" y="vc" />
- </lnTo>
- <lnTo>
- <pt x="g28" y="g10" />
- </lnTo>
- <lnTo>
- <pt x="g33" y="g10" />
- </lnTo>
- <lnTo>
- <pt x="g33" y="vc" />
- </lnTo>
- <lnTo>
- <pt x="g12" y="vc" />
- </lnTo>
- <lnTo>
- <pt x="g32" y="g26" />
- </lnTo>
- <lnTo>
- <pt x="g32" y="g24" />
- </lnTo>
- <lnTo>
- <pt x="g31" y="g24" />
- </lnTo>
- <lnTo>
- <pt x="g31" y="g25" />
- </lnTo>
- <close />
- </path>
- <path stroke="false" fill="darkenLess" extrusionOk="false">
-
- <moveTo>
- <pt x="g32" y="g26" />
- </moveTo>
- <lnTo>
- <pt x="g32" y="g24" />
- </lnTo>
- <lnTo>
- <pt x="g31" y="g24" />
- </lnTo>
- <lnTo>
- <pt x="g31" y="g25" />
- </lnTo>
- <close />
- <moveTo>
- <pt x="g28" y="vc" />
- </moveTo>
-
- <lnTo>
- <pt x="g28" y="g10" />
- </lnTo>
- <lnTo>
- <pt x="g29" y="g10" />
- </lnTo>
- <lnTo>
- <pt x="g29" y="g27" />
- </lnTo>
- <lnTo>
- <pt x="g30" y="g27" />
- </lnTo>
- <lnTo>
- <pt x="g30" y="g10" />
- </lnTo>
- <lnTo>
- <pt x="g33" y="g10" />
- </lnTo>
- <lnTo>
- <pt x="g33" y="vc" />
- </lnTo>
- <close />
- </path>
- <path stroke="false" fill="darken" extrusionOk="false">
- <moveTo>
- <pt x="hc" y="g9" />
- </moveTo>
-
- <lnTo>
- <pt x="g11" y="vc" />
- </lnTo>
- <lnTo>
- <pt x="g12" y="vc" />
- </lnTo>
- <close />
- <moveTo>
- <pt x="g29" y="g27" />
- </moveTo>
-
- <lnTo>
- <pt x="g30" y="g27" />
- </lnTo>
- <lnTo>
- <pt x="g30" y="g10" />
- </lnTo>
- <lnTo>
- <pt x="g29" y="g10" />
- </lnTo>
- <close />
- </path>
- <path fill="none" extrusionOk="false">
- <moveTo>
- <pt x="hc" y="g9" />
- </moveTo>
- <lnTo>
- <pt x="g31" y="g25" />
- </lnTo>
- <lnTo>
- <pt x="g31" y="g24" />
- </lnTo>
- <lnTo>
- <pt x="g32" y="g24" />
- </lnTo>
- <lnTo>
- <pt x="g32" y="g26" />
- </lnTo>
- <lnTo>
- <pt x="g12" y="vc" />
- </lnTo>
- <lnTo>
- <pt x="g33" y="vc" />
- </lnTo>
- <lnTo>
- <pt x="g33" y="g10" />
- </lnTo>
- <lnTo>
- <pt x="g28" y="g10" />
- </lnTo>
- <lnTo>
- <pt x="g28" y="vc" />
- </lnTo>
- <lnTo>
- <pt x="g11" y="vc" />
- </lnTo>
- <close />
- <moveTo>
- <pt x="g31" y="g25" />
- </moveTo>
- <lnTo>
- <pt x="g32" y="g26" />
- </lnTo>
-
- <moveTo>
- <pt x="g33" y="vc" />
- </moveTo>
- <lnTo>
- <pt x="g28" y="vc" />
- </lnTo>
-
- <moveTo>
- <pt x="g29" y="g10" />
- </moveTo>
-
- <lnTo>
- <pt x="g29" y="g27" />
- </lnTo>
- <lnTo>
- <pt x="g30" y="g27" />
- </lnTo>
- <lnTo>
- <pt x="g30" y="g10" />
- </lnTo>
- </path>
- <path fill="none">
- <moveTo>
- <pt x="l" y="t" />
- </moveTo>
-
- <lnTo>
- <pt x="r" y="t" />
- </lnTo>
- <lnTo>
- <pt x="r" y="b" />
- </lnTo>
- <lnTo>
- <pt x="l" y="b" />
- </lnTo>
- <close />
- </path>
- </pathLst>
-
- </actionButtonHome>
- <actionButtonInformation>
-
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="dx2" fmla="*/ ss 3 8" />
- <gd name="g9" fmla="+- vc 0 dx2" />
- <gd name="g11" fmla="+- hc 0 dx2" />
- <gd name="g13" fmla="*/ ss 3 4" />
- <gd name="g14" fmla="*/ g13 1 32" />
- <gd name="g17" fmla="*/ g13 5 16" />
- <gd name="g18" fmla="*/ g13 3 8" />
- <gd name="g19" fmla="*/ g13 13 32" />
- <gd name="g20" fmla="*/ g13 19 32" />
- <gd name="g22" fmla="*/ g13 11 16" />
- <gd name="g23" fmla="*/ g13 13 16" />
- <gd name="g24" fmla="*/ g13 7 8" />
- <gd name="g25" fmla="+- g9 g14 0" />
- <gd name="g28" fmla="+- g9 g17 0" />
- <gd name="g29" fmla="+- g9 g18 0" />
- <gd name="g30" fmla="+- g9 g23 0" />
- <gd name="g31" fmla="+- g9 g24 0" />
- <gd name="g32" fmla="+- g11 g17 0" />
- <gd name="g34" fmla="+- g11 g19 0" />
- <gd name="g35" fmla="+- g11 g20 0" />
- <gd name="g37" fmla="+- g11 g22 0" />
- <gd name="g38" fmla="*/ g13 3 32" />
- </gdLst>
-
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <cxn ang="0">
- <pos x="r" y="vc" />
- </cxn>
- <cxn ang="cd4">
- <pos x="hc" y="b" />
- </cxn>
- <cxn ang="cd2">
- <pos x="l" y="vc" />
- </cxn>
- <cxn ang="3cd4">
- <pos x="hc" y="t" />
- </cxn>
- </cxnLst>
-
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
-
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <path stroke="false" extrusionOk="false">
- <moveTo>
- <pt x="l" y="t" />
- </moveTo>
- <lnTo>
- <pt x="r" y="t" />
- </lnTo>
- <lnTo>
- <pt x="r" y="b" />
- </lnTo>
- <lnTo>
- <pt x="l" y="b" />
- </lnTo>
- <close />
- <moveTo>
- <pt x="hc" y="g9" />
- </moveTo>
-
- <arcTo wR="dx2" hR="dx2" stAng="3cd4" swAng="21600000" />
- <close />
- </path>
- <path stroke="false" fill="darken" extrusionOk="false">
- <moveTo>
- <pt x="hc" y="g9" />
- </moveTo>
-
- <arcTo wR="dx2" hR="dx2" stAng="3cd4" swAng="21600000" />
- <close />
- <moveTo>
- <pt x="hc" y="g25" />
- </moveTo>
-
- <arcTo wR="g38" hR="g38" stAng="3cd4" swAng="21600000" />
- <moveTo>
- <pt x="g32" y="g28" />
- </moveTo>
-
- <lnTo>
- <pt x="g32" y="g29" />
- </lnTo>
- <lnTo>
- <pt x="g34" y="g29" />
- </lnTo>
- <lnTo>
- <pt x="g34" y="g30" />
- </lnTo>
- <lnTo>
- <pt x="g32" y="g30" />
- </lnTo>
- <lnTo>
- <pt x="g32" y="g31" />
- </lnTo>
- <lnTo>
- <pt x="g37" y="g31" />
- </lnTo>
- <lnTo>
- <pt x="g37" y="g30" />
- </lnTo>
- <lnTo>
- <pt x="g35" y="g30" />
- </lnTo>
- <lnTo>
- <pt x="g35" y="g28" />
- </lnTo>
- <close />
- </path>
- <path stroke="false" fill="lighten" extrusionOk="false">
- <moveTo>
- <pt x="hc" y="g25" />
- </moveTo>
-
- <arcTo wR="g38" hR="g38" stAng="3cd4" swAng="21600000" />
- <moveTo>
- <pt x="g32" y="g28" />
- </moveTo>
-
- <lnTo>
- <pt x="g35" y="g28" />
- </lnTo>
- <lnTo>
- <pt x="g35" y="g30" />
- </lnTo>
- <lnTo>
- <pt x="g37" y="g30" />
- </lnTo>
- <lnTo>
- <pt x="g37" y="g31" />
- </lnTo>
- <lnTo>
- <pt x="g32" y="g31" />
- </lnTo>
- <lnTo>
- <pt x="g32" y="g30" />
- </lnTo>
- <lnTo>
- <pt x="g34" y="g30" />
- </lnTo>
- <lnTo>
- <pt x="g34" y="g29" />
- </lnTo>
- <lnTo>
- <pt x="g32" y="g29" />
- </lnTo>
- <close />
- </path>
- <path fill="none" extrusionOk="false">
- <moveTo>
- <pt x="hc" y="g9" />
- </moveTo>
-
- <arcTo wR="dx2" hR="dx2" stAng="3cd4" swAng="21600000" />
- <close />
- <moveTo>
- <pt x="hc" y="g25" />
- </moveTo>
-
- <arcTo wR="g38" hR="g38" stAng="3cd4" swAng="21600000" />
- <moveTo>
- <pt x="g32" y="g28" />
- </moveTo>
-
- <lnTo>
- <pt x="g35" y="g28" />
- </lnTo>
- <lnTo>
- <pt x="g35" y="g30" />
- </lnTo>
- <lnTo>
- <pt x="g37" y="g30" />
- </lnTo>
- <lnTo>
- <pt x="g37" y="g31" />
- </lnTo>
- <lnTo>
- <pt x="g32" y="g31" />
- </lnTo>
- <lnTo>
- <pt x="g32" y="g30" />
- </lnTo>
- <lnTo>
- <pt x="g34" y="g30" />
- </lnTo>
- <lnTo>
- <pt x="g34" y="g29" />
- </lnTo>
- <lnTo>
- <pt x="g32" y="g29" />
- </lnTo>
- <close />
- </path>
- <path fill="none">
- <moveTo>
- <pt x="l" y="t" />
- </moveTo>
-
- <lnTo>
- <pt x="r" y="t" />
- </lnTo>
- <lnTo>
- <pt x="r" y="b" />
- </lnTo>
- <lnTo>
- <pt x="l" y="b" />
- </lnTo>
- <close />
- </path>
- </pathLst>
-
- </actionButtonInformation>
- <actionButtonMovie>
-
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="dx2" fmla="*/ ss 3 8" />
- <gd name="g9" fmla="+- vc 0 dx2" />
- <gd name="g10" fmla="+- vc dx2 0" />
- <gd name="g11" fmla="+- hc 0 dx2" />
- <gd name="g12" fmla="+- hc dx2 0" />
- <gd name="g13" fmla="*/ ss 3 4" />
- <gd name="g14" fmla="*/ g13 1455 21600" />
- <gd name="g15" fmla="*/ g13 1905 21600" />
- <gd name="g16" fmla="*/ g13 2325 21600" />
- <gd name="g17" fmla="*/ g13 16155 21600" />
- <gd name="g18" fmla="*/ g13 17010 21600" />
- <gd name="g19" fmla="*/ g13 19335 21600" />
- <gd name="g20" fmla="*/ g13 19725 21600" />
- <gd name="g21" fmla="*/ g13 20595 21600" />
- <gd name="g22" fmla="*/ g13 5280 21600" />
- <gd name="g23" fmla="*/ g13 5730 21600" />
- <gd name="g24" fmla="*/ g13 6630 21600" />
- <gd name="g25" fmla="*/ g13 7492 21600" />
- <gd name="g26" fmla="*/ g13 9067 21600" />
- <gd name="g27" fmla="*/ g13 9555 21600" />
- <gd name="g28" fmla="*/ g13 13342 21600" />
- <gd name="g29" fmla="*/ g13 14580 21600" />
- <gd name="g30" fmla="*/ g13 15592 21600" />
- <gd name="g31" fmla="+- g11 g14 0" />
- <gd name="g32" fmla="+- g11 g15 0" />
- <gd name="g33" fmla="+- g11 g16 0" />
- <gd name="g34" fmla="+- g11 g17 0" />
- <gd name="g35" fmla="+- g11 g18 0" />
- <gd name="g36" fmla="+- g11 g19 0" />
- <gd name="g37" fmla="+- g11 g20 0" />
- <gd name="g38" fmla="+- g11 g21 0" />
- <gd name="g39" fmla="+- g9 g22 0" />
- <gd name="g40" fmla="+- g9 g23 0" />
- <gd name="g41" fmla="+- g9 g24 0" />
- <gd name="g42" fmla="+- g9 g25 0" />
- <gd name="g43" fmla="+- g9 g26 0" />
- <gd name="g44" fmla="+- g9 g27 0" />
- <gd name="g45" fmla="+- g9 g28 0" />
- <gd name="g46" fmla="+- g9 g29 0" />
- <gd name="g47" fmla="+- g9 g30 0" />
- <gd name="g48" fmla="+- g9 g31 0" />
- </gdLst>
-
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <cxn ang="0">
- <pos x="r" y="vc" />
- </cxn>
- <cxn ang="cd4">
- <pos x="hc" y="b" />
- </cxn>
- <cxn ang="cd2">
- <pos x="l" y="vc" />
- </cxn>
- <cxn ang="3cd4">
- <pos x="hc" y="t" />
- </cxn>
- </cxnLst>
-
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
-
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <path stroke="false" extrusionOk="false">
- <moveTo>
- <pt x="l" y="t" />
- </moveTo>
- <lnTo>
- <pt x="r" y="t" />
- </lnTo>
- <lnTo>
- <pt x="r" y="b" />
- </lnTo>
- <lnTo>
- <pt x="l" y="b" />
- </lnTo>
- <close />
- <moveTo>
- <pt x="g11" y="g39" />
- </moveTo>
-
- <lnTo>
- <pt x="g11" y="g44" />
- </lnTo>
- <lnTo>
- <pt x="g31" y="g44" />
- </lnTo>
- <lnTo>
- <pt x="g32" y="g43" />
- </lnTo>
- <lnTo>
- <pt x="g33" y="g43" />
- </lnTo>
- <lnTo>
- <pt x="g33" y="g47" />
- </lnTo>
- <lnTo>
- <pt x="g35" y="g47" />
- </lnTo>
- <lnTo>
- <pt x="g35" y="g45" />
- </lnTo>
- <lnTo>
- <pt x="g36" y="g45" />
- </lnTo>
- <lnTo>
- <pt x="g38" y="g46" />
- </lnTo>
- <lnTo>
- <pt x="g12" y="g46" />
- </lnTo>
- <lnTo>
- <pt x="g12" y="g41" />
- </lnTo>
- <lnTo>
- <pt x="g38" y="g41" />
- </lnTo>
- <lnTo>
- <pt x="g37" y="g42" />
- </lnTo>
- <lnTo>
- <pt x="g35" y="g42" />
- </lnTo>
- <lnTo>
- <pt x="g35" y="g41" />
- </lnTo>
- <lnTo>
- <pt x="g34" y="g40" />
- </lnTo>
- <lnTo>
- <pt x="g32" y="g40" />
- </lnTo>
- <lnTo>
- <pt x="g31" y="g39" />
- </lnTo>
- <close />
- </path>
- <path stroke="false" fill="darken" extrusionOk="false">
- <moveTo>
- <pt x="g11" y="g39" />
- </moveTo>
-
- <lnTo>
- <pt x="g11" y="g44" />
- </lnTo>
- <lnTo>
- <pt x="g31" y="g44" />
- </lnTo>
- <lnTo>
- <pt x="g32" y="g43" />
- </lnTo>
- <lnTo>
- <pt x="g33" y="g43" />
- </lnTo>
- <lnTo>
- <pt x="g33" y="g47" />
- </lnTo>
- <lnTo>
- <pt x="g35" y="g47" />
- </lnTo>
- <lnTo>
- <pt x="g35" y="g45" />
- </lnTo>
- <lnTo>
- <pt x="g36" y="g45" />
- </lnTo>
- <lnTo>
- <pt x="g38" y="g46" />
- </lnTo>
- <lnTo>
- <pt x="g12" y="g46" />
- </lnTo>
- <lnTo>
- <pt x="g12" y="g41" />
- </lnTo>
- <lnTo>
- <pt x="g38" y="g41" />
- </lnTo>
- <lnTo>
- <pt x="g37" y="g42" />
- </lnTo>
- <lnTo>
- <pt x="g35" y="g42" />
- </lnTo>
- <lnTo>
- <pt x="g35" y="g41" />
- </lnTo>
- <lnTo>
- <pt x="g34" y="g40" />
- </lnTo>
- <lnTo>
- <pt x="g32" y="g40" />
- </lnTo>
- <lnTo>
- <pt x="g31" y="g39" />
- </lnTo>
- <close />
- </path>
- <path fill="none" extrusionOk="false">
- <moveTo>
- <pt x="g11" y="g39" />
- </moveTo>
-
- <lnTo>
- <pt x="g31" y="g39" />
- </lnTo>
- <lnTo>
- <pt x="g32" y="g40" />
- </lnTo>
- <lnTo>
- <pt x="g34" y="g40" />
- </lnTo>
- <lnTo>
- <pt x="g35" y="g41" />
- </lnTo>
- <lnTo>
- <pt x="g35" y="g42" />
- </lnTo>
- <lnTo>
- <pt x="g37" y="g42" />
- </lnTo>
- <lnTo>
- <pt x="g38" y="g41" />
- </lnTo>
- <lnTo>
- <pt x="g12" y="g41" />
- </lnTo>
- <lnTo>
- <pt x="g12" y="g46" />
- </lnTo>
- <lnTo>
- <pt x="g38" y="g46" />
- </lnTo>
- <lnTo>
- <pt x="g36" y="g45" />
- </lnTo>
- <lnTo>
- <pt x="g35" y="g45" />
- </lnTo>
- <lnTo>
- <pt x="g35" y="g47" />
- </lnTo>
- <lnTo>
- <pt x="g33" y="g47" />
- </lnTo>
- <lnTo>
- <pt x="g33" y="g43" />
- </lnTo>
- <lnTo>
- <pt x="g32" y="g43" />
- </lnTo>
- <lnTo>
- <pt x="g31" y="g44" />
- </lnTo>
- <lnTo>
- <pt x="g11" y="g44" />
- </lnTo>
- <close />
- </path>
- <path fill="none">
- <moveTo>
- <pt x="l" y="t" />
- </moveTo>
-
- <lnTo>
- <pt x="r" y="t" />
- </lnTo>
- <lnTo>
- <pt x="r" y="b" />
- </lnTo>
- <lnTo>
- <pt x="l" y="b" />
- </lnTo>
- <close />
- </path>
- </pathLst>
-
- </actionButtonMovie>
- <actionButtonReturn>
-
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="dx2" fmla="*/ ss 3 8" />
- <gd name="g9" fmla="+- vc 0 dx2" />
- <gd name="g10" fmla="+- vc dx2 0" />
- <gd name="g11" fmla="+- hc 0 dx2" />
- <gd name="g12" fmla="+- hc dx2 0" />
- <gd name="g13" fmla="*/ ss 3 4" />
- <gd name="g14" fmla="*/ g13 7 8" />
- <gd name="g15" fmla="*/ g13 3 4" />
- <gd name="g16" fmla="*/ g13 5 8" />
- <gd name="g17" fmla="*/ g13 3 8" />
- <gd name="g18" fmla="*/ g13 1 4" />
- <gd name="g19" fmla="+- g9 g15 0" />
- <gd name="g20" fmla="+- g9 g16 0" />
- <gd name="g21" fmla="+- g9 g18 0" />
- <gd name="g22" fmla="+- g11 g14 0" />
- <gd name="g23" fmla="+- g11 g15 0" />
- <gd name="g24" fmla="+- g11 g16 0" />
- <gd name="g25" fmla="+- g11 g17 0" />
- <gd name="g26" fmla="+- g11 g18 0" />
- <gd name="g27" fmla="*/ g13 1 8" />
- </gdLst>
-
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <cxn ang="0">
- <pos x="r" y="vc" />
- </cxn>
- <cxn ang="cd4">
- <pos x="hc" y="b" />
- </cxn>
- <cxn ang="cd2">
- <pos x="l" y="vc" />
- </cxn>
- <cxn ang="3cd4">
- <pos x="hc" y="t" />
- </cxn>
- </cxnLst>
-
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
-
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <path stroke="false" extrusionOk="false">
- <moveTo>
- <pt x="l" y="t" />
- </moveTo>
- <lnTo>
- <pt x="r" y="t" />
- </lnTo>
- <lnTo>
- <pt x="r" y="b" />
- </lnTo>
- <lnTo>
- <pt x="l" y="b" />
- </lnTo>
- <close />
- <moveTo>
- <pt x="g12" y="g21" />
- </moveTo>
- <lnTo>
- <pt x="g23" y="g9" />
- </lnTo>
- <lnTo>
- <pt x="hc" y="g21" />
- </lnTo>
- <lnTo>
- <pt x="g24" y="g21" />
- </lnTo>
- <lnTo>
- <pt x="g24" y="g20" />
- </lnTo>
- <arcTo wR="g27" hR="g27" stAng="0" swAng="cd4" />
- <lnTo>
- <pt x="g25" y="g19" />
- </lnTo>
- <arcTo wR="g27" hR="g27" stAng="cd4" swAng="cd4" />
- <lnTo>
- <pt x="g26" y="g21" />
- </lnTo>
- <lnTo>
- <pt x="g11" y="g21" />
- </lnTo>
- <lnTo>
- <pt x="g11" y="g20" />
- </lnTo>
- <arcTo wR="g17" hR="g17" stAng="cd2" swAng="-5400000" />
- <lnTo>
- <pt x="hc" y="g10" />
- </lnTo>
- <arcTo wR="g17" hR="g17" stAng="cd4" swAng="-5400000" />
- <lnTo>
- <pt x="g22" y="g21" />
- </lnTo>
- <close />
- </path>
- <path stroke="false" fill="darken" extrusionOk="false">
- <moveTo>
- <pt x="g12" y="g21" />
- </moveTo>
- <lnTo>
- <pt x="g23" y="g9" />
- </lnTo>
- <lnTo>
- <pt x="hc" y="g21" />
- </lnTo>
- <lnTo>
- <pt x="g24" y="g21" />
- </lnTo>
- <lnTo>
- <pt x="g24" y="g20" />
- </lnTo>
- <arcTo wR="g27" hR="g27" stAng="0" swAng="cd4" />
- <lnTo>
- <pt x="g25" y="g19" />
- </lnTo>
- <arcTo wR="g27" hR="g27" stAng="cd4" swAng="cd4" />
- <lnTo>
- <pt x="g26" y="g21" />
- </lnTo>
- <lnTo>
- <pt x="g11" y="g21" />
- </lnTo>
- <lnTo>
- <pt x="g11" y="g20" />
- </lnTo>
- <arcTo wR="g17" hR="g17" stAng="cd2" swAng="-5400000" />
- <lnTo>
- <pt x="hc" y="g10" />
- </lnTo>
- <arcTo wR="g17" hR="g17" stAng="cd4" swAng="-5400000" />
- <lnTo>
- <pt x="g22" y="g21" />
- </lnTo>
- <close />
- </path>
- <path fill="none" extrusionOk="false">
- <moveTo>
- <pt x="g12" y="g21" />
- </moveTo>
- <lnTo>
- <pt x="g22" y="g21" />
- </lnTo>
- <lnTo>
- <pt x="g22" y="g20" />
- </lnTo>
- <arcTo wR="g17" hR="g17" stAng="0" swAng="cd4" />
- <lnTo>
- <pt x="g25" y="g10" />
- </lnTo>
- <arcTo wR="g17" hR="g17" stAng="cd4" swAng="cd4" />
- <lnTo>
- <pt x="g11" y="g21" />
- </lnTo>
- <lnTo>
- <pt x="g26" y="g21" />
- </lnTo>
- <lnTo>
- <pt x="g26" y="g20" />
- </lnTo>
- <arcTo wR="g27" hR="g27" stAng="cd2" swAng="-5400000" />
- <lnTo>
- <pt x="hc" y="g19" />
- </lnTo>
- <arcTo wR="g27" hR="g27" stAng="cd4" swAng="-5400000" />
- <lnTo>
- <pt x="g24" y="g21" />
- </lnTo>
- <lnTo>
- <pt x="hc" y="g21" />
- </lnTo>
- <lnTo>
- <pt x="g23" y="g9" />
- </lnTo>
- <close />
- </path>
- <path fill="none">
- <moveTo>
- <pt x="l" y="t" />
- </moveTo>
-
- <lnTo>
- <pt x="r" y="t" />
- </lnTo>
- <lnTo>
- <pt x="r" y="b" />
- </lnTo>
- <lnTo>
- <pt x="l" y="b" />
- </lnTo>
- <close />
- </path>
- </pathLst>
-
- </actionButtonReturn>
- <actionButtonSound>
-
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="dx2" fmla="*/ ss 3 8" />
- <gd name="g9" fmla="+- vc 0 dx2" />
- <gd name="g10" fmla="+- vc dx2 0" />
- <gd name="g11" fmla="+- hc 0 dx2" />
- <gd name="g12" fmla="+- hc dx2 0" />
- <gd name="g13" fmla="*/ ss 3 4" />
- <gd name="g14" fmla="*/ g13 1 8" />
- <gd name="g15" fmla="*/ g13 5 16" />
- <gd name="g16" fmla="*/ g13 5 8" />
- <gd name="g17" fmla="*/ g13 11 16" />
- <gd name="g18" fmla="*/ g13 3 4" />
- <gd name="g19" fmla="*/ g13 7 8" />
- <gd name="g20" fmla="+- g9 g14 0" />
- <gd name="g21" fmla="+- g9 g15 0" />
- <gd name="g22" fmla="+- g9 g17 0" />
- <gd name="g23" fmla="+- g9 g19 0" />
- <gd name="g24" fmla="+- g11 g15 0" />
- <gd name="g25" fmla="+- g11 g16 0" />
- <gd name="g26" fmla="+- g11 g18 0" />
- </gdLst>
-
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <cxn ang="0">
- <pos x="r" y="vc" />
- </cxn>
- <cxn ang="cd4">
- <pos x="hc" y="b" />
- </cxn>
- <cxn ang="cd2">
- <pos x="l" y="vc" />
- </cxn>
- <cxn ang="3cd4">
- <pos x="hc" y="t" />
- </cxn>
- </cxnLst>
-
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
-
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <path stroke="false" extrusionOk="false">
- <moveTo>
- <pt x="l" y="t" />
- </moveTo>
- <lnTo>
- <pt x="r" y="t" />
- </lnTo>
- <lnTo>
- <pt x="r" y="b" />
- </lnTo>
- <lnTo>
- <pt x="l" y="b" />
- </lnTo>
- <close />
- <moveTo>
- <pt x="g11" y="g21" />
- </moveTo>
-
- <lnTo>
- <pt x="g11" y="g22" />
- </lnTo>
- <lnTo>
- <pt x="g24" y="g22" />
- </lnTo>
- <lnTo>
- <pt x="g25" y="g10" />
- </lnTo>
- <lnTo>
- <pt x="g25" y="g9" />
- </lnTo>
- <lnTo>
- <pt x="g24" y="g21" />
- </lnTo>
- <close />
- </path>
- <path stroke="false" fill="darken" extrusionOk="false">
- <moveTo>
- <pt x="g11" y="g21" />
- </moveTo>
-
- <lnTo>
- <pt x="g11" y="g22" />
- </lnTo>
- <lnTo>
- <pt x="g24" y="g22" />
- </lnTo>
- <lnTo>
- <pt x="g25" y="g10" />
- </lnTo>
- <lnTo>
- <pt x="g25" y="g9" />
- </lnTo>
- <lnTo>
- <pt x="g24" y="g21" />
- </lnTo>
- <close />
- </path>
- <path fill="none" extrusionOk="false">
- <moveTo>
- <pt x="g11" y="g21" />
- </moveTo>
-
- <lnTo>
- <pt x="g24" y="g21" />
- </lnTo>
- <lnTo>
- <pt x="g25" y="g9" />
- </lnTo>
- <lnTo>
- <pt x="g25" y="g10" />
- </lnTo>
- <lnTo>
- <pt x="g24" y="g22" />
- </lnTo>
- <lnTo>
- <pt x="g11" y="g22" />
- </lnTo>
- <close />
- <moveTo>
- <pt x="g26" y="g21" />
- </moveTo>
- <lnTo>
- <pt x="g12" y="g20" />
- </lnTo>
- <moveTo>
- <pt x="g26" y="vc" />
- </moveTo>
- <lnTo>
- <pt x="g12" y="vc" />
- </lnTo>
- <moveTo>
- <pt x="g26" y="g22" />
- </moveTo>
- <lnTo>
- <pt x="g12" y="g23" />
- </lnTo>
- </path>
- <path fill="none">
- <moveTo>
- <pt x="l" y="t" />
- </moveTo>
-
- <lnTo>
- <pt x="r" y="t" />
- </lnTo>
- <lnTo>
- <pt x="r" y="b" />
- </lnTo>
- <lnTo>
- <pt x="l" y="b" />
- </lnTo>
- <close />
- </path>
- </pathLst>
-
- </actionButtonSound>
- <arc>
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="adj1" fmla="val 16200000" />
- <gd name="adj2" fmla="val 0" />
- </avLst>
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="stAng" fmla="pin 0 adj1 21599999" />
- <gd name="enAng" fmla="pin 0 adj2 21599999" />
- <gd name="sw11" fmla="+- enAng 0 stAng" />
- <gd name="sw12" fmla="+- sw11 21600000 0" />
- <gd name="swAng" fmla="?: sw11 sw11 sw12" />
- <gd name="wt1" fmla="sin wd2 stAng" />
- <gd name="ht1" fmla="cos hd2 stAng" />
- <gd name="dx1" fmla="cat2 wd2 ht1 wt1" />
- <gd name="dy1" fmla="sat2 hd2 ht1 wt1" />
- <gd name="wt2" fmla="sin wd2 enAng" />
- <gd name="ht2" fmla="cos hd2 enAng" />
- <gd name="dx2" fmla="cat2 wd2 ht2 wt2" />
- <gd name="dy2" fmla="sat2 hd2 ht2 wt2" />
- <gd name="x1" fmla="+- hc dx1 0" />
- <gd name="y1" fmla="+- vc dy1 0" />
- <gd name="x2" fmla="+- hc dx2 0" />
- <gd name="y2" fmla="+- vc dy2 0" />
- <gd name="sw0" fmla="+- 21600000 0 stAng" />
- <gd name="da1" fmla="+- swAng 0 sw0" />
- <gd name="g1" fmla="max x1 x2" />
- <gd name="ir" fmla="?: da1 r g1" />
- <gd name="sw1" fmla="+- cd4 0 stAng" />
- <gd name="sw2" fmla="+- 27000000 0 stAng" />
- <gd name="sw3" fmla="?: sw1 sw1 sw2" />
- <gd name="da2" fmla="+- swAng 0 sw3" />
- <gd name="g5" fmla="max y1 y2" />
- <gd name="ib" fmla="?: da2 b g5" />
- <gd name="sw4" fmla="+- cd2 0 stAng" />
- <gd name="sw5" fmla="+- 32400000 0 stAng" />
- <gd name="sw6" fmla="?: sw4 sw4 sw5" />
- <gd name="da3" fmla="+- swAng 0 sw6" />
- <gd name="g9" fmla="min x1 x2" />
- <gd name="il" fmla="?: da3 l g9" />
- <gd name="sw7" fmla="+- 3cd4 0 stAng" />
- <gd name="sw8" fmla="+- 37800000 0 stAng" />
- <gd name="sw9" fmla="?: sw7 sw7 sw8" />
- <gd name="da4" fmla="+- swAng 0 sw9" />
- <gd name="g13" fmla="min y1 y2" />
- <gd name="it" fmla="?: da4 t g13" />
- <gd name="cang1" fmla="+- stAng 0 cd4" />
- <gd name="cang2" fmla="+- enAng cd4 0" />
- <gd name="cang3" fmla="+/ cang1 cang2 2" />
- </gdLst>
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <ahPolar gdRefAng="adj1" minAng="0" maxAng="21599999">
- <pos x="x1" y="y1" />
- </ahPolar>
- <ahPolar gdRefAng="adj2" minAng="0" maxAng="21599999">
- <pos x="x2" y="y2" />
- </ahPolar>
- </ahLst>
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <cxn ang="cang1">
- <pos x="x1" y="y1" />
- </cxn>
- <cxn ang="cang3">
- <pos x="hc" y="vc" />
- </cxn>
- <cxn ang="cang2">
- <pos x="x2" y="y2" />
- </cxn>
- </cxnLst>
- <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <path stroke="false" extrusionOk="false">
- <moveTo>
- <pt x="x1" y="y1" />
- </moveTo>
- <arcTo wR="wd2" hR="hd2" stAng="stAng" swAng="swAng" />
- <lnTo>
- <pt x="hc" y="vc" />
- </lnTo>
- <close />
- </path>
- <path fill="none">
- <moveTo>
- <pt x="x1" y="y1" />
- </moveTo>
- <arcTo wR="wd2" hR="hd2" stAng="stAng" swAng="swAng" />
- </path>
- </pathLst>
- </arc>
- <bentArrow>
-
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="adj1" fmla="val 25000" />
-
- <gd name="adj2" fmla="val 25000" />
-
- <gd name="adj3" fmla="val 25000" />
-
- <gd name="adj4" fmla="val 43750" />
-
- </avLst>
-
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="a2" fmla="pin 0 adj2 50000" />
- <gd name="maxAdj1" fmla="*/ a2 2 1" />
-
- <gd name="a1" fmla="pin 0 adj1 maxAdj1" />
- <gd name="a3" fmla="pin 0 adj3 50000" />
- <gd name="th" fmla="*/ ss a1 100000" />
-
- <gd name="aw2" fmla="*/ ss a2 100000" />
-
- <gd name="th2" fmla="*/ th 1 2" />
- <gd name="dh2" fmla="+- aw2 0 th2" />
-
- <gd name="ah" fmla="*/ ss a3 100000" />
-
- <gd name="bw" fmla="+- r 0 ah" />
-
- <gd name="bh" fmla="+- b 0 dh2" />
-
- <gd name="bs" fmla="min bw bh" />
-
- <gd name="maxAdj4" fmla="*/ 100000 bs ss" />
- <gd name="a4" fmla="pin 0 adj4 maxAdj4" />
-
- <gd name="bd" fmla="*/ ss a4 100000" />
-
-
- <gd name="bd3" fmla="+- bd 0 th" />
- <gd name="bd2" fmla="max bd3 0" />
- <gd name="x3" fmla="+- th bd2 0" />
- <gd name="x4" fmla="+- r 0 ah" />
-
-
- <gd name="y3" fmla="+- dh2 th 0" />
- <gd name="y4" fmla="+- y3 dh2 0" />
- <gd name="y5" fmla="+- dh2 bd 0" />
- <gd name="y6" fmla="+- y3 bd2 0" />
- </gdLst>
-
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <ahXY gdRefX="adj1" minX="0" maxX="maxAdj1">
- <pos x="th" y="b" />
- </ahXY>
- <ahXY gdRefY="adj2" minY="0" maxY="50000">
- <pos x="r" y="y4" />
- </ahXY>
- <ahXY gdRefX="adj3" minX="0" maxX="50000">
- <pos x="x4" y="t" />
- </ahXY>
- <ahXY gdRefX="adj4" minX="0" maxX="maxAdj4">
- <pos x="bd" y="t" />
- </ahXY>
- </ahLst>
-
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <cxn ang="3cd4">
- <pos x="x4" y="t" />
- </cxn>
- <cxn ang="cd4">
- <pos x="x4" y="y4" />
- </cxn>
- <cxn ang="cd4">
- <pos x="th2" y="b" />
- </cxn>
- <cxn ang="0">
- <pos x="r" y="aw2" />
- </cxn>
- </cxnLst>
-
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
-
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <path>
- <moveTo>
- <pt x="l" y="b" />
- </moveTo>
- <lnTo>
- <pt x="l" y="y5" />
- </lnTo>
- <arcTo wR="bd" hR="bd" stAng="cd2" swAng="cd4" />
- <lnTo>
- <pt x="x4" y="dh2" />
- </lnTo>
- <lnTo>
- <pt x="x4" y="t" />
- </lnTo>
- <lnTo>
- <pt x="r" y="aw2" />
- </lnTo>
- <lnTo>
- <pt x="x4" y="y4" />
- </lnTo>
- <lnTo>
- <pt x="x4" y="y3" />
- </lnTo>
- <lnTo>
- <pt x="x3" y="y3" />
- </lnTo>
- <arcTo wR="bd2" hR="bd2" stAng="3cd4" swAng="-5400000" />
- <lnTo>
- <pt x="th" y="b" />
- </lnTo>
- <close />
- </path>
- </pathLst>
-
- </bentArrow>
- <bentConnector2>
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <path fill="none">
- <moveTo>
- <pt x="l" y="t" />
- </moveTo>
- <lnTo>
- <pt x="r" y="t" />
- </lnTo>
- <lnTo>
- <pt x="r" y="b" />
- </lnTo>
- </path>
- </pathLst>
- </bentConnector2>
- <bentConnector3>
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="adj1" fmla="val 50000" />
- </avLst>
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="x1" fmla="*/ w adj1 100000" />
- </gdLst>
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <ahXY gdRefX="adj1" minX="-2147483647" maxX="2147483647">
- <pos x="x1" y="vc" />
- </ahXY>
- </ahLst>
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <path fill="none">
- <moveTo>
- <pt x="l" y="t" />
- </moveTo>
- <lnTo>
- <pt x="x1" y="t" />
- </lnTo>
- <lnTo>
- <pt x="x1" y="b" />
- </lnTo>
- <lnTo>
- <pt x="r" y="b" />
- </lnTo>
- </path>
- </pathLst>
- </bentConnector3>
- <bentConnector4>
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="adj1" fmla="val 50000" />
- <gd name="adj2" fmla="val 50000" />
- </avLst>
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="x1" fmla="*/ w adj1 100000" />
- <gd name="x2" fmla="+/ x1 r 2" />
- <gd name="y2" fmla="*/ h adj2 100000" />
- <gd name="y1" fmla="+/ t y2 2" />
- </gdLst>
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <ahXY gdRefX="adj1" minX="-2147483647" maxX="2147483647">
- <pos x="x1" y="y1" />
- </ahXY>
- <ahXY gdRefY="adj2" minY="-2147483647" maxY="2147483647">
- <pos x="x2" y="y2" />
- </ahXY>
- </ahLst>
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <path fill="none">
- <moveTo>
- <pt x="l" y="t" />
- </moveTo>
- <lnTo>
- <pt x="x1" y="t" />
- </lnTo>
- <lnTo>
- <pt x="x1" y="y2" />
- </lnTo>
- <lnTo>
- <pt x="r" y="y2" />
- </lnTo>
- <lnTo>
- <pt x="r" y="b" />
- </lnTo>
- </path>
- </pathLst>
- </bentConnector4>
- <bentConnector5>
-
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="adj1" fmla="val 50000" />
-
- <gd name="adj2" fmla="val 50000" />
-
- <gd name="adj3" fmla="val 50000" />
-
- </avLst>
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="x1" fmla="*/ w adj1 100000" />
-
- <gd name="x3" fmla="*/ w adj3 100000" />
-
- <gd name="x2" fmla="+/ x1 x3 2" />
-
- <gd name="y2" fmla="*/ h adj2 100000" />
-
- <gd name="y1" fmla="+/ t y2 2" />
-
- <gd name="y3" fmla="+/ b y2 2" />
-
- </gdLst>
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <ahXY gdRefX="adj1" minX="-2147483647" maxX="2147483647">
- <pos x="x1" y="y1" />
- </ahXY>
- <ahXY gdRefY="adj2" minY="-2147483647" maxY="2147483647">
- <pos x="x2" y="y2" />
- </ahXY>
- <ahXY gdRefX="adj3" minX="-2147483647" maxX="2147483647">
- <pos x="x3" y="y3" />
- </ahXY>
- </ahLst>
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <path fill="none">
- <moveTo>
- <pt x="l" y="t" />
- </moveTo>
- <lnTo>
- <pt x="x1" y="t" />
- </lnTo>
- <lnTo>
- <pt x="x1" y="y2" />
- </lnTo>
- <lnTo>
- <pt x="x3" y="y2" />
- </lnTo>
- <lnTo>
- <pt x="x3" y="b" />
- </lnTo>
- <lnTo>
- <pt x="r" y="b" />
- </lnTo>
- </path>
- </pathLst>
-
- </bentConnector5>
- <bentUpArrow>
-
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="adj1" fmla="val 25000" />
-
- <gd name="adj2" fmla="val 25000" />
-
- <gd name="adj3" fmla="val 25000" />
-
- </avLst>
-
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="a1" fmla="pin 0 adj1 50000" />
- <gd name="a2" fmla="pin 0 adj2 50000" />
- <gd name="a3" fmla="pin 0 adj3 50000" />
- <gd name="y1" fmla="*/ ss a3 100000" />
- <gd name="dx1" fmla="*/ ss a2 50000" />
-
- <gd name="x1" fmla="+- r 0 dx1" />
- <gd name="dx3" fmla="*/ ss a2 100000" />
-
- <gd name="x3" fmla="+- r 0 dx3" />
- <gd name="dx2" fmla="*/ ss a1 200000" />
-
- <gd name="x2" fmla="+- x3 0 dx2" />
- <gd name="x4" fmla="+- x3 dx2 0" />
- <gd name="dy2" fmla="*/ ss a1 100000" />
-
- <gd name="y2" fmla="+- b 0 dy2" />
- <gd name="x0" fmla="*/ x4 1 2" />
- <gd name="y3" fmla="+/ y2 b 2" />
- <gd name="y15" fmla="+/ y1 b 2" />
- </gdLst>
-
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <ahXY gdRefY="adj1" minY="0" maxY="50000">
- <pos x="l" y="y2" />
- </ahXY>
- <ahXY gdRefX="adj2" minX="0" maxX="50000">
- <pos x="x1" y="t" />
- </ahXY>
- <ahXY gdRefY="adj3" minY="0" maxY="50000">
- <pos x="x2" y="y1" />
- </ahXY>
- </ahLst>
-
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <cxn ang="3cd4">
- <pos x="x3" y="t" />
- </cxn>
- <cxn ang="cd2">
- <pos x="x1" y="y1" />
- </cxn>
- <cxn ang="cd2">
- <pos x="l" y="y3" />
- </cxn>
- <cxn ang="cd4">
- <pos x="x0" y="b" />
- </cxn>
- <cxn ang="0">
- <pos x="x4" y="y15" />
- </cxn>
- <cxn ang="0">
- <pos x="r" y="y1" />
- </cxn>
- </cxnLst>
-
- <rect l="l" t="y2" r="x4" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
-
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <path>
- <moveTo>
- <pt x="l" y="y2" />
- </moveTo>
- <lnTo>
- <pt x="x2" y="y2" />
- </lnTo>
- <lnTo>
- <pt x="x2" y="y1" />
- </lnTo>
- <lnTo>
- <pt x="x1" y="y1" />
- </lnTo>
- <lnTo>
- <pt x="x3" y="t" />
- </lnTo>
- <lnTo>
- <pt x="r" y="y1" />
- </lnTo>
- <lnTo>
- <pt x="x4" y="y1" />
- </lnTo>
- <lnTo>
- <pt x="x4" y="b" />
- </lnTo>
- <lnTo>
- <pt x="l" y="b" />
- </lnTo>
- <close />
- </path>
- </pathLst>
-
- </bentUpArrow>
- <bevel>
-
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="adj" fmla="val 12500" />
-
- </avLst>
-
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="a" fmla="pin 0 adj 50000" />
- <gd name="x1" fmla="*/ ss a 100000" />
-
-
-
- <gd name="x2" fmla="+- r 0 x1" />
-
- <gd name="y2" fmla="+- b 0 x1" />
-
- </gdLst>
-
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <ahXY gdRefX="adj" minX="0" maxX="50000">
- <pos x="x1" y="t" />
- </ahXY>
- </ahLst>
-
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <cxn ang="0">
- <pos x="r" y="vc" />
- </cxn>
- <cxn ang="0">
- <pos x="x2" y="vc" />
- </cxn>
- <cxn ang="cd4">
- <pos x="hc" y="b" />
- </cxn>
- <cxn ang="cd4">
- <pos x="hc" y="y2" />
- </cxn>
- <cxn ang="cd2">
- <pos x="l" y="vc" />
- </cxn>
- <cxn ang="cd2">
- <pos x="x1" y="vc" />
- </cxn>
- <cxn ang="3cd4">
- <pos x="hc" y="t" />
- </cxn>
- <cxn ang="3cd4">
- <pos x="hc" y="x1" />
- </cxn>
- </cxnLst>
-
- <rect l="x1" t="x1" r="x2" b="y2" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
-
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <path stroke="false" extrusionOk="false">
-
- <moveTo>
- <pt x="x1" y="x1" />
- </moveTo>
- <lnTo>
- <pt x="x2" y="x1" />
- </lnTo>
- <lnTo>
- <pt x="x2" y="y2" />
- </lnTo>
- <lnTo>
- <pt x="x1" y="y2" />
- </lnTo>
- <close />
- </path>
- <path stroke="false" fill="lightenLess" extrusionOk="false">
-
- <moveTo>
- <pt x="l" y="t" />
- </moveTo>
- <lnTo>
- <pt x="r" y="t" />
- </lnTo>
- <lnTo>
- <pt x="x2" y="x1" />
- </lnTo>
- <lnTo>
- <pt x="x1" y="x1" />
- </lnTo>
- <close />
- </path>
- <path stroke="false" fill="darkenLess" extrusionOk="false">
-
- <moveTo>
- <pt x="l" y="b" />
- </moveTo>
- <lnTo>
- <pt x="x1" y="y2" />
- </lnTo>
- <lnTo>
- <pt x="x2" y="y2" />
- </lnTo>
- <lnTo>
- <pt x="r" y="b" />
- </lnTo>
- <close />
- </path>
- <path stroke="false" fill="lighten" extrusionOk="false">
-
- <moveTo>
- <pt x="l" y="t" />
- </moveTo>
- <lnTo>
- <pt x="x1" y="x1" />
- </lnTo>
- <lnTo>
- <pt x="x1" y="y2" />
- </lnTo>
- <lnTo>
- <pt x="l" y="b" />
- </lnTo>
- <close />
- </path>
- <path stroke="false" fill="darken" extrusionOk="false">
-
- <moveTo>
- <pt x="r" y="t" />
- </moveTo>
- <lnTo>
- <pt x="r" y="b" />
- </lnTo>
- <lnTo>
- <pt x="x2" y="y2" />
- </lnTo>
- <lnTo>
- <pt x="x2" y="x1" />
- </lnTo>
- <close />
- </path>
- <path fill="none" extrusionOk="false">
-
- <moveTo>
- <pt x="l" y="t" />
- </moveTo>
- <lnTo>
- <pt x="r" y="t" />
- </lnTo>
- <lnTo>
- <pt x="r" y="b" />
- </lnTo>
- <lnTo>
- <pt x="l" y="b" />
- </lnTo>
- <close />
- <moveTo>
- <pt x="x1" y="x1" />
- </moveTo>
- <lnTo>
- <pt x="x2" y="x1" />
- </lnTo>
- <lnTo>
- <pt x="x2" y="y2" />
- </lnTo>
- <lnTo>
- <pt x="x1" y="y2" />
- </lnTo>
- <close />
- <moveTo>
- <pt x="l" y="t" />
- </moveTo>
- <lnTo>
- <pt x="x1" y="x1" />
- </lnTo>
- <moveTo>
- <pt x="l" y="b" />
- </moveTo>
- <lnTo>
- <pt x="x1" y="y2" />
- </lnTo>
- <moveTo>
- <pt x="r" y="t" />
- </moveTo>
- <lnTo>
- <pt x="x2" y="x1" />
- </lnTo>
- <moveTo>
- <pt x="r" y="b" />
- </moveTo>
- <lnTo>
- <pt x="x2" y="y2" />
- </lnTo>
- </path>
- </pathLst>
-
- </bevel>
- <blockArc>
-
-
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="adj1" fmla="val 10800000" />
-
- <gd name="adj2" fmla="val 0" />
-
- <gd name="adj3" fmla="val 25000" />
-
- </avLst>
-
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="stAng" fmla="pin 0 adj1 21599999" />
- <gd name="istAng" fmla="pin 0 adj2 21599999" />
- <gd name="a3" fmla="pin 0 adj3 50000" />
- <gd name="sw11" fmla="+- istAng 0 stAng" />
-
- <gd name="sw12" fmla="+- sw11 21600000 0" />
-
- <gd name="swAng" fmla="?: sw11 sw11 sw12" />
-
- <gd name="iswAng" fmla="+- 0 0 swAng" />
-
-
- <gd name="wt1" fmla="sin wd2 stAng" />
- <gd name="ht1" fmla="cos hd2 stAng" />
- <gd name="wt3" fmla="sin wd2 istAng" />
- <gd name="ht3" fmla="cos hd2 istAng" />
- <gd name="dx1" fmla="cat2 wd2 ht1 wt1" />
- <gd name="dy1" fmla="sat2 hd2 ht1 wt1" />
- <gd name="dx3" fmla="cat2 wd2 ht3 wt3" />
- <gd name="dy3" fmla="sat2 hd2 ht3 wt3" />
- <gd name="x1" fmla="+- hc dx1 0" />
-
- <gd name="y1" fmla="+- vc dy1 0" />
-
- <gd name="x3" fmla="+- hc dx3 0" />
-
- <gd name="y3" fmla="+- vc dy3 0" />
-
-
- <gd name="dr" fmla="*/ ss a3 100000" />
- <gd name="iwd2" fmla="+- wd2 0 dr" />
- <gd name="ihd2" fmla="+- hd2 0 dr" />
- <gd name="wt2" fmla="sin iwd2 istAng" />
- <gd name="ht2" fmla="cos ihd2 istAng" />
- <gd name="wt4" fmla="sin iwd2 stAng" />
- <gd name="ht4" fmla="cos ihd2 stAng" />
- <gd name="dx2" fmla="cat2 iwd2 ht2 wt2" />
- <gd name="dy2" fmla="sat2 ihd2 ht2 wt2" />
- <gd name="dx4" fmla="cat2 iwd2 ht4 wt4" />
- <gd name="dy4" fmla="sat2 ihd2 ht4 wt4" />
- <gd name="x2" fmla="+- hc dx2 0" />
-
- <gd name="y2" fmla="+- vc dy2 0" />
-
- <gd name="x4" fmla="+- hc dx4 0" />
-
- <gd name="y4" fmla="+- vc dy4 0" />
-
-
- <gd name="sw0" fmla="+- 21600000 0 stAng" />
- <gd name="da1" fmla="+- swAng 0 sw0" />
- <gd name="g1" fmla="max x1 x2" />
- <gd name="g2" fmla="max x3 x4" />
- <gd name="g3" fmla="max g1 g2" />
- <gd name="ir" fmla="?: da1 r g3" />
-
- <gd name="sw1" fmla="+- cd4 0 stAng" />
- <gd name="sw2" fmla="+- 27000000 0 stAng" />
- <gd name="sw3" fmla="?: sw1 sw1 sw2" />
- <gd name="da2" fmla="+- swAng 0 sw3" />
- <gd name="g5" fmla="max y1 y2" />
- <gd name="g6" fmla="max y3 y4" />
- <gd name="g7" fmla="max g5 g6" />
- <gd name="ib" fmla="?: da2 b g7" />
-
- <gd name="sw4" fmla="+- cd2 0 stAng" />
- <gd name="sw5" fmla="+- 32400000 0 stAng" />
- <gd name="sw6" fmla="?: sw4 sw4 sw5" />
- <gd name="da3" fmla="+- swAng 0 sw6" />
- <gd name="g9" fmla="min x1 x2" />
- <gd name="g10" fmla="min x3 x4" />
- <gd name="g11" fmla="min g9 g10" />
- <gd name="il" fmla="?: da3 l g11" />
-
- <gd name="sw7" fmla="+- 3cd4 0 stAng" />
- <gd name="sw8" fmla="+- 37800000 0 stAng" />
- <gd name="sw9" fmla="?: sw7 sw7 sw8" />
- <gd name="da4" fmla="+- swAng 0 sw9" />
- <gd name="g13" fmla="min y1 y2" />
- <gd name="g14" fmla="min y3 y4" />
- <gd name="g15" fmla="min g13 g14" />
- <gd name="it" fmla="?: da4 t g15" />
-
- <gd name="x5" fmla="+/ x1 x4 2" />
-
- <gd name="y5" fmla="+/ y1 y4 2" />
-
- <gd name="x6" fmla="+/ x3 x2 2" />
-
- <gd name="y6" fmla="+/ y3 y2 2" />
-
- <gd name="cang1" fmla="+- stAng 0 cd4" />
- <gd name="cang2" fmla="+- istAng cd4 0" />
- <gd name="cang3" fmla="+/ cang1 cang2 2" />
- </gdLst>
-
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <ahPolar gdRefAng="adj1" minAng="0" maxAng="21599999">
- <pos x="x1" y="y1" />
- </ahPolar>
- <ahPolar gdRefR="adj3" minR="0" maxR="50000" gdRefAng="adj2" minAng="0" maxAng="21599999">
- <pos x="x2" y="y2" />
- </ahPolar>
- </ahLst>
-
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <cxn ang="cang1">
- <pos x="x5" y="y5" />
- </cxn>
- <cxn ang="cang2">
- <pos x="x6" y="y6" />
- </cxn>
- <cxn ang="cang3">
- <pos x="hc" y="vc" />
- </cxn>
- </cxnLst>
-
- <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
-
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <path>
- <moveTo>
- <pt x="x1" y="y1" />
- </moveTo>
- <arcTo wR="wd2" hR="hd2" stAng="stAng" swAng="swAng" />
- <lnTo>
- <pt x="x2" y="y2" />
- </lnTo>
- <arcTo wR="iwd2" hR="ihd2" stAng="istAng" swAng="iswAng" />
- <close />
- </path>
- </pathLst>
-
- </blockArc>
- <borderCallout1>
-
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
-
- <gd name="adj1" fmla="val 18750" />
-
- <gd name="adj2" fmla="val -8333" />
-
- <gd name="adj3" fmla="val 112500" />
-
- <gd name="adj4" fmla="val -38333" />
-
- </avLst>
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="y1" fmla="*/ h adj1 100000" />
- <gd name="x1" fmla="*/ w adj2 100000" />
- <gd name="y2" fmla="*/ h adj3 100000" />
- <gd name="x2" fmla="*/ w adj4 100000" />
- </gdLst>
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <ahXY gdRefX="adj2" minX="-2147483647" maxX="2147483647" gdRefY="adj1" minY="-2147483647" maxY="2147483647">
- <pos x="x1" y="y1" />
- </ahXY>
- <ahXY gdRefX="adj4" minX="-2147483647" maxX="2147483647" gdRefY="adj3" minY="-2147483647" maxY="2147483647">
- <pos x="x2" y="y2" />
- </ahXY>
- </ahLst>
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <cxn ang="0">
- <pos x="r" y="vc" />
- </cxn>
- <cxn ang="cd4">
- <pos x="hc" y="b" />
- </cxn>
- <cxn ang="cd2">
- <pos x="l" y="vc" />
- </cxn>
- <cxn ang="3cd4">
- <pos x="hc" y="t" />
- </cxn>
- </cxnLst>
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <path extrusionOk="false">
- <moveTo>
- <pt x="l" y="t" />
- </moveTo>
- <lnTo>
- <pt x="r" y="t" />
- </lnTo>
- <lnTo>
- <pt x="r" y="b" />
- </lnTo>
- <lnTo>
- <pt x="l" y="b" />
- </lnTo>
- <close />
- </path>
- <path fill="none" extrusionOk="false">
- <moveTo>
- <pt x="x1" y="y1" />
- </moveTo>
- <lnTo>
- <pt x="x2" y="y2" />
- </lnTo>
- </path>
- </pathLst>
-
- </borderCallout1>
- <borderCallout2>
-
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
-
- <gd name="adj1" fmla="val 18750" />
-
- <gd name="adj2" fmla="val -8333" />
-
- <gd name="adj3" fmla="val 18750" />
-
- <gd name="adj4" fmla="val -16667" />
-
- <gd name="adj5" fmla="val 112500" />
-
- <gd name="adj6" fmla="val -46667" />
-
- </avLst>
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="y1" fmla="*/ h adj1 100000" />
- <gd name="x1" fmla="*/ w adj2 100000" />
- <gd name="y2" fmla="*/ h adj3 100000" />
- <gd name="x2" fmla="*/ w adj4 100000" />
- <gd name="y3" fmla="*/ h adj5 100000" />
- <gd name="x3" fmla="*/ w adj6 100000" />
- </gdLst>
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <ahXY gdRefX="adj2" minX="-2147483647" maxX="2147483647" gdRefY="adj1" minY="-2147483647" maxY="2147483647">
- <pos x="x1" y="y1" />
- </ahXY>
- <ahXY gdRefX="adj4" minX="-2147483647" maxX="2147483647" gdRefY="adj3" minY="-2147483647" maxY="2147483647">
- <pos x="x2" y="y2" />
- </ahXY>
- <ahXY gdRefX="adj6" minX="-2147483647" maxX="2147483647" gdRefY="adj5" minY="-2147483647" maxY="2147483647">
- <pos x="x3" y="y3" />
- </ahXY>
- </ahLst>
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <cxn ang="0">
- <pos x="r" y="vc" />
- </cxn>
- <cxn ang="cd4">
- <pos x="hc" y="b" />
- </cxn>
- <cxn ang="cd2">
- <pos x="l" y="vc" />
- </cxn>
- <cxn ang="3cd4">
- <pos x="hc" y="t" />
- </cxn>
- </cxnLst>
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <path extrusionOk="false">
- <moveTo>
- <pt x="l" y="t" />
- </moveTo>
- <lnTo>
- <pt x="r" y="t" />
- </lnTo>
- <lnTo>
- <pt x="r" y="b" />
- </lnTo>
- <lnTo>
- <pt x="l" y="b" />
- </lnTo>
- <close />
- </path>
- <path fill="none" extrusionOk="false">
- <moveTo>
- <pt x="x1" y="y1" />
- </moveTo>
- <lnTo>
- <pt x="x2" y="y2" />
- </lnTo>
- <lnTo>
- <pt x="x3" y="y3" />
- </lnTo>
- </path>
- </pathLst>
-
- </borderCallout2>
- <borderCallout3>
-
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
-
- <gd name="adj1" fmla="val 18750" />
-
- <gd name="adj2" fmla="val -8333" />
-
- <gd name="adj3" fmla="val 18750" />
-
- <gd name="adj4" fmla="val -16667" />
-
- <gd name="adj5" fmla="val 100000" />
-
- <gd name="adj6" fmla="val -16667" />
-
- <gd name="adj7" fmla="val 112963" />
-
- <gd name="adj8" fmla="val -8333" />
-
- </avLst>
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="y1" fmla="*/ h adj1 100000" />
- <gd name="x1" fmla="*/ w adj2 100000" />
- <gd name="y2" fmla="*/ h adj3 100000" />
- <gd name="x2" fmla="*/ w adj4 100000" />
- <gd name="y3" fmla="*/ h adj5 100000" />
- <gd name="x3" fmla="*/ w adj6 100000" />
- <gd name="y4" fmla="*/ h adj7 100000" />
- <gd name="x4" fmla="*/ w adj8 100000" />
- </gdLst>
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <ahXY gdRefX="adj2" minX="-2147483647" maxX="2147483647" gdRefY="adj1" minY="-2147483647" maxY="2147483647">
- <pos x="x1" y="y1" />
- </ahXY>
- <ahXY gdRefX="adj4" minX="-2147483647" maxX="2147483647" gdRefY="adj3" minY="-2147483647" maxY="2147483647">
- <pos x="x2" y="y2" />
- </ahXY>
- <ahXY gdRefX="adj6" minX="-2147483647" maxX="2147483647" gdRefY="adj5" minY="-2147483647" maxY="2147483647">
- <pos x="x3" y="y3" />
- </ahXY>
- <ahXY gdRefX="adj8" minX="-2147483647" maxX="2147483647" gdRefY="adj7" minY="-2147483647" maxY="2147483647">
- <pos x="x4" y="y4" />
- </ahXY>
- </ahLst>
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <cxn ang="0">
- <pos x="r" y="vc" />
- </cxn>
- <cxn ang="cd4">
- <pos x="hc" y="b" />
- </cxn>
- <cxn ang="cd2">
- <pos x="l" y="vc" />
- </cxn>
- <cxn ang="3cd4">
- <pos x="hc" y="t" />
- </cxn>
- </cxnLst>
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <path extrusionOk="false">
- <moveTo>
- <pt x="l" y="t" />
- </moveTo>
- <lnTo>
- <pt x="r" y="t" />
- </lnTo>
- <lnTo>
- <pt x="r" y="b" />
- </lnTo>
- <lnTo>
- <pt x="l" y="b" />
- </lnTo>
- <close />
- </path>
- <path fill="none" extrusionOk="false">
- <moveTo>
- <pt x="x1" y="y1" />
- </moveTo>
- <lnTo>
- <pt x="x2" y="y2" />
- </lnTo>
- <lnTo>
- <pt x="x3" y="y3" />
- </lnTo>
- <lnTo>
- <pt x="x4" y="y4" />
- </lnTo>
- </path>
- </pathLst>
-
- </borderCallout3>
- <bracePair>
-
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="adj" fmla="val 8333" />
-
- </avLst>
-
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="a" fmla="pin 0 adj 25000" />
- <gd name="x1" fmla="*/ ss a 100000" />
- <gd name="x2" fmla="*/ ss a 50000" />
- <gd name="x3" fmla="+- r 0 x2" />
- <gd name="x4" fmla="+- r 0 x1" />
-
- <gd name="y2" fmla="+- vc 0 x1" />
- <gd name="y3" fmla="+- vc x1 0" />
- <gd name="y4" fmla="+- b 0 x1" />
- <gd name="it" fmla="*/ x1 29289 100000" />
-
- <gd name="il" fmla="+- x1 it 0" />
- <gd name="ir" fmla="+- r 0 il" />
- <gd name="ib" fmla="+- b 0 it" />
- </gdLst>
-
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <ahXY gdRefY="adj" minY="0" maxY="25000">
- <pos x="l" y="x1" />
- </ahXY>
- </ahLst>
-
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <cxn ang="3cd4">
- <pos x="hc" y="t" />
- </cxn>
- <cxn ang="cd2">
- <pos x="l" y="vc" />
- </cxn>
- <cxn ang="cd4">
- <pos x="hc" y="b" />
- </cxn>
- <cxn ang="0">
- <pos x="r" y="vc" />
- </cxn>
- </cxnLst>
-
- <rect l="il" t="il" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
-
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <path stroke="false" extrusionOk="false">
- <moveTo>
- <pt x="x2" y="b" />
- </moveTo>
- <arcTo wR="x1" hR="x1" stAng="cd4" swAng="cd4" />
- <lnTo>
- <pt x="x1" y="y3" />
- </lnTo>
- <arcTo wR="x1" hR="x1" stAng="0" swAng="-5400000" />
- <arcTo wR="x1" hR="x1" stAng="cd4" swAng="-5400000" />
- <lnTo>
- <pt x="x1" y="x1" />
- </lnTo>
- <arcTo wR="x1" hR="x1" stAng="cd2" swAng="cd4" />
- <lnTo>
- <pt x="x3" y="t" />
- </lnTo>
- <arcTo wR="x1" hR="x1" stAng="3cd4" swAng="cd4" />
- <lnTo>
- <pt x="x4" y="y2" />
- </lnTo>
- <arcTo wR="x1" hR="x1" stAng="cd2" swAng="-5400000" />
- <arcTo wR="x1" hR="x1" stAng="3cd4" swAng="-5400000" />
- <lnTo>
- <pt x="x4" y="y4" />
- </lnTo>
- <arcTo wR="x1" hR="x1" stAng="0" swAng="cd4" />
- <close />
- </path>
- <path fill="none">
- <moveTo>
- <pt x="x2" y="b" />
- </moveTo>
- <arcTo wR="x1" hR="x1" stAng="cd4" swAng="cd4" />
- <lnTo>
- <pt x="x1" y="y3" />
- </lnTo>
- <arcTo wR="x1" hR="x1" stAng="0" swAng="-5400000" />
- <arcTo wR="x1" hR="x1" stAng="cd4" swAng="-5400000" />
- <lnTo>
- <pt x="x1" y="x1" />
- </lnTo>
- <arcTo wR="x1" hR="x1" stAng="cd2" swAng="cd4" />
- <moveTo>
- <pt x="x3" y="t" />
- </moveTo>
- <arcTo wR="x1" hR="x1" stAng="3cd4" swAng="cd4" />
- <lnTo>
- <pt x="x4" y="y2" />
- </lnTo>
- <arcTo wR="x1" hR="x1" stAng="cd2" swAng="-5400000" />
- <arcTo wR="x1" hR="x1" stAng="3cd4" swAng="-5400000" />
- <lnTo>
- <pt x="x4" y="y4" />
- </lnTo>
- <arcTo wR="x1" hR="x1" stAng="0" swAng="cd4" />
- </path>
- </pathLst>
-
- </bracePair>
- <bracketPair>
-
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="adj" fmla="val 16667" />
- </avLst>
-
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="a" fmla="pin 0 adj 50000" />
- <gd name="x1" fmla="*/ ss a 100000" />
- <gd name="x2" fmla="+- r 0 x1" />
-
- <gd name="y2" fmla="+- b 0 x1" />
- <gd name="il" fmla="*/ x1 29289 100000" />
-
-
- <gd name="ir" fmla="+- r 0 il" />
- <gd name="ib" fmla="+- b 0 il" />
- </gdLst>
-
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <ahXY gdRefY="adj" minY="0" maxY="50000">
- <pos x="l" y="x1" />
- </ahXY>
- </ahLst>
-
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <cxn ang="3cd4">
- <pos x="hc" y="t" />
- </cxn>
- <cxn ang="cd2">
- <pos x="l" y="vc" />
- </cxn>
- <cxn ang="cd4">
- <pos x="hc" y="b" />
- </cxn>
- <cxn ang="0">
- <pos x="r" y="vc" />
- </cxn>
- </cxnLst>
-
- <rect l="il" t="il" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
-
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <path stroke="false" extrusionOk="false">
- <moveTo>
- <pt x="l" y="x1" />
- </moveTo>
- <arcTo wR="x1" hR="x1" stAng="cd2" swAng="cd4" />
- <lnTo>
- <pt x="x2" y="t" />
- </lnTo>
- <arcTo wR="x1" hR="x1" stAng="3cd4" swAng="cd4" />
- <lnTo>
- <pt x="r" y="y2" />
- </lnTo>
- <arcTo wR="x1" hR="x1" stAng="0" swAng="cd4" />
- <lnTo>
- <pt x="x1" y="b" />
- </lnTo>
- <arcTo wR="x1" hR="x1" stAng="cd4" swAng="cd4" />
- <close />
- </path>
- <path fill="none">
- <moveTo>
- <pt x="x1" y="b" />
- </moveTo>
- <arcTo wR="x1" hR="x1" stAng="cd4" swAng="cd4" />
- <lnTo>
- <pt x="l" y="x1" />
- </lnTo>
- <arcTo wR="x1" hR="x1" stAng="cd2" swAng="cd4" />
- <moveTo>
- <pt x="x2" y="t" />
- </moveTo>
- <arcTo wR="x1" hR="x1" stAng="3cd4" swAng="cd4" />
- <lnTo>
- <pt x="r" y="y2" />
- </lnTo>
- <arcTo wR="x1" hR="x1" stAng="0" swAng="cd4" />
- </path>
- </pathLst>
-
- </bracketPair>
- <callout1>
-
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
-
- <gd name="adj1" fmla="val 18750" />
-
- <gd name="adj2" fmla="val -8333" />
-
- <gd name="adj3" fmla="val 112500" />
-
- <gd name="adj4" fmla="val -38333" />
-
- </avLst>
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="y1" fmla="*/ h adj1 100000" />
- <gd name="x1" fmla="*/ w adj2 100000" />
- <gd name="y2" fmla="*/ h adj3 100000" />
- <gd name="x2" fmla="*/ w adj4 100000" />
- </gdLst>
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <ahXY gdRefX="adj2" minX="-2147483647" maxX="2147483647" gdRefY="adj1" minY="-2147483647" maxY="2147483647">
- <pos x="x1" y="y1" />
- </ahXY>
- <ahXY gdRefX="adj4" minX="-2147483647" maxX="2147483647" gdRefY="adj3" minY="-2147483647" maxY="2147483647">
- <pos x="x2" y="y2" />
- </ahXY>
- </ahLst>
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <cxn ang="0">
- <pos x="r" y="vc" />
- </cxn>
- <cxn ang="cd4">
- <pos x="hc" y="b" />
- </cxn>
- <cxn ang="cd2">
- <pos x="l" y="vc" />
- </cxn>
- <cxn ang="3cd4">
- <pos x="hc" y="t" />
- </cxn>
- </cxnLst>
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <path stroke="false" extrusionOk="false">
- <moveTo>
- <pt x="l" y="t" />
- </moveTo>
- <lnTo>
- <pt x="r" y="t" />
- </lnTo>
- <lnTo>
- <pt x="r" y="b" />
- </lnTo>
- <lnTo>
- <pt x="l" y="b" />
- </lnTo>
- <close />
- </path>
- <path fill="none" extrusionOk="false">
- <moveTo>
- <pt x="x1" y="y1" />
- </moveTo>
- <lnTo>
- <pt x="x2" y="y2" />
- </lnTo>
- </path>
- </pathLst>
-
- </callout1>
- <callout2>
-
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
-
- <gd name="adj1" fmla="val 18750" />
-
- <gd name="adj2" fmla="val -8333" />
-
- <gd name="adj3" fmla="val 18750" />
-
- <gd name="adj4" fmla="val -16667" />
-
- <gd name="adj5" fmla="val 112500" />
-
- <gd name="adj6" fmla="val -46667" />
-
- </avLst>
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="y1" fmla="*/ h adj1 100000" />
- <gd name="x1" fmla="*/ w adj2 100000" />
- <gd name="y2" fmla="*/ h adj3 100000" />
- <gd name="x2" fmla="*/ w adj4 100000" />
- <gd name="y3" fmla="*/ h adj5 100000" />
- <gd name="x3" fmla="*/ w adj6 100000" />
- </gdLst>
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <ahXY gdRefX="adj2" minX="-2147483647" maxX="2147483647" gdRefY="adj1" minY="-2147483647" maxY="2147483647">
- <pos x="x1" y="y1" />
- </ahXY>
- <ahXY gdRefX="adj4" minX="-2147483647" maxX="2147483647" gdRefY="adj3" minY="-2147483647" maxY="2147483647">
- <pos x="x2" y="y2" />
- </ahXY>
- <ahXY gdRefX="adj6" minX="-2147483647" maxX="2147483647" gdRefY="adj5" minY="-2147483647" maxY="2147483647">
- <pos x="x3" y="y3" />
- </ahXY>
- </ahLst>
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <cxn ang="0">
- <pos x="r" y="vc" />
- </cxn>
- <cxn ang="cd4">
- <pos x="hc" y="b" />
- </cxn>
- <cxn ang="cd2">
- <pos x="l" y="vc" />
- </cxn>
- <cxn ang="3cd4">
- <pos x="hc" y="t" />
- </cxn>
- </cxnLst>
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <path stroke="false" extrusionOk="false">
- <moveTo>
- <pt x="l" y="t" />
- </moveTo>
- <lnTo>
- <pt x="r" y="t" />
- </lnTo>
- <lnTo>
- <pt x="r" y="b" />
- </lnTo>
- <lnTo>
- <pt x="l" y="b" />
- </lnTo>
- <close />
- </path>
- <path fill="none" extrusionOk="false">
- <moveTo>
- <pt x="x1" y="y1" />
- </moveTo>
- <lnTo>
- <pt x="x2" y="y2" />
- </lnTo>
- <lnTo>
- <pt x="x3" y="y3" />
- </lnTo>
- </path>
- </pathLst>
-
- </callout2>
- <callout3>
-
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
-
- <gd name="adj1" fmla="val 18750" />
-
- <gd name="adj2" fmla="val -8333" />
-
- <gd name="adj3" fmla="val 18750" />
-
- <gd name="adj4" fmla="val -16667" />
-
- <gd name="adj5" fmla="val 100000" />
-
- <gd name="adj6" fmla="val -16667" />
-
- <gd name="adj7" fmla="val 112963" />
-
- <gd name="adj8" fmla="val -8333" />
-
- </avLst>
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="y1" fmla="*/ h adj1 100000" />
- <gd name="x1" fmla="*/ w adj2 100000" />
- <gd name="y2" fmla="*/ h adj3 100000" />
- <gd name="x2" fmla="*/ w adj4 100000" />
- <gd name="y3" fmla="*/ h adj5 100000" />
- <gd name="x3" fmla="*/ w adj6 100000" />
- <gd name="y4" fmla="*/ h adj7 100000" />
- <gd name="x4" fmla="*/ w adj8 100000" />
- </gdLst>
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <ahXY gdRefX="adj2" minX="-2147483647" maxX="2147483647" gdRefY="adj1" minY="-2147483647" maxY="2147483647">
- <pos x="x1" y="y1" />
- </ahXY>
- <ahXY gdRefX="adj4" minX="-2147483647" maxX="2147483647" gdRefY="adj3" minY="-2147483647" maxY="2147483647">
- <pos x="x2" y="y2" />
- </ahXY>
- <ahXY gdRefX="adj6" minX="-2147483647" maxX="2147483647" gdRefY="adj5" minY="-2147483647" maxY="2147483647">
- <pos x="x3" y="y3" />
- </ahXY>
- <ahXY gdRefX="adj8" minX="-2147483647" maxX="2147483647" gdRefY="adj7" minY="-2147483647" maxY="2147483647">
- <pos x="x4" y="y4" />
- </ahXY>
- </ahLst>
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <cxn ang="0">
- <pos x="r" y="vc" />
- </cxn>
- <cxn ang="cd4">
- <pos x="hc" y="b" />
- </cxn>
- <cxn ang="cd2">
- <pos x="l" y="vc" />
- </cxn>
- <cxn ang="3cd4">
- <pos x="hc" y="t" />
- </cxn>
- </cxnLst>
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <path stroke="false" extrusionOk="false">
- <moveTo>
- <pt x="l" y="t" />
- </moveTo>
- <lnTo>
- <pt x="r" y="t" />
- </lnTo>
- <lnTo>
- <pt x="r" y="b" />
- </lnTo>
- <lnTo>
- <pt x="l" y="b" />
- </lnTo>
- <close />
- </path>
- <path fill="none" extrusionOk="false">
- <moveTo>
- <pt x="x1" y="y1" />
- </moveTo>
- <lnTo>
- <pt x="x2" y="y2" />
- </lnTo>
- <lnTo>
- <pt x="x3" y="y3" />
- </lnTo>
- <lnTo>
- <pt x="x4" y="y4" />
- </lnTo>
- </path>
- </pathLst>
-
- </callout3>
- <can>
-
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="adj" fmla="val 25000" />
-
- </avLst>
-
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="maxAdj" fmla="*/ 50000 h ss" />
- <gd name="a" fmla="pin 0 adj maxAdj" />
- <gd name="y1" fmla="*/ ss a 200000" />
- <gd name="y2" fmla="+- y1 y1 0" />
- <gd name="y3" fmla="+- b 0 y1" />
- </gdLst>
-
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <ahXY gdRefY="adj" minY="0" maxY="maxAdj">
- <pos x="hc" y="y2" />
- </ahXY>
- </ahLst>
-
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <cxn ang="3cd4">
- <pos x="hc" y="y2" />
- </cxn>
- <cxn ang="3cd4">
- <pos x="hc" y="t" />
- </cxn>
- <cxn ang="cd2">
- <pos x="l" y="vc" />
- </cxn>
- <cxn ang="cd4">
- <pos x="hc" y="b" />
- </cxn>
- <cxn ang="0">
- <pos x="r" y="vc" />
- </cxn>
- </cxnLst>
-
- <rect l="l" t="y2" r="r" b="y3" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
-
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <path stroke="false" extrusionOk="false">
-
- <moveTo>
- <pt x="l" y="y1" />
- </moveTo>
- <arcTo wR="wd2" hR="y1" stAng="cd2" swAng="-10800000" />
- <lnTo>
- <pt x="r" y="y3" />
- </lnTo>
- <arcTo wR="wd2" hR="y1" stAng="0" swAng="cd2" />
- <close />
- </path>
- <path stroke="false" fill="lighten" extrusionOk="false">
-
- <moveTo>
- <pt x="l" y="y1" />
- </moveTo>
- <arcTo wR="wd2" hR="y1" stAng="cd2" swAng="cd2" />
- <arcTo wR="wd2" hR="y1" stAng="0" swAng="cd2" />
- <close />
- </path>
- <path fill="none" extrusionOk="false">
-
- <moveTo>
- <pt x="r" y="y1" />
- </moveTo>
- <arcTo wR="wd2" hR="y1" stAng="0" swAng="cd2" />
- <arcTo wR="wd2" hR="y1" stAng="cd2" swAng="cd2" />
- <lnTo>
- <pt x="r" y="y3" />
- </lnTo>
- <arcTo wR="wd2" hR="y1" stAng="0" swAng="cd2" />
- <lnTo>
- <pt x="l" y="y1" />
- </lnTo>
- </path>
- </pathLst>
-
- </can>
- <chartPlus>
-
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <path w="10" h="10" fill="none" extrusionOk="false">
- <moveTo>
- <pt x="5" y="0" />
- </moveTo>
- <lnTo>
- <pt x="5" y="10" />
- </lnTo>
- <moveTo>
- <pt x="0" y="5" />
- </moveTo>
- <lnTo>
- <pt x="10" y="5" />
- </lnTo>
- </path>
- <path w="10" h="10" stroke="false">
- <moveTo>
- <pt x="0" y="0" />
- </moveTo>
- <lnTo>
- <pt x="0" y="10" />
- </lnTo>
- <lnTo>
- <pt x="10" y="10" />
- </lnTo>
- <lnTo>
- <pt x="10" y="0" />
- </lnTo>
- <close />
- </path>
- </pathLst>
-
- </chartPlus>
- <chartStar>
-
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <path w="10" h="10" fill="none" extrusionOk="false">
- <moveTo>
- <pt x="0" y="0" />
- </moveTo>
- <lnTo>
- <pt x="10" y="10" />
- </lnTo>
- <moveTo>
- <pt x="0" y="10" />
- </moveTo>
- <lnTo>
- <pt x="10" y="0" />
- </lnTo>
- <moveTo>
- <pt x="5" y="0" />
- </moveTo>
- <lnTo>
- <pt x="5" y="10" />
- </lnTo>
- </path>
- <path w="10" h="10" stroke="false">
- <moveTo>
- <pt x="0" y="0" />
- </moveTo>
- <lnTo>
- <pt x="0" y="10" />
- </lnTo>
- <lnTo>
- <pt x="10" y="10" />
- </lnTo>
- <lnTo>
- <pt x="10" y="0" />
- </lnTo>
- <close />
- </path>
- </pathLst>
-
- </chartStar>
- <chartX>
-
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <path w="10" h="10" fill="none" extrusionOk="false">
- <moveTo>
- <pt x="0" y="0" />
- </moveTo>
- <lnTo>
- <pt x="10" y="10" />
- </lnTo>
- <moveTo>
- <pt x="0" y="10" />
- </moveTo>
- <lnTo>
- <pt x="10" y="0" />
- </lnTo>
- </path>
- <path w="10" h="10" stroke="false">
- <moveTo>
- <pt x="0" y="0" />
- </moveTo>
- <lnTo>
- <pt x="0" y="10" />
- </lnTo>
- <lnTo>
- <pt x="10" y="10" />
- </lnTo>
- <lnTo>
- <pt x="10" y="0" />
- </lnTo>
- <close />
- </path>
- </pathLst>
-
- </chartX>
- <chevron>
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="adj" fmla="val 50000" />
- </avLst>
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="maxAdj" fmla="*/ 100000 w ss" />
- <gd name="a" fmla="pin 0 adj maxAdj" />
- <gd name="x1" fmla="*/ ss a 100000" />
- <gd name="x2" fmla="+- r 0 x1" />
- <gd name="x3" fmla="*/ x2 1 2" />
- <gd name="dx" fmla="+- x2 0 x1" />
- <gd name="il" fmla="?: dx x1 l" />
- <gd name="ir" fmla="?: dx x2 r" />
- </gdLst>
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <ahXY gdRefX="adj" minX="0" maxX="maxAdj">
- <pos x="x2" y="t" />
- </ahXY>
- </ahLst>
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <cxn ang="3cd4">
- <pos x="x3" y="t" />
- </cxn>
- <cxn ang="cd2">
- <pos x="x1" y="vc" />
- </cxn>
- <cxn ang="cd4">
- <pos x="x3" y="b" />
- </cxn>
- <cxn ang="0">
- <pos x="r" y="vc" />
- </cxn>
- </cxnLst>
- <rect l="il" t="t" r="ir" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <path>
- <moveTo>
- <pt x="l" y="t" />
- </moveTo>
- <lnTo>
- <pt x="x2" y="t" />
- </lnTo>
- <lnTo>
- <pt x="r" y="vc" />
- </lnTo>
- <lnTo>
- <pt x="x2" y="b" />
- </lnTo>
- <lnTo>
- <pt x="l" y="b" />
- </lnTo>
- <lnTo>
- <pt x="x1" y="vc" />
- </lnTo>
- <close />
- </path>
- </pathLst>
- </chevron>
- <chord>
-
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="adj1" fmla="val 2700000" />
-
- <gd name="adj2" fmla="val 16200000" />
-
- </avLst>
-
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="stAng" fmla="pin 0 adj1 21599999" />
- <gd name="enAng" fmla="pin 0 adj2 21599999" />
- <gd name="sw1" fmla="+- enAng 0 stAng" />
-
- <gd name="sw2" fmla="+- sw1 21600000 0" />
-
- <gd name="swAng" fmla="?: sw1 sw1 sw2" />
-
- <gd name="wt1" fmla="sin wd2 stAng" />
- <gd name="ht1" fmla="cos hd2 stAng" />
- <gd name="dx1" fmla="cat2 wd2 ht1 wt1" />
- <gd name="dy1" fmla="sat2 hd2 ht1 wt1" />
- <gd name="wt2" fmla="sin wd2 enAng" />
- <gd name="ht2" fmla="cos hd2 enAng" />
- <gd name="dx2" fmla="cat2 wd2 ht2 wt2" />
- <gd name="dy2" fmla="sat2 hd2 ht2 wt2" />
- <gd name="x1" fmla="+- hc dx1 0" />
-
- <gd name="y1" fmla="+- vc dy1 0" />
-
- <gd name="x2" fmla="+- hc dx2 0" />
-
- <gd name="y2" fmla="+- vc dy2 0" />
-
- <gd name="x3" fmla="+/ x1 x2 2" />
- <gd name="y3" fmla="+/ y1 y2 2" />
- <gd name="midAng0" fmla="*/ swAng 1 2" />
- <gd name="midAng" fmla="+- stAng midAng0 cd2" />
- <gd name="idx" fmla="cos wd2 2700000" />
- <gd name="idy" fmla="sin hd2 2700000" />
- <gd name="il" fmla="+- hc 0 idx" />
- <gd name="ir" fmla="+- hc idx 0" />
- <gd name="it" fmla="+- vc 0 idy" />
- <gd name="ib" fmla="+- vc idy 0" />
- </gdLst>
-
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <ahPolar gdRefAng="adj1" minAng="0" maxAng="21599999">
- <pos x="x1" y="y1" />
- </ahPolar>
- <ahPolar gdRefAng="adj2" minAng="0" maxAng="21599999">
- <pos x="x2" y="y2" />
- </ahPolar>
- </ahLst>
-
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <cxn ang="stAng">
- <pos x="x1" y="y1" />
- </cxn>
- <cxn ang="enAng">
- <pos x="x2" y="y2" />
- </cxn>
- <cxn ang="midAng">
- <pos x="x3" y="y3" />
- </cxn>
- </cxnLst>
-
- <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
-
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <path>
- <moveTo>
- <pt x="x1" y="y1" />
- </moveTo>
- <arcTo wR="wd2" hR="hd2" stAng="stAng" swAng="swAng" />
- <close />
- </path>
- </pathLst>
-
- </chord>
- <circularArrow>
-
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="adj1" fmla="val 12500" />
-
- <gd name="adj2" fmla="val 1142319" />
-
- <gd name="adj3" fmla="val 20457681" />
-
- <gd name="adj4" fmla="val 10800000" />
-
- <gd name="adj5" fmla="val 12500" />
-
- </avLst>
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="a5" fmla="pin 0 adj5 25000" />
-
- <gd name="maxAdj1" fmla="*/ a5 2 1" />
-
- <gd name="a1" fmla="pin 0 adj1 maxAdj1" />
- <gd name="enAng" fmla="pin 1 adj3 21599999" />
- <gd name="stAng" fmla="pin 0 adj4 21599999" />
-
- <gd name="th" fmla="*/ ss a1 100000" />
-
- <gd name="thh" fmla="*/ ss a5 100000" />
-
- <gd name="th2" fmla="*/ th 1 2" />
-
-
- <gd name="rw1" fmla="+- wd2 th2 thh" />
-
- <gd name="rh1" fmla="+- hd2 th2 thh" />
-
- <gd name="rw2" fmla="+- rw1 0 th" />
-
- <gd name="rh2" fmla="+- rh1 0 th" />
-
- <gd name="rw3" fmla="+- rw2 th2 0" />
-
- <gd name="rh3" fmla="+- rh2 th2 0" />
-
-
- <gd name="wtH" fmla="sin rw3 enAng" />
- <gd name="htH" fmla="cos rh3 enAng" />
- <gd name="dxH" fmla="cat2 rw3 htH wtH" />
- <gd name="dyH" fmla="sat2 rh3 htH wtH" />
- <gd name="xH" fmla="+- hc dxH 0" />
-
- <gd name="yH" fmla="+- vc dyH 0" />
-
-
- <gd name="rI" fmla="min rw2 rh2" />
-
- <gd name="u1" fmla="*/ dxH dxH 1" />
- <gd name="u2" fmla="*/ dyH dyH 1" />
- <gd name="u3" fmla="*/ rI rI 1" />
- <gd name="u4" fmla="+- u1 0 u3" />
- <gd name="u5" fmla="+- u2 0 u3" />
- <gd name="u6" fmla="*/ u4 u5 u1" />
- <gd name="u7" fmla="*/ u6 1 u2" />
- <gd name="u8" fmla="+- 1 0 u7" />
- <gd name="u9" fmla="sqrt u8" />
- <gd name="u10" fmla="*/ u4 1 dxH" />
- <gd name="u11" fmla="*/ u10 1 dyH" />
- <gd name="u12" fmla="+/ 1 u9 u11" />
- <gd name="u13" fmla="at2 1 u12" />
- <gd name="u14" fmla="+- u13 21600000 0" />
- <gd name="u15" fmla="?: u13 u13 u14" />
- <gd name="u16" fmla="+- u15 0 enAng" />
-
- <gd name="u17" fmla="+- u16 21600000 0" />
- <gd name="u18" fmla="?: u16 u16 u17" />
- <gd name="u19" fmla="+- u18 0 cd2" />
- <gd name="u20" fmla="+- u18 0 21600000" />
- <gd name="u21" fmla="?: u19 u20 u18" />
- <gd name="maxAng" fmla="abs u21" />
- <gd name="aAng" fmla="pin 0 adj2 maxAng" />
-
- <gd name="ptAng" fmla="+- enAng aAng 0" />
-
-
- <gd name="wtA" fmla="sin rw3 ptAng" />
- <gd name="htA" fmla="cos rh3 ptAng" />
- <gd name="dxA" fmla="cat2 rw3 htA wtA" />
- <gd name="dyA" fmla="sat2 rh3 htA wtA" />
- <gd name="xA" fmla="+- hc dxA 0" />
-
- <gd name="yA" fmla="+- vc dyA 0" />
-
-
- <gd name="wtE" fmla="sin rw1 stAng" />
- <gd name="htE" fmla="cos rh1 stAng" />
- <gd name="dxE" fmla="cat2 rw1 htE wtE" />
- <gd name="dyE" fmla="sat2 rh1 htE wtE" />
- <gd name="xE" fmla="+- hc dxE 0" />
-
- <gd name="yE" fmla="+- vc dyE 0" />
-
-
- <gd name="dxG" fmla="cos thh ptAng" />
- <gd name="dyG" fmla="sin thh ptAng" />
- <gd name="xG" fmla="+- xH dxG 0" />
-
- <gd name="yG" fmla="+- yH dyG 0" />
-
-
- <gd name="dxB" fmla="cos thh ptAng" />
- <gd name="dyB" fmla="sin thh ptAng" />
- <gd name="xB" fmla="+- xH 0 dxB 0" />
-
- <gd name="yB" fmla="+- yH 0 dyB 0" />
-
-
- <gd name="sx1" fmla="+- xB 0 hc" />
-
- <gd name="sy1" fmla="+- yB 0 vc" />
-
- <gd name="sx2" fmla="+- xG 0 hc" />
-
- <gd name="sy2" fmla="+- yG 0 vc" />
-
-
- <gd name="rO" fmla="min rw1 rh1" />
-
- <gd name="x1O" fmla="*/ sx1 rO rw1" />
-
- <gd name="y1O" fmla="*/ sy1 rO rh1" />
-
- <gd name="x2O" fmla="*/ sx2 rO rw1" />
-
- <gd name="y2O" fmla="*/ sy2 rO rh1" />
-
-
- <gd name="dxO" fmla="+- x2O 0 x1O" />
- <gd name="dyO" fmla="+- y2O 0 y1O" />
- <gd name="dO" fmla="mod dxO dyO 0" />
-
- <gd name="q1" fmla="*/ x1O y2O 1" />
- <gd name="q2" fmla="*/ x2O y1O 1" />
- <gd name="DO" fmla="+- q1 0 q2" />
-
-
- <gd name="q3" fmla="*/ rO rO 1" />
-
- <gd name="q4" fmla="*/ dO dO 1" />
-
- <gd name="q5" fmla="*/ q3 q4 1" />
-
- <gd name="q6" fmla="*/ DO DO 1" />
-
- <gd name="q7" fmla="+- q5 0 q6" />
-
- <gd name="q8" fmla="max q7 0" />
-
- <gd name="sdelO" fmla="sqrt q8" />
-
- <gd name="ndyO" fmla="*/ dyO -1 1" />
- <gd name="sdyO" fmla="?: ndyO -1 1" />
-
- <gd name="q9" fmla="*/ sdyO dxO 1" />
-
- <gd name="q10" fmla="*/ q9 sdelO 1" />
-
- <gd name="q11" fmla="*/ DO dyO 1" />
-
- <gd name="dxF1" fmla="+/ q11 q10 q4" />
-
- <gd name="q12" fmla="+- q11 0 q10" />
- <gd name="dxF2" fmla="*/ q12 1 q4" />
-
-
- <gd name="adyO" fmla="abs dyO" />
- <gd name="q13" fmla="*/ adyO sdelO 1" />
-
- <gd name="q14" fmla="*/ DO dxO -1" />
-
- <gd name="dyF1" fmla="+/ q14 q13 q4" />
-
- <gd name="q15" fmla="+- q14 0 q13" />
- <gd name="dyF2" fmla="*/ q15 1 q4" />
-
-
-
- <gd name="q16" fmla="+- x2O 0 dxF1" />
- <gd name="q17" fmla="+- x2O 0 dxF2" />
- <gd name="q18" fmla="+- y2O 0 dyF1" />
- <gd name="q19" fmla="+- y2O 0 dyF2" />
- <gd name="q20" fmla="mod q16 q18 0" />
-
- <gd name="q21" fmla="mod q17 q19 0" />
-
- <gd name="q22" fmla="+- q21 0 q20" />
- <gd name="dxF" fmla="?: q22 dxF1 dxF2" />
-
- <gd name="dyF" fmla="?: q22 dyF1 dyF2" />
-
- <gd name="sdxF" fmla="*/ dxF rw1 rO" />
-
- <gd name="sdyF" fmla="*/ dyF rh1 rO" />
-
- <gd name="xF" fmla="+- hc sdxF 0" />
-
- <gd name="yF" fmla="+- vc sdyF 0" />
-
-
-
-
- <gd name="x1I" fmla="*/ sx1 rI rw2" />
-
- <gd name="y1I" fmla="*/ sy1 rI rh2" />
-
- <gd name="x2I" fmla="*/ sx2 rI rw2" />
-
- <gd name="y2I" fmla="*/ sy2 rI rh2" />
-
-
- <gd name="dxI" fmla="+- x2I 0 x1I" />
- <gd name="dyI" fmla="+- y2I 0 y1I" />
- <gd name="dI" fmla="mod dxI dyI 0" />
- <gd name="v1" fmla="*/ x1I y2I 1" />
- <gd name="v2" fmla="*/ x2I y1I 1" />
- <gd name="DI" fmla="+- v1 0 v2" />
-
- <gd name="v3" fmla="*/ rI rI 1" />
- <gd name="v4" fmla="*/ dI dI 1" />
- <gd name="v5" fmla="*/ v3 v4 1" />
- <gd name="v6" fmla="*/ DI DI 1" />
- <gd name="v7" fmla="+- v5 0 v6" />
- <gd name="v8" fmla="max v7 0" />
- <gd name="sdelI" fmla="sqrt v8" />
- <gd name="v9" fmla="*/ sdyO dxI 1" />
- <gd name="v10" fmla="*/ v9 sdelI 1" />
- <gd name="v11" fmla="*/ DI dyI 1" />
- <gd name="dxC1" fmla="+/ v11 v10 v4" />
- <gd name="v12" fmla="+- v11 0 v10" />
- <gd name="dxC2" fmla="*/ v12 1 v4" />
-
- <gd name="adyI" fmla="abs dyI" />
- <gd name="v13" fmla="*/ adyI sdelI 1" />
- <gd name="v14" fmla="*/ DI dxI -1" />
- <gd name="dyC1" fmla="+/ v14 v13 v4" />
- <gd name="v15" fmla="+- v14 0 v13" />
- <gd name="dyC2" fmla="*/ v15 1 v4" />
-
- <gd name="v16" fmla="+- x1I 0 dxC1" />
- <gd name="v17" fmla="+- x1I 0 dxC2" />
- <gd name="v18" fmla="+- y1I 0 dyC1" />
- <gd name="v19" fmla="+- y1I 0 dyC2" />
- <gd name="v20" fmla="mod v16 v18 0" />
- <gd name="v21" fmla="mod v17 v19 0" />
- <gd name="v22" fmla="+- v21 0 v20" />
- <gd name="dxC" fmla="?: v22 dxC1 dxC2" />
- <gd name="dyC" fmla="?: v22 dyC1 dyC2" />
- <gd name="sdxC" fmla="*/ dxC rw2 rI" />
- <gd name="sdyC" fmla="*/ dyC rh2 rI" />
- <gd name="xC" fmla="+- hc sdxC 0" />
-
- <gd name="yC" fmla="+- vc sdyC 0" />
-
-
- <gd name="ist0" fmla="at2 sdxC sdyC" />
- <gd name="ist1" fmla="+- ist0 21600000 0" />
- <gd name="istAng" fmla="?: ist0 ist0 ist1" />
- <gd name="isw1" fmla="+- stAng 0 istAng" />
- <gd name="isw2" fmla="+- isw1 0 21600000" />
- <gd name="iswAng" fmla="?: isw1 isw2 isw1" />
-
-
- <gd name="p1" fmla="+- xF 0 xC" />
- <gd name="p2" fmla="+- yF 0 yC" />
- <gd name="p3" fmla="mod p1 p2 0" />
- <gd name="p4" fmla="*/ p3 1 2" />
- <gd name="p5" fmla="+- p4 0 thh" />
- <gd name="xGp" fmla="?: p5 xF xG" />
- <gd name="yGp" fmla="?: p5 yF yG" />
- <gd name="xBp" fmla="?: p5 xC xB" />
- <gd name="yBp" fmla="?: p5 yC yB" />
-
- <gd name="en0" fmla="at2 sdxF sdyF" />
- <gd name="en1" fmla="+- en0 21600000 0" />
- <gd name="en2" fmla="?: en0 en0 en1" />
- <gd name="sw0" fmla="+- en2 0 stAng" />
- <gd name="sw1" fmla="+- sw0 21600000 0" />
- <gd name="swAng" fmla="?: sw0 sw0 sw1" />
-
- <gd name="wtI" fmla="sin rw3 stAng" />
- <gd name="htI" fmla="cos rh3 stAng" />
- <gd name="dxI" fmla="cat2 rw3 htI wtI" />
- <gd name="dyI" fmla="sat2 rh3 htI wtI" />
- <gd name="xI" fmla="+- hc dxI 0" />
-
- <gd name="yI" fmla="+- vc dyI 0" />
-
-
- <gd name="aI" fmla="+- stAng 0 cd4" />
- <gd name="aA" fmla="+- ptAng cd4 0" />
- <gd name="aB" fmla="+- ptAng cd2 0" />
-
- <gd name="idx" fmla="cos rw1 2700000" />
- <gd name="idy" fmla="sin rh1 2700000" />
- <gd name="il" fmla="+- hc 0 idx" />
- <gd name="ir" fmla="+- hc idx 0" />
- <gd name="it" fmla="+- vc 0 idy" />
- <gd name="ib" fmla="+- vc idy 0" />
- </gdLst>
-
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <ahPolar gdRefAng="adj2" minAng="0" maxAng="maxAng">
- <pos x="xA" y="yA" />
- </ahPolar>
- <ahPolar gdRefAng="adj4" minAng="0" maxAng="21599999">
- <pos x="xE" y="yE" />
- </ahPolar>
- <ahPolar gdRefR="adj1" minR="0" maxR="maxAdj1" gdRefAng="adj3" minAng="0" maxAng="21599999">
- <pos x="xF" y="yF" />
- </ahPolar>
- <ahPolar gdRefR="adj5" minR="0" maxR="25000">
- <pos x="xB" y="yB" />
- </ahPolar>
- </ahLst>
-
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <cxn ang="aI">
- <pos x="xI" y="yI" />
- </cxn>
- <cxn ang="ptAng">
- <pos x="xGp" y="yGp" />
- </cxn>
- <cxn ang="aA">
- <pos x="xA" y="yA" />
- </cxn>
- <cxn ang="aB">
- <pos x="xBp" y="yBp" />
- </cxn>
- </cxnLst>
-
- <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
-
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <path>
- <moveTo>
- <pt x="xE" y="yE" />
- </moveTo>
- <arcTo wR="rw1" hR="rh1" stAng="stAng" swAng="swAng" />
- <lnTo>
- <pt x="xGp" y="yGp" />
- </lnTo>
- <lnTo>
- <pt x="xA" y="yA" />
- </lnTo>
- <lnTo>
- <pt x="xBp" y="yBp" />
- </lnTo>
- <lnTo>
- <pt x="xC" y="yC" />
- </lnTo>
- <arcTo wR="rw2" hR="rh2" stAng="istAng" swAng="iswAng" />
- <close />
- </path>
- </pathLst>
-
- </circularArrow>
- <cloud>
-
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="il" fmla="*/ w 2977 21600" />
- <gd name="it" fmla="*/ h 3262 21600" />
- <gd name="ir" fmla="*/ w 17087 21600" />
- <gd name="ib" fmla="*/ h 17337 21600" />
- <gd name="g27" fmla="*/ w 67 21600" />
- <gd name="g28" fmla="*/ h 21577 21600" />
- <gd name="g29" fmla="*/ w 21582 21600" />
- <gd name="g30" fmla="*/ h 1235 21600" />
- </gdLst>
-
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <cxn ang="0">
- <pos x="g29" y="vc" />
- </cxn>
- <cxn ang="cd4">
- <pos x="hc" y="g28" />
- </cxn>
- <cxn ang="cd2">
- <pos x="g27" y="vc" />
- </cxn>
- <cxn ang="3cd4">
- <pos x="hc" y="g30" />
- </cxn>
- </cxnLst>
-
- <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
-
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <path w="43200" h="43200">
- <moveTo>
- <pt x="3900" y="14370" />
- </moveTo>
- <arcTo wR="6753" hR="9190" stAng="-11429249" swAng="7426832" />
- <arcTo wR="5333" hR="7267" stAng="-8646143" swAng="5396714" />
- <arcTo wR="4365" hR="5945" stAng="-8748475" swAng="5983381" />
- <arcTo wR="4857" hR="6595" stAng="-7859164" swAng="7034504" />
- <arcTo wR="5333" hR="7273" stAng="-4722533" swAng="6541615" />
- <arcTo wR="6775" hR="9220" stAng="-2776035" swAng="7816140" />
- <arcTo wR="5785" hR="7867" stAng="37501" swAng="6842000" />
- <arcTo wR="6752" hR="9215" stAng="1347096" swAng="6910353" />
- <arcTo wR="7720" hR="10543" stAng="3974558" swAng="4542661" />
- <arcTo wR="4360" hR="5918" stAng="-16496525" swAng="8804134" />
- <arcTo wR="4345" hR="5945" stAng="-14809710" swAng="9151131" />
- <close />
- </path>
- <path w="43200" h="43200" fill="none" extrusionOk="false">
- <moveTo>
- <pt x="4693" y="26177" />
- </moveTo>
- <arcTo wR="4345" hR="5945" stAng="5204520" swAng="1585770" />
- <moveTo>
- <pt x="6928" y="34899" />
- </moveTo>
- <arcTo wR="4360" hR="5918" stAng="4416628" swAng="686848" />
- <moveTo>
- <pt x="16478" y="39090" />
- </moveTo>
- <arcTo wR="6752" hR="9215" stAng="8257449" swAng="844866" />
- <moveTo>
- <pt x="28827" y="34751" />
- </moveTo>
- <arcTo wR="6752" hR="9215" stAng="387196" swAng="959901" />
- <moveTo>
- <pt x="34129" y="22954" />
- </moveTo>
- <arcTo wR="5785" hR="7867" stAng="-4217541" swAng="4255042" />
- <moveTo>
- <pt x="41798" y="15354" />
- </moveTo>
- <arcTo wR="5333" hR="7273" stAng="1819082" swAng="1665090" />
- <moveTo>
- <pt x="38324" y="5426" />
- </moveTo>
- <arcTo wR="4857" hR="6595" stAng="-824660" swAng="891534" />
- <moveTo>
- <pt x="29078" y="3952" />
- </moveTo>
- <arcTo wR="4857" hR="6595" stAng="-8950887" swAng="1091722" />
- <moveTo>
- <pt x="22141" y="4720" />
- </moveTo>
- <arcTo wR="4365" hR="5945" stAng="-9809656" swAng="1061181" />
- <moveTo>
- <pt x="14000" y="5192" />
- </moveTo>
- <arcTo wR="6753" hR="9190" stAng="-4002417" swAng="739161" />
- <moveTo>
- <pt x="4127" y="15789" />
- </moveTo>
- <arcTo wR="6753" hR="9190" stAng="9459261" swAng="711490" />
- </path>
- </pathLst>
-
- </cloud>
- <cloudCallout>
-
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="adj1" fmla="val -20833" />
-
- <gd name="adj2" fmla="val 62500" />
-
- </avLst>
-
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="dxPos" fmla="*/ w adj1 100000" />
- <gd name="dyPos" fmla="*/ h adj2 100000" />
- <gd name="xPos" fmla="+- hc dxPos 0" />
- <gd name="yPos" fmla="+- vc dyPos 0" />
- <gd name="ht" fmla="cat2 hd2 dxPos dyPos" />
- <gd name="wt" fmla="sat2 wd2 dxPos dyPos" />
- <gd name="g2" fmla="cat2 wd2 ht wt" />
- <gd name="g3" fmla="sat2 hd2 ht wt" />
- <gd name="g4" fmla="+- hc g2 0" />
-
- <gd name="g5" fmla="+- vc g3 0" />
-
- <gd name="g6" fmla="+- g4 0 xPos" />
-
- <gd name="g7" fmla="+- g5 0 yPos" />
-
- <gd name="g8" fmla="mod g6 g7 0" />
-
- <gd name="g9" fmla="*/ ss 6600 21600" />
-
- <gd name="g10" fmla="+- g8 0 g9" />
-
- <gd name="g11" fmla="*/ g10 1 3" />
-
- <gd name="g12" fmla="*/ ss 1800 21600" />
-
- <gd name="g13" fmla="+- g11 g12 0" />
-
- <gd name="g14" fmla="*/ g13 g6 g8" />
-
- <gd name="g15" fmla="*/ g13 g7 g8" />
-
- <gd name="g16" fmla="+- g14 xPos 0" />
-
- <gd name="g17" fmla="+- g15 yPos 0" />
-
- <gd name="g18" fmla="*/ ss 4800 21600" />
-
- <gd name="g19" fmla="*/ g11 2 1" />
-
- <gd name="g20" fmla="+- g18 g19 0" />
-
- <gd name="g21" fmla="*/ g20 g6 g8" />
- <gd name="g22" fmla="*/ g20 g7 g8" />
- <gd name="g23" fmla="+- g21 xPos 0" />
- <gd name="g24" fmla="+- g22 yPos 0" />
- <gd name="g25" fmla="*/ ss 1200 21600" />
- <gd name="g26" fmla="*/ ss 600 21600" />
-
- <gd name="x23" fmla="+- xPos g26 0" />
- <gd name="x24" fmla="+- g16 g25 0" />
- <gd name="x25" fmla="+- g23 g12 0" />
- <gd name="il" fmla="*/ w 2977 21600" />
- <gd name="it" fmla="*/ h 3262 21600" />
- <gd name="ir" fmla="*/ w 17087 21600" />
- <gd name="ib" fmla="*/ h 17337 21600" />
-
- <gd name="g27" fmla="*/ w 67 21600" />
- <gd name="g28" fmla="*/ h 21577 21600" />
- <gd name="g29" fmla="*/ w 21582 21600" />
- <gd name="g30" fmla="*/ h 1235 21600" />
- <gd name="pang" fmla="at2 dxPos dyPos" />
- </gdLst>
-
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <ahXY gdRefX="adj1" minX="-2147483647" maxX="2147483647" gdRefY="adj2" minY="-2147483647" maxY="2147483647">
- <pos x="xPos" y="yPos" />
- </ahXY>
- </ahLst>
-
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <cxn ang="cd2">
- <pos x="g27" y="vc" />
- </cxn>
- <cxn ang="cd4">
- <pos x="hc" y="g28" />
- </cxn>
- <cxn ang="0">
- <pos x="g29" y="vc" />
- </cxn>
- <cxn ang="3cd4">
- <pos x="hc" y="g30" />
- </cxn>
- <cxn ang="pang">
- <pos x="xPos" y="yPos" />
- </cxn>
- </cxnLst>
-
- <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
-
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <path w="43200" h="43200">
- <moveTo>
- <pt x="3900" y="14370" />
- </moveTo>
- <arcTo wR="6753" hR="9190" stAng="-11429249" swAng="7426832" />
- <arcTo wR="5333" hR="7267" stAng="-8646143" swAng="5396714" />
- <arcTo wR="4365" hR="5945" stAng="-8748475" swAng="5983381" />
- <arcTo wR="4857" hR="6595" stAng="-7859164" swAng="7034504" />
- <arcTo wR="5333" hR="7273" stAng="-4722533" swAng="6541615" />
- <arcTo wR="6775" hR="9220" stAng="-2776035" swAng="7816140" />
- <arcTo wR="5785" hR="7867" stAng="37501" swAng="6842000" />
- <arcTo wR="6752" hR="9215" stAng="1347096" swAng="6910353" />
- <arcTo wR="7720" hR="10543" stAng="3974558" swAng="4542661" />
- <arcTo wR="4360" hR="5918" stAng="-16496525" swAng="8804134" />
- <arcTo wR="4345" hR="5945" stAng="-14809710" swAng="9151131" />
- <close />
- </path>
- <path>
- <moveTo>
- <pt x="x23" y="yPos" />
- </moveTo>
- <arcTo wR="g26" hR="g26" stAng="0" swAng="21600000" />
- <close />
- </path>
- <path>
- <moveTo>
- <pt x="x24" y="g17" />
- </moveTo>
- <arcTo wR="g25" hR="g25" stAng="0" swAng="21600000" />
- <close />
- </path>
- <path>
- <moveTo>
- <pt x="x25" y="g24" />
- </moveTo>
- <arcTo wR="g12" hR="g12" stAng="0" swAng="21600000" />
- <close />
- </path>
- <path w="43200" h="43200" fill="none" extrusionOk="false">
- <moveTo>
- <pt x="4693" y="26177" />
- </moveTo>
- <arcTo wR="4345" hR="5945" stAng="5204520" swAng="1585770" />
- <moveTo>
- <pt x="6928" y="34899" />
- </moveTo>
- <arcTo wR="4360" hR="5918" stAng="4416628" swAng="686848" />
- <moveTo>
- <pt x="16478" y="39090" />
- </moveTo>
- <arcTo wR="6752" hR="9215" stAng="8257449" swAng="844866" />
- <moveTo>
- <pt x="28827" y="34751" />
- </moveTo>
- <arcTo wR="6752" hR="9215" stAng="387196" swAng="959901" />
- <moveTo>
- <pt x="34129" y="22954" />
- </moveTo>
- <arcTo wR="5785" hR="7867" stAng="-4217541" swAng="4255042" />
- <moveTo>
- <pt x="41798" y="15354" />
- </moveTo>
- <arcTo wR="5333" hR="7273" stAng="1819082" swAng="1665090" />
- <moveTo>
- <pt x="38324" y="5426" />
- </moveTo>
- <arcTo wR="4857" hR="6595" stAng="-824660" swAng="891534" />
- <moveTo>
- <pt x="29078" y="3952" />
- </moveTo>
- <arcTo wR="4857" hR="6595" stAng="-8950887" swAng="1091722" />
- <moveTo>
- <pt x="22141" y="4720" />
- </moveTo>
- <arcTo wR="4365" hR="5945" stAng="-9809656" swAng="1061181" />
- <moveTo>
- <pt x="14000" y="5192" />
- </moveTo>
- <arcTo wR="6753" hR="9190" stAng="-4002417" swAng="739161" />
- <moveTo>
- <pt x="4127" y="15789" />
- </moveTo>
- <arcTo wR="6753" hR="9190" stAng="9459261" swAng="711490" />
- </path>
- </pathLst>
-
- </cloudCallout>
- <corner>
-
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="adj1" fmla="val 50000" />
-
- <gd name="adj2" fmla="val 50000" />
-
- </avLst>
-
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="maxAdj1" fmla="*/ 100000 h ss" />
- <gd name="maxAdj2" fmla="*/ 100000 w ss" />
- <gd name="a1" fmla="pin 0 adj1 maxAdj1" />
- <gd name="a2" fmla="pin 0 adj2 maxAdj2" />
- <gd name="x1" fmla="*/ ss a2 100000" />
- <gd name="dy1" fmla="*/ ss a1 100000" />
- <gd name="y1" fmla="+- b 0 dy1" />
- <gd name="cx1" fmla="*/ x1 1 2" />
- <gd name="cy1" fmla="+/ y1 b 2" />
- <gd name="d" fmla="+- w 0 h" />
- <gd name="it" fmla="?: d y1 t" />
- <gd name="ir" fmla="?: d r x1" />
- </gdLst>
-
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <ahXY gdRefY="adj1" minY="0" maxY="maxAdj1">
- <pos x="l" y="y1" />
- </ahXY>
- <ahXY gdRefX="adj2" minX="0" maxX="maxAdj2">
- <pos x="x1" y="t" />
- </ahXY>
- </ahLst>
-
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <cxn ang="0">
- <pos x="r" y="cy1" />
- </cxn>
- <cxn ang="cd4">
- <pos x="hc" y="b" />
- </cxn>
- <cxn ang="cd2">
- <pos x="l" y="vc" />
- </cxn>
- <cxn ang="3cd4">
- <pos x="cx1" y="t" />
- </cxn>
- </cxnLst>
-
- <rect l="l" t="it" r="ir" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
-
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <path>
- <moveTo>
- <pt x="l" y="t" />
- </moveTo>
- <lnTo>
- <pt x="x1" y="t" />
- </lnTo>
- <lnTo>
- <pt x="x1" y="y1" />
- </lnTo>
- <lnTo>
- <pt x="r" y="y1" />
- </lnTo>
- <lnTo>
- <pt x="r" y="b" />
- </lnTo>
- <lnTo>
- <pt x="l" y="b" />
- </lnTo>
- <close />
- </path>
- </pathLst>
-
- </corner>
- <cornerTabs>
-
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="md" fmla="mod w h 0" />
- <gd name="dx" fmla="*/ 1 md 20" />
-
- <gd name="y1" fmla="+- 0 b dx" />
-
- <gd name="x1" fmla="+- 0 r dx" />
-
- </gdLst>
-
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <cxn ang="cd2">
- <pos x="l" y="t" />
- </cxn>
- <cxn ang="cd2">
- <pos x="l" y="dx" />
- </cxn>
- <cxn ang="cd2">
- <pos x="l" y="y1" />
- </cxn>
- <cxn ang="cd2">
- <pos x="l" y="b" />
- </cxn>
- <cxn ang="3cd4">
- <pos x="dx" y="t" />
- </cxn>
- <cxn ang="3cd4">
- <pos x="x1" y="t" />
- </cxn>
- <cxn ang="cd4">
- <pos x="dx" y="b" />
- </cxn>
- <cxn ang="cd4">
- <pos x="x1" y="b" />
- </cxn>
- <cxn ang="0">
- <pos x="r" y="t" />
- </cxn>
- <cxn ang="0">
- <pos x="r" y="dx" />
- </cxn>
- <cxn ang="0">
- <pos x="r" y="y1" />
- </cxn>
- <cxn ang="0">
- <pos x="r" y="b" />
- </cxn>
- </cxnLst>
-
- <rect l="dx" t="dx" r="x1" b="y1" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
-
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <path>
- <moveTo>
- <pt x="l" y="t" />
- </moveTo>
- <lnTo>
- <pt x="dx" y="t" />
- </lnTo>
- <lnTo>
- <pt x="l" y="dx" />
- </lnTo>
- <close />
- </path>
- <path>
- <moveTo>
- <pt x="l" y="y1" />
- </moveTo>
- <lnTo>
- <pt x="dx" y="b" />
- </lnTo>
- <lnTo>
- <pt x="l" y="b" />
- </lnTo>
- <close />
- </path>
- <path>
- <moveTo>
- <pt x="x1" y="t" />
- </moveTo>
- <lnTo>
- <pt x="r" y="t" />
- </lnTo>
- <lnTo>
- <pt x="r" y="dx" />
- </lnTo>
- <close />
- </path>
- <path>
- <moveTo>
- <pt x="r" y="y1" />
- </moveTo>
- <lnTo>
- <pt x="r" y="b" />
- </lnTo>
- <lnTo>
- <pt x="x1" y="b" />
- </lnTo>
- <close />
- </path>
- </pathLst>
-
- </cornerTabs>
- <cube>
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="adj" fmla="val 25000" />
- </avLst>
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="a" fmla="pin 0 adj 100000" />
- <gd name="y1" fmla="*/ ss a 100000" />
- <gd name="y4" fmla="+- b 0 y1" />
- <gd name="y2" fmla="*/ y4 1 2" />
- <gd name="y3" fmla="+/ y1 b 2" />
- <gd name="x4" fmla="+- r 0 y1" />
- <gd name="x2" fmla="*/ x4 1 2" />
- <gd name="x3" fmla="+/ y1 r 2" />
- </gdLst>
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <ahXY gdRefY="adj" minY="0" maxY="100000">
- <pos x="l" y="y1" />
- </ahXY>
- </ahLst>
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <cxn ang="3cd4">
- <pos x="x3" y="t" />
- </cxn>
- <cxn ang="3cd4">
- <pos x="x2" y="y1" />
- </cxn>
- <cxn ang="cd2">
- <pos x="l" y="y3" />
- </cxn>
- <cxn ang="cd4">
- <pos x="x2" y="b" />
- </cxn>
- <cxn ang="0">
- <pos x="x4" y="y3" />
- </cxn>
- <cxn ang="0">
- <pos x="r" y="y2" />
- </cxn>
- </cxnLst>
- <rect l="l" t="y1" r="x4" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <path stroke="false" extrusionOk="false">
- <moveTo>
- <pt x="l" y="y1" />
- </moveTo>
- <lnTo>
- <pt x="x4" y="y1" />
- </lnTo>
- <lnTo>
- <pt x="x4" y="b" />
- </lnTo>
- <lnTo>
- <pt x="l" y="b" />
- </lnTo>
- <close />
- </path>
- <path stroke="false" fill="darkenLess" extrusionOk="false">
- <moveTo>
- <pt x="x4" y="y1" />
- </moveTo>
- <lnTo>
- <pt x="r" y="t" />
- </lnTo>
- <lnTo>
- <pt x="r" y="y4" />
- </lnTo>
- <lnTo>
- <pt x="x4" y="b" />
- </lnTo>
- <close />
- </path>
- <path stroke="false" fill="lightenLess" extrusionOk="false">
- <moveTo>
- <pt x="l" y="y1" />
- </moveTo>
- <lnTo>
- <pt x="y1" y="t" />
- </lnTo>
- <lnTo>
- <pt x="r" y="t" />
- </lnTo>
- <lnTo>
- <pt x="x4" y="y1" />
- </lnTo>
- <close />
- </path>
- <path fill="none" extrusionOk="false">
- <moveTo>
- <pt x="l" y="y1" />
- </moveTo>
- <lnTo>
- <pt x="y1" y="t" />
- </lnTo>
- <lnTo>
- <pt x="r" y="t" />
- </lnTo>
- <lnTo>
- <pt x="r" y="y4" />
- </lnTo>
- <lnTo>
- <pt x="x4" y="b" />
- </lnTo>
- <lnTo>
- <pt x="l" y="b" />
- </lnTo>
- <close />
- <moveTo>
- <pt x="l" y="y1" />
- </moveTo>
- <lnTo>
- <pt x="x4" y="y1" />
- </lnTo>
- <lnTo>
- <pt x="r" y="t" />
- </lnTo>
- <moveTo>
- <pt x="x4" y="y1" />
- </moveTo>
- <lnTo>
- <pt x="x4" y="b" />
- </lnTo>
- </path>
- </pathLst>
- </cube>
- <curvedConnector2>
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <path fill="none">
- <moveTo>
- <pt x="l" y="t" />
- </moveTo>
- <cubicBezTo>
- <pt x="wd2" y="t" />
- <pt x="r" y="hd2" />
- <pt x="r" y="b" />
- </cubicBezTo>
- </path>
- </pathLst>
- </curvedConnector2>
- <curvedConnector3>
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="adj1" fmla="val 50000" />
- </avLst>
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="x2" fmla="*/ w adj1 100000" />
- <gd name="x1" fmla="+/ l x2 2" />
- <gd name="x3" fmla="+/ r x2 2" />
- <gd name="y3" fmla="*/ h 3 4" />
- </gdLst>
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <ahXY gdRefX="adj1" minX="-2147483647" maxX="2147483647">
- <pos x="x2" y="vc" />
- </ahXY>
- </ahLst>
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <path fill="none">
- <moveTo>
- <pt x="l" y="t" />
- </moveTo>
- <cubicBezTo>
- <pt x="x1" y="t" />
- <pt x="x2" y="hd4" />
- <pt x="x2" y="vc" />
- </cubicBezTo>
- <cubicBezTo>
- <pt x="x2" y="y3" />
- <pt x="x3" y="b" />
- <pt x="r" y="b" />
- </cubicBezTo>
- </path>
- </pathLst>
- </curvedConnector3>
- <curvedConnector4>
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="adj1" fmla="val 50000" />
- <gd name="adj2" fmla="val 50000" />
- </avLst>
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="x2" fmla="*/ w adj1 100000" />
- <gd name="x1" fmla="+/ l x2 2" />
- <gd name="x3" fmla="+/ r x2 2" />
- <gd name="x4" fmla="+/ x2 x3 2" />
- <gd name="x5" fmla="+/ x3 r 2" />
- <gd name="y4" fmla="*/ h adj2 100000" />
- <gd name="y1" fmla="+/ t y4 2" />
- <gd name="y2" fmla="+/ t y1 2" />
- <gd name="y3" fmla="+/ y1 y4 2" />
- <gd name="y5" fmla="+/ b y4 2" />
- </gdLst>
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <ahXY gdRefX="adj1" minX="-2147483647" maxX="2147483647">
- <pos x="x2" y="y1" />
- </ahXY>
- <ahXY gdRefY="adj2" minY="-2147483647" maxY="2147483647">
- <pos x="x3" y="y4" />
- </ahXY>
- </ahLst>
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <path fill="none">
- <moveTo>
- <pt x="l" y="t" />
- </moveTo>
- <cubicBezTo>
- <pt x="x1" y="t" />
- <pt x="x2" y="y2" />
- <pt x="x2" y="y1" />
- </cubicBezTo>
- <cubicBezTo>
- <pt x="x2" y="y3" />
- <pt x="x4" y="y4" />
- <pt x="x3" y="y4" />
- </cubicBezTo>
- <cubicBezTo>
- <pt x="x5" y="y4" />
- <pt x="r" y="y5" />
- <pt x="r" y="b" />
- </cubicBezTo>
- </path>
- </pathLst>
- </curvedConnector4>
- <curvedConnector5>
-
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="adj1" fmla="val 50000" />
-
- <gd name="adj2" fmla="val 50000" />
-
- <gd name="adj3" fmla="val 50000" />
-
- </avLst>
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="x3" fmla="*/ w adj1 100000" />
- <gd name="x6" fmla="*/ w adj3 100000" />
- <gd name="x1" fmla="+/ x3 x6 2" />
- <gd name="x2" fmla="+/ l x3 2" />
- <gd name="x4" fmla="+/ x3 x1 2" />
- <gd name="x5" fmla="+/ x6 x1 2" />
- <gd name="x7" fmla="+/ x6 r 2" />
- <gd name="y4" fmla="*/ h adj2 100000" />
- <gd name="y1" fmla="+/ t y4 2" />
- <gd name="y2" fmla="+/ t y1 2" />
- <gd name="y3" fmla="+/ y1 y4 2" />
- <gd name="y5" fmla="+/ b y4 2" />
- <gd name="y6" fmla="+/ y5 y4 2" />
- <gd name="y7" fmla="+/ y5 b 2" />
- </gdLst>
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <ahXY gdRefX="adj1" minX="-2147483647" maxX="2147483647">
- <pos x="x3" y="y1" />
- </ahXY>
- <ahXY gdRefY="adj2" minY="-2147483647" maxY="2147483647">
- <pos x="x1" y="y4" />
- </ahXY>
- <ahXY gdRefX="adj3" minX="-2147483647" maxX="2147483647">
- <pos x="x6" y="y5" />
- </ahXY>
- </ahLst>
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <path fill="none">
- <moveTo>
- <pt x="l" y="t" />
- </moveTo>
- <cubicBezTo>
- <pt x="x2" y="t" />
- <pt x="x3" y="y2" />
- <pt x="x3" y="y1" />
- </cubicBezTo>
- <cubicBezTo>
- <pt x="x3" y="y3" />
- <pt x="x4" y="y4" />
- <pt x="x1" y="y4" />
- </cubicBezTo>
- <cubicBezTo>
- <pt x="x5" y="y4" />
- <pt x="x6" y="y6" />
- <pt x="x6" y="y5" />
- </cubicBezTo>
- <cubicBezTo>
- <pt x="x6" y="y7" />
- <pt x="x7" y="b" />
- <pt x="r" y="b" />
- </cubicBezTo>
- </path>
- </pathLst>
-
- </curvedConnector5>
- <curvedDownArrow>
-
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="adj1" fmla="val 25000" />
-
- <gd name="adj2" fmla="val 50000" />
-
- <gd name="adj3" fmla="val 25000" />
-
- </avLst>
-
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="maxAdj2" fmla="*/ 50000 w ss" />
-
- <gd name="a2" fmla="pin 0 adj2 maxAdj2" />
- <gd name="a1" fmla="pin 0 adj1 100000" />
- <gd name="th" fmla="*/ ss a1 100000" />
-
- <gd name="aw" fmla="*/ ss a2 100000" />
-
- <gd name="q1" fmla="+/ th aw 4" />
-
- <gd name="wR" fmla="+- wd2 0 q1" />
-
- <gd name="q7" fmla="*/ wR 2 1" />
-
- <gd name="q8" fmla="*/ q7 q7 1" />
-
- <gd name="q9" fmla="*/ th th 1" />
-
- <gd name="q10" fmla="+- q8 0 q9" />
- <gd name="q11" fmla="sqrt q10" />
- <gd name="idy" fmla="*/ q11 h q7" />
- <gd name="maxAdj3" fmla="*/ 100000 idy ss" />
-
- <gd name="a3" fmla="pin 0 adj3 maxAdj3" />
- <gd name="ah" fmla="*/ ss adj3 100000" />
-
-
-
-
-
- <gd name="x3" fmla="+- wR th 0" />
-
- <gd name="q2" fmla="*/ h h 1" />
- <gd name="q3" fmla="*/ ah ah 1" />
- <gd name="q4" fmla="+- q2 0 q3" />
- <gd name="q5" fmla="sqrt q4" />
- <gd name="dx" fmla="*/ q5 wR h" />
- <gd name="x5" fmla="+- wR dx 0" />
-
- <gd name="x7" fmla="+- x3 dx 0" />
-
- <gd name="q6" fmla="+- aw 0 th" />
- <gd name="dh" fmla="*/ q6 1 2" />
-
- <gd name="x4" fmla="+- x5 0 dh" />
-
- <gd name="x8" fmla="+- x7 dh 0" />
-
- <gd name="aw2" fmla="*/ aw 1 2" />
- <gd name="x6" fmla="+- r 0 aw2" />
-
- <gd name="y1" fmla="+- b 0 ah" />
- <gd name="swAng" fmla="at2 ah dx" />
-
- <gd name="mswAng" fmla="+- 0 0 swAng" />
- <gd name="iy" fmla="+- b 0 idy" />
-
- <gd name="ix" fmla="+/ wR x3 2" />
-
- <gd name="q12" fmla="*/ th 1 2" />
- <gd name="dang2" fmla="at2 idy q12" />
- <gd name="stAng" fmla="+- 3cd4 swAng 0" />
- <gd name="stAng2" fmla="+- 3cd4 0 dang2" />
- <gd name="swAng2" fmla="+- dang2 0 cd4" />
- <gd name="swAng3" fmla="+- cd4 dang2 0" />
- </gdLst>
-
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <ahXY gdRefX="adj1" minX="0" maxX="adj2">
- <pos x="x7" y="y1" />
- </ahXY>
- <ahXY gdRefX="adj2" minX="0" maxX="maxAdj2">
- <pos x="x4" y="b" />
- </ahXY>
- <ahXY gdRefY="adj3" minY="0" maxY="maxAdj3">
- <pos x="r" y="y1" />
- </ahXY>
- </ahLst>
-
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <cxn ang="3cd4">
- <pos x="ix" y="t" />
- </cxn>
- <cxn ang="cd4">
- <pos x="q12" y="b" />
- </cxn>
- <cxn ang="cd4">
- <pos x="x4" y="y1" />
- </cxn>
- <cxn ang="cd4">
- <pos x="x6" y="b" />
- </cxn>
- <cxn ang="0">
- <pos x="x8" y="y1" />
- </cxn>
- </cxnLst>
-
-
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
-
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
-
- <path stroke="false" extrusionOk="false">
- <moveTo>
- <pt x="x6" y="b" />
- </moveTo>
- <lnTo>
- <pt x="x4" y="y1" />
- </lnTo>
- <lnTo>
- <pt x="x5" y="y1" />
- </lnTo>
- <arcTo wR="wR" hR="h" stAng="stAng" swAng="mswAng" />
- <lnTo>
- <pt x="x3" y="t" />
- </lnTo>
- <arcTo wR="wR" hR="h" stAng="3cd4" swAng="swAng" />
- <lnTo>
- <pt x="x8" y="y1" />
- </lnTo>
- <close />
- </path>
-
- <path fill="darkenLess" stroke="false" extrusionOk="false">
- <moveTo>
- <pt x="ix" y="iy" />
- </moveTo>
- <arcTo wR="wR" hR="h" stAng="stAng2" swAng="swAng2" />
- <lnTo>
- <pt x="l" y="b" />
- </lnTo>
- <arcTo wR="wR" hR="h" stAng="cd2" swAng="swAng3" />
- <close />
- </path>
-
- <path fill="none" extrusionOk="false">
- <moveTo>
- <pt x="ix" y="iy" />
- </moveTo>
- <arcTo wR="wR" hR="h" stAng="stAng2" swAng="swAng2" />
- <lnTo>
- <pt x="l" y="b" />
- </lnTo>
- <arcTo wR="wR" hR="h" stAng="cd2" swAng="cd4" />
- <lnTo>
- <pt x="x3" y="t" />
- </lnTo>
- <arcTo wR="wR" hR="h" stAng="3cd4" swAng="swAng" />
- <lnTo>
- <pt x="x8" y="y1" />
- </lnTo>
- <lnTo>
- <pt x="x6" y="b" />
- </lnTo>
- <lnTo>
- <pt x="x4" y="y1" />
- </lnTo>
- <lnTo>
- <pt x="x5" y="y1" />
- </lnTo>
- <arcTo wR="wR" hR="h" stAng="stAng" swAng="mswAng" />
- </path>
- </pathLst>
-
- </curvedDownArrow>
- <curvedLeftArrow>
-
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="adj1" fmla="val 25000" />
-
- <gd name="adj2" fmla="val 50000" />
-
- <gd name="adj3" fmla="val 25000" />
-
- </avLst>
-
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="maxAdj2" fmla="*/ 50000 h ss" />
-
- <gd name="a2" fmla="pin 0 adj2 maxAdj2" />
- <gd name="a1" fmla="pin 0 adj1 a2" />
- <gd name="th" fmla="*/ ss a1 100000" />
-
- <gd name="aw" fmla="*/ ss a2 100000" />
-
- <gd name="q1" fmla="+/ th aw 4" />
-
- <gd name="hR" fmla="+- hd2 0 q1" />
-
- <gd name="q7" fmla="*/ hR 2 1" />
-
- <gd name="q8" fmla="*/ q7 q7 1" />
-
- <gd name="q9" fmla="*/ th th 1" />
-
- <gd name="q10" fmla="+- q8 0 q9" />
- <gd name="q11" fmla="sqrt q10" />
- <gd name="idx" fmla="*/ q11 w q7" />
- <gd name="maxAdj3" fmla="*/ 100000 idx ss" />
-
- <gd name="a3" fmla="pin 0 adj3 maxAdj3" />
- <gd name="ah" fmla="*/ ss a3 100000" />
-
-
-
-
-
- <gd name="y3" fmla="+- hR th 0" />
-
- <gd name="q2" fmla="*/ w w 1" />
- <gd name="q3" fmla="*/ ah ah 1" />
- <gd name="q4" fmla="+- q2 0 q3" />
- <gd name="q5" fmla="sqrt q4" />
- <gd name="dy" fmla="*/ q5 hR w" />
- <gd name="y5" fmla="+- hR dy 0" />
-
- <gd name="y7" fmla="+- y3 dy 0" />
-
- <gd name="q6" fmla="+- aw 0 th" />
- <gd name="dh" fmla="*/ q6 1 2" />
-
- <gd name="y4" fmla="+- y5 0 dh" />
-
- <gd name="y8" fmla="+- y7 dh 0" />
-
- <gd name="aw2" fmla="*/ aw 1 2" />
- <gd name="y6" fmla="+- b 0 aw2" />
-
- <gd name="x1" fmla="+- l ah 0" />
- <gd name="swAng" fmla="at2 ah dy" />
-
- <gd name="mswAng" fmla="+- 0 0 swAng" />
- <gd name="ix" fmla="+- l idx 0" />
-
- <gd name="iy" fmla="+/ hR y3 2" />
-
- <gd name="q12" fmla="*/ th 1 2" />
- <gd name="dang2" fmla="at2 idx q12" />
- <gd name="swAng2" fmla="+- dang2 0 swAng" />
- <gd name="swAng3" fmla="+- swAng dang2 0" />
- <gd name="stAng3" fmla="+- 0 0 dang2" />
- </gdLst>
-
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <ahXY gdRefY="adj1" minY="0" maxY="a2">
- <pos x="x1" y="y5" />
- </ahXY>
- <ahXY gdRefY="adj2" minY="0" maxY="maxAdj2">
- <pos x="r" y="y4" />
- </ahXY>
- <ahXY gdRefX="adj3" minX="0" maxX="maxAdj3">
- <pos x="x1" y="b" />
- </ahXY>
- </ahLst>
-
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <cxn ang="cd2">
- <pos x="l" y="q12" />
- </cxn>
- <cxn ang="cd2">
- <pos x="x1" y="y4" />
- </cxn>
- <cxn ang="cd3">
- <pos x="l" y="y6" />
- </cxn>
- <cxn ang="cd4">
- <pos x="x1" y="y8" />
- </cxn>
- <cxn ang="0">
- <pos x="r" y="iy" />
- </cxn>
- </cxnLst>
-
-
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
-
-
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
-
- <path stroke="false" extrusionOk="false">
- <moveTo>
- <pt x="l" y="y6" />
- </moveTo>
- <lnTo>
- <pt x="x1" y="y4" />
- </lnTo>
- <lnTo>
- <pt x="x1" y="y5" />
- </lnTo>
- <arcTo wR="w" hR="hR" stAng="swAng" swAng="swAng2" />
- <arcTo wR="w" hR="hR" stAng="stAng3" swAng="swAng3" />
- <lnTo>
- <pt x="x1" y="y8" />
- </lnTo>
- <close />
- </path>
-
- <path fill="darkenLess" stroke="false" extrusionOk="false">
- <moveTo>
- <pt x="r" y="y3" />
- </moveTo>
- <arcTo wR="w" hR="hR" stAng="0" swAng="-5400000" />
- <lnTo>
- <pt x="l" y="t" />
- </lnTo>
- <arcTo wR="w" hR="hR" stAng="3cd4" swAng="cd4" />
- <close />
- </path>
-
- <path fill="none" extrusionOk="false">
- <moveTo>
- <pt x="r" y="y3" />
- </moveTo>
- <arcTo wR="w" hR="hR" stAng="0" swAng="-5400000" />
- <lnTo>
- <pt x="l" y="t" />
- </lnTo>
- <arcTo wR="w" hR="hR" stAng="3cd4" swAng="cd4" />
- <lnTo>
- <pt x="r" y="y3" />
- </lnTo>
- <arcTo wR="w" hR="hR" stAng="0" swAng="swAng" />
- <lnTo>
- <pt x="x1" y="y8" />
- </lnTo>
- <lnTo>
- <pt x="l" y="y6" />
- </lnTo>
- <lnTo>
- <pt x="x1" y="y4" />
- </lnTo>
- <lnTo>
- <pt x="x1" y="y5" />
- </lnTo>
- <arcTo wR="w" hR="hR" stAng="swAng" swAng="swAng2" />
- </path>
- </pathLst>
-
- </curvedLeftArrow>
- <curvedRightArrow>
-
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="adj1" fmla="val 25000" />
-
- <gd name="adj2" fmla="val 50000" />
-
- <gd name="adj3" fmla="val 25000" />
-
- </avLst>
-
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="maxAdj2" fmla="*/ 50000 h ss" />
-
- <gd name="a2" fmla="pin 0 adj2 maxAdj2" />
- <gd name="a1" fmla="pin 0 adj1 a2" />
- <gd name="th" fmla="*/ ss a1 100000" />
-
- <gd name="aw" fmla="*/ ss a2 100000" />
-
- <gd name="q1" fmla="+/ th aw 4" />
-
- <gd name="hR" fmla="+- hd2 0 q1" />
-
- <gd name="q7" fmla="*/ hR 2 1" />
-
- <gd name="q8" fmla="*/ q7 q7 1" />
-
- <gd name="q9" fmla="*/ th th 1" />
-
- <gd name="q10" fmla="+- q8 0 q9" />
- <gd name="q11" fmla="sqrt q10" />
- <gd name="idx" fmla="*/ q11 w q7" />
- <gd name="maxAdj3" fmla="*/ 100000 idx ss" />
-
- <gd name="a3" fmla="pin 0 adj3 maxAdj3" />
- <gd name="ah" fmla="*/ ss a3 100000" />
-
-
-
-
-
- <gd name="y3" fmla="+- hR th 0" />
-
- <gd name="q2" fmla="*/ w w 1" />
- <gd name="q3" fmla="*/ ah ah 1" />
- <gd name="q4" fmla="+- q2 0 q3" />
- <gd name="q5" fmla="sqrt q4" />
- <gd name="dy" fmla="*/ q5 hR w" />
- <gd name="y5" fmla="+- hR dy 0" />
-
- <gd name="y7" fmla="+- y3 dy 0" />
-
- <gd name="q6" fmla="+- aw 0 th" />
- <gd name="dh" fmla="*/ q6 1 2" />
-
- <gd name="y4" fmla="+- y5 0 dh" />
-
- <gd name="y8" fmla="+- y7 dh 0" />
-
- <gd name="aw2" fmla="*/ aw 1 2" />
- <gd name="y6" fmla="+- b 0 aw2" />
-
- <gd name="x1" fmla="+- r 0 ah" />
- <gd name="swAng" fmla="at2 ah dy" />
-
- <gd name="stAng" fmla="+- cd2 0 swAng" />
- <gd name="mswAng" fmla="+- 0 0 swAng" />
- <gd name="ix" fmla="+- r 0 idx" />
-
- <gd name="iy" fmla="+/ hR y3 2" />
-
- <gd name="q12" fmla="*/ th 1 2" />
- <gd name="dang2" fmla="at2 idx q12" />
- <gd name="swAng2" fmla="+- dang2 0 cd4" />
- <gd name="swAng3" fmla="+- cd4 dang2 0" />
- <gd name="stAng3" fmla="+- cd2 0 dang2" />
- </gdLst>
-
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <ahXY gdRefY="adj1" minY="0" maxY="a2">
- <pos x="x1" y="y5" />
- </ahXY>
- <ahXY gdRefY="adj2" minY="0" maxY="maxAdj2">
- <pos x="r" y="y4" />
- </ahXY>
- <ahXY gdRefX="adj3" minX="0" maxX="maxAdj3">
- <pos x="x1" y="b" />
- </ahXY>
- </ahLst>
-
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <cxn ang="cd2">
- <pos x="l" y="iy" />
- </cxn>
- <cxn ang="cd4">
- <pos x="x1" y="y8" />
- </cxn>
- <cxn ang="0">
- <pos x="r" y="y6" />
- </cxn>
- <cxn ang="0">
- <pos x="x1" y="y4" />
- </cxn>
- <cxn ang="0">
- <pos x="r" y="q12" />
- </cxn>
- </cxnLst>
-
-
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
-
-
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
-
- <path stroke="false" extrusionOk="false">
- <moveTo>
- <pt x="l" y="hR" />
- </moveTo>
- <arcTo wR="w" hR="hR" stAng="cd2" swAng="mswAng" />
- <lnTo>
- <pt x="x1" y="y4" />
- </lnTo>
- <lnTo>
- <pt x="r" y="y6" />
- </lnTo>
- <lnTo>
- <pt x="x1" y="y8" />
- </lnTo>
- <lnTo>
- <pt x="x1" y="y7" />
- </lnTo>
- <arcTo wR="w" hR="hR" stAng="stAng" swAng="swAng" />
- <close />
- </path>
-
- <path fill="darkenLess" stroke="false" extrusionOk="false">
- <moveTo>
- <pt x="r" y="th" />
- </moveTo>
- <arcTo wR="w" hR="hR" stAng="3cd4" swAng="swAng2" />
- <arcTo wR="w" hR="hR" stAng="stAng3" swAng="swAng3" />
- <close />
- </path>
-
- <path fill="none" extrusionOk="false">
- <moveTo>
- <pt x="l" y="hR" />
- </moveTo>
- <arcTo wR="w" hR="hR" stAng="cd2" swAng="mswAng" />
- <lnTo>
- <pt x="x1" y="y4" />
- </lnTo>
- <lnTo>
- <pt x="r" y="y6" />
- </lnTo>
- <lnTo>
- <pt x="x1" y="y8" />
- </lnTo>
- <lnTo>
- <pt x="x1" y="y7" />
- </lnTo>
- <arcTo wR="w" hR="hR" stAng="stAng" swAng="swAng" />
- <lnTo>
- <pt x="l" y="hR" />
- </lnTo>
- <arcTo wR="w" hR="hR" stAng="cd2" swAng="cd4" />
- <lnTo>
- <pt x="r" y="th" />
- </lnTo>
- <arcTo wR="w" hR="hR" stAng="3cd4" swAng="swAng2" />
- </path>
- </pathLst>
-
- </curvedRightArrow>
- <curvedUpArrow>
-
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="adj1" fmla="val 25000" />
-
- <gd name="adj2" fmla="val 50000" />
-
- <gd name="adj3" fmla="val 25000" />
-
- </avLst>
-
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="maxAdj2" fmla="*/ 50000 w ss" />
-
- <gd name="a2" fmla="pin 0 adj2 maxAdj2" />
- <gd name="a1" fmla="pin 0 adj1 100000" />
- <gd name="th" fmla="*/ ss a1 100000" />
-
- <gd name="aw" fmla="*/ ss a2 100000" />
-
- <gd name="q1" fmla="+/ th aw 4" />
-
- <gd name="wR" fmla="+- wd2 0 q1" />
-
- <gd name="q7" fmla="*/ wR 2 1" />
-
- <gd name="q8" fmla="*/ q7 q7 1" />
-
- <gd name="q9" fmla="*/ th th 1" />
-
- <gd name="q10" fmla="+- q8 0 q9" />
- <gd name="q11" fmla="sqrt q10" />
- <gd name="idy" fmla="*/ q11 h q7" />
- <gd name="maxAdj3" fmla="*/ 100000 idy ss" />
-
- <gd name="a3" fmla="pin 0 adj3 maxAdj3" />
- <gd name="ah" fmla="*/ ss adj3 100000" />
-
-
-
-
-
- <gd name="x3" fmla="+- wR th 0" />
-
- <gd name="q2" fmla="*/ h h 1" />
- <gd name="q3" fmla="*/ ah ah 1" />
- <gd name="q4" fmla="+- q2 0 q3" />
- <gd name="q5" fmla="sqrt q4" />
- <gd name="dx" fmla="*/ q5 wR h" />
- <gd name="x5" fmla="+- wR dx 0" />
-
- <gd name="x7" fmla="+- x3 dx 0" />
-
- <gd name="q6" fmla="+- aw 0 th" />
- <gd name="dh" fmla="*/ q6 1 2" />
-
- <gd name="x4" fmla="+- x5 0 dh" />
-
- <gd name="x8" fmla="+- x7 dh 0" />
-
- <gd name="aw2" fmla="*/ aw 1 2" />
- <gd name="x6" fmla="+- r 0 aw2" />
-
- <gd name="y1" fmla="+- t ah 0" />
- <gd name="swAng" fmla="at2 ah dx" />
-
- <gd name="mswAng" fmla="+- 0 0 swAng" />
- <gd name="iy" fmla="+- t idy 0" />
-
- <gd name="ix" fmla="+/ wR x3 2" />
-
- <gd name="q12" fmla="*/ th 1 2" />
- <gd name="dang2" fmla="at2 idy q12" />
- <gd name="swAng2" fmla="+- dang2 0 swAng" />
- <gd name="mswAng2" fmla="+- 0 0 swAng2" />
- <gd name="stAng3" fmla="+- cd4 0 swAng" />
- <gd name="swAng3" fmla="+- swAng dang2 0" />
- <gd name="stAng2" fmla="+- cd4 0 dang2" />
- </gdLst>
-
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <ahXY gdRefX="adj1" minX="0" maxX="a2">
- <pos x="x7" y="y1" />
- </ahXY>
- <ahXY gdRefX="adj2" minX="0" maxX="maxAdj2">
- <pos x="x4" y="t" />
- </ahXY>
- <ahXY gdRefY="adj3" minY="0" maxY="maxAdj3">
- <pos x="r" y="y1" />
- </ahXY>
- </ahLst>
-
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <cxn ang="3cd4">
- <pos x="x6" y="t" />
- </cxn>
- <cxn ang="3cd4">
- <pos x="x4" y="y1" />
- </cxn>
- <cxn ang="3cd4">
- <pos x="q12" y="t" />
- </cxn>
- <cxn ang="cd4">
- <pos x="ix" y="b" />
- </cxn>
- <cxn ang="0">
- <pos x="x8" y="y1" />
- </cxn>
- </cxnLst>
-
-
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
-
-
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
-
- <path stroke="false" extrusionOk="false">
- <moveTo>
- <pt x="x6" y="t" />
- </moveTo>
- <lnTo>
- <pt x="x8" y="y1" />
- </lnTo>
- <lnTo>
- <pt x="x7" y="y1" />
- </lnTo>
- <arcTo wR="wR" hR="h" stAng="stAng3" swAng="swAng3" />
- <arcTo wR="wR" hR="h" stAng="stAng2" swAng="swAng2" />
- <lnTo>
- <pt x="x4" y="y1" />
- </lnTo>
- <close />
- </path>
-
- <path fill="darkenLess" stroke="false" extrusionOk="false">
- <moveTo>
- <pt x="wR" y="b" />
- </moveTo>
- <arcTo wR="wR" hR="h" stAng="cd4" swAng="cd4" />
- <lnTo>
- <pt x="th" y="t" />
- </lnTo>
- <arcTo wR="wR" hR="h" stAng="cd2" swAng="-5400000" />
- <close />
- </path>
-
- <path fill="none" extrusionOk="false">
- <moveTo>
- <pt x="ix" y="iy" />
- </moveTo>
- <arcTo wR="wR" hR="h" stAng="stAng2" swAng="swAng2" />
- <lnTo>
- <pt x="x4" y="y1" />
- </lnTo>
- <lnTo>
- <pt x="x6" y="t" />
- </lnTo>
- <lnTo>
- <pt x="x8" y="y1" />
- </lnTo>
- <lnTo>
- <pt x="x7" y="y1" />
- </lnTo>
- <arcTo wR="wR" hR="h" stAng="stAng3" swAng="swAng" />
- <lnTo>
- <pt x="wR" y="b" />
- </lnTo>
- <arcTo wR="wR" hR="h" stAng="cd4" swAng="cd4" />
- <lnTo>
- <pt x="th" y="t" />
- </lnTo>
- <arcTo wR="wR" hR="h" stAng="cd2" swAng="-5400000" />
- </path>
- </pathLst>
-
- </curvedUpArrow>
- <decagon>
-
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="vf" fmla="val 105146" />
- </avLst>
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="shd2" fmla="*/ hd2 vf 100000" />
- <gd name="dx1" fmla="cos wd2 2160000" />
- <gd name="dx2" fmla="cos wd2 4320000" />
- <gd name="x1" fmla="+- hc 0 dx1" />
- <gd name="x2" fmla="+- hc 0 dx2" />
- <gd name="x3" fmla="+- hc dx2 0" />
- <gd name="x4" fmla="+- hc dx1 0" />
- <gd name="dy1" fmla="sin shd2 4320000" />
- <gd name="dy2" fmla="sin shd2 2160000" />
- <gd name="y1" fmla="+- vc 0 dy1" />
- <gd name="y2" fmla="+- vc 0 dy2" />
- <gd name="y3" fmla="+- vc dy2 0" />
- <gd name="y4" fmla="+- vc dy1 0" />
- </gdLst>
-
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <cxn ang="0">
- <pos x="x4" y="y2" />
- </cxn>
- <cxn ang="0">
- <pos x="r" y="vc" />
- </cxn>
- <cxn ang="0">
- <pos x="x4" y="y3" />
- </cxn>
- <cxn ang="cd4">
- <pos x="x3" y="y4" />
- </cxn>
- <cxn ang="cd4">
- <pos x="x2" y="y4" />
- </cxn>
- <cxn ang="cd2">
- <pos x="x1" y="y3" />
- </cxn>
- <cxn ang="cd2">
- <pos x="l" y="vc" />
- </cxn>
- <cxn ang="cd2">
- <pos x="x1" y="y2" />
- </cxn>
- <cxn ang="3cd4">
- <pos x="x2" y="y1" />
- </cxn>
- <cxn ang="3cd4">
- <pos x="x3" y="y1" />
- </cxn>
- </cxnLst>
-
- <rect l="x1" t="y2" r="x4" b="y3" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
-
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <path>
- <moveTo>
- <pt x="l" y="vc" />
- </moveTo>
- <lnTo>
- <pt x="x1" y="y2" />
- </lnTo>
- <lnTo>
- <pt x="x2" y="y1" />
- </lnTo>
- <lnTo>
- <pt x="x3" y="y1" />
- </lnTo>
- <lnTo>
- <pt x="x4" y="y2" />
- </lnTo>
- <lnTo>
- <pt x="r" y="vc" />
- </lnTo>
- <lnTo>
- <pt x="x4" y="y3" />
- </lnTo>
- <lnTo>
- <pt x="x3" y="y4" />
- </lnTo>
- <lnTo>
- <pt x="x2" y="y4" />
- </lnTo>
- <lnTo>
- <pt x="x1" y="y3" />
- </lnTo>
- <close />
- </path>
- </pathLst>
-
- </decagon>
- <diagStripe>
-
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="adj" fmla="val 50000" />
-
- </avLst>
-
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="a" fmla="pin 0 adj 100000" />
- <gd name="x2" fmla="*/ w a 100000" />
- <gd name="x1" fmla="*/ x2 1 2" />
- <gd name="x3" fmla="+/ x2 r 2" />
- <gd name="y2" fmla="*/ h a 100000" />
- <gd name="y1" fmla="*/ y2 1 2" />
- <gd name="y3" fmla="+/ y2 b 2" />
- </gdLst>
-
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <ahXY gdRefY="adj" minY="0" maxY="100000">
- <pos x="l" y="y2" />
- </ahXY>
- </ahLst>
-
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <cxn ang="0">
- <pos x="hc" y="vc" />
- </cxn>
- <cxn ang="cd2">
- <pos x="l" y="y3" />
- </cxn>
- <cxn ang="cd2">
- <pos x="x1" y="y1" />
- </cxn>
- <cxn ang="3cd4">
- <pos x="x3" y="t" />
- </cxn>
- </cxnLst>
-
- <rect l="l" t="t" r="x3" b="y3" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
-
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <path>
- <moveTo>
- <pt x="l" y="y2" />
- </moveTo>
- <lnTo>
- <pt x="x2" y="t" />
- </lnTo>
- <lnTo>
- <pt x="r" y="t" />
- </lnTo>
- <lnTo>
- <pt x="l" y="b" />
- </lnTo>
- <close />
- </path>
- </pathLst>
-
- </diagStripe>
- <diamond>
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="ir" fmla="*/ w 3 4" />
- <gd name="ib" fmla="*/ h 3 4" />
- </gdLst>
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <cxn ang="3cd4">
- <pos x="hc" y="t" />
- </cxn>
- <cxn ang="cd2">
- <pos x="l" y="vc" />
- </cxn>
- <cxn ang="cd4">
- <pos x="hc" y="b" />
- </cxn>
- <cxn ang="0">
- <pos x="r" y="vc" />
- </cxn>
- </cxnLst>
- <rect l="wd4" t="hd4" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <path>
- <moveTo>
- <pt x="l" y="vc" />
- </moveTo>
- <lnTo>
- <pt x="hc" y="t" />
- </lnTo>
- <lnTo>
- <pt x="r" y="vc" />
- </lnTo>
- <lnTo>
- <pt x="hc" y="b" />
- </lnTo>
- <close />
- </path>
- </pathLst>
- </diamond>
- <dodecagon>
-
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="x1" fmla="*/ w 2894 21600" />
- <gd name="x2" fmla="*/ w 7906 21600" />
- <gd name="x3" fmla="*/ w 13694 21600" />
- <gd name="x4" fmla="*/ w 18706 21600" />
- <gd name="y1" fmla="*/ h 2894 21600" />
- <gd name="y2" fmla="*/ h 7906 21600" />
- <gd name="y3" fmla="*/ h 13694 21600" />
- <gd name="y4" fmla="*/ h 18706 21600" />
- </gdLst>
-
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <cxn ang="0">
- <pos x="x4" y="y1" />
- </cxn>
- <cxn ang="0">
- <pos x="r" y="y2" />
- </cxn>
- <cxn ang="0">
- <pos x="r" y="y3" />
- </cxn>
- <cxn ang="0">
- <pos x="x4" y="y4" />
- </cxn>
- <cxn ang="cd4">
- <pos x="x3" y="b" />
- </cxn>
- <cxn ang="cd4">
- <pos x="x2" y="b" />
- </cxn>
- <cxn ang="cd2">
- <pos x="x1" y="y4" />
- </cxn>
- <cxn ang="cd2">
- <pos x="l" y="y3" />
- </cxn>
- <cxn ang="cd2">
- <pos x="l" y="y2" />
- </cxn>
- <cxn ang="cd2">
- <pos x="x1" y="y1" />
- </cxn>
- <cxn ang="3cd4">
- <pos x="x2" y="t" />
- </cxn>
- <cxn ang="3cd4">
- <pos x="x3" y="t" />
- </cxn>
- </cxnLst>
-
- <rect l="x1" t="y1" r="x4" b="y4" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
-
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <path>
- <moveTo>
- <pt x="l" y="y2" />
- </moveTo>
- <lnTo>
- <pt x="x1" y="y1" />
- </lnTo>
- <lnTo>
- <pt x="x2" y="t" />
- </lnTo>
- <lnTo>
- <pt x="x3" y="t" />
- </lnTo>
- <lnTo>
- <pt x="x4" y="y1" />
- </lnTo>
- <lnTo>
- <pt x="r" y="y2" />
- </lnTo>
- <lnTo>
- <pt x="r" y="y3" />
- </lnTo>
- <lnTo>
- <pt x="x4" y="y4" />
- </lnTo>
- <lnTo>
- <pt x="x3" y="b" />
- </lnTo>
- <lnTo>
- <pt x="x2" y="b" />
- </lnTo>
- <lnTo>
- <pt x="x1" y="y4" />
- </lnTo>
- <lnTo>
- <pt x="l" y="y3" />
- </lnTo>
- <close />
- </path>
- </pathLst>
-
- </dodecagon>
- <donut>
-
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="adj" fmla="val 25000" />
- </avLst>
-
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="a" fmla="pin 0 adj 50000" />
- <gd name="dr" fmla="*/ ss a 100000" />
- <gd name="iwd2" fmla="+- wd2 0 dr" />
- <gd name="ihd2" fmla="+- hd2 0 dr" />
- <gd name="idx" fmla="cos wd2 2700000" />
- <gd name="idy" fmla="sin hd2 2700000" />
- <gd name="il" fmla="+- hc 0 idx" />
- <gd name="ir" fmla="+- hc idx 0" />
- <gd name="it" fmla="+- vc 0 idy" />
- <gd name="ib" fmla="+- vc idy 0" />
- </gdLst>
-
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <ahPolar gdRefR="adj" minR="0" maxR="50000">
- <pos x="dr" y="vc" />
- </ahPolar>
- </ahLst>
-
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <cxn ang="3cd4">
- <pos x="hc" y="t" />
- </cxn>
- <cxn ang="3cd4">
- <pos x="il" y="it" />
- </cxn>
- <cxn ang="cd2">
- <pos x="l" y="vc" />
- </cxn>
- <cxn ang="cd4">
- <pos x="il" y="ib" />
- </cxn>
- <cxn ang="cd4">
- <pos x="hc" y="b" />
- </cxn>
- <cxn ang="cd4">
- <pos x="ir" y="ib" />
- </cxn>
- <cxn ang="0">
- <pos x="r" y="vc" />
- </cxn>
- <cxn ang="3cd4">
- <pos x="ir" y="it" />
- </cxn>
- </cxnLst>
-
- <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
-
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <path>
- <moveTo>
- <pt x="l" y="vc" />
- </moveTo>
- <arcTo wR="wd2" hR="hd2" stAng="cd2" swAng="cd4" />
- <arcTo wR="wd2" hR="hd2" stAng="3cd4" swAng="cd4" />
- <arcTo wR="wd2" hR="hd2" stAng="0" swAng="cd4" />
- <arcTo wR="wd2" hR="hd2" stAng="cd4" swAng="cd4" />
- <close />
- <moveTo>
- <pt x="dr" y="vc" />
- </moveTo>
- <arcTo wR="iwd2" hR="ihd2" stAng="cd2" swAng="-5400000" />
- <arcTo wR="iwd2" hR="ihd2" stAng="cd4" swAng="-5400000" />
- <arcTo wR="iwd2" hR="ihd2" stAng="0" swAng="-5400000" />
- <arcTo wR="iwd2" hR="ihd2" stAng="3cd4" swAng="-5400000" />
- <close />
- </path>
- </pathLst>
-
- </donut>
- <doubleWave>
-
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="adj1" fmla="val 6250" />
-
- <gd name="adj2" fmla="val 0" />
-
- </avLst>
-
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="a1" fmla="pin 0 adj1 12500" />
- <gd name="a2" fmla="pin -10000 adj2 10000" />
- <gd name="y1" fmla="*/ h a1 100000" />
-
- <gd name="dy2" fmla="*/ y1 10 3" />
- <gd name="y2" fmla="+- y1 0 dy2" />
-
- <gd name="y3" fmla="+- y1 dy2 0" />
-
- <gd name="y4" fmla="+- b 0 y1" />
-
- <gd name="y5" fmla="+- y4 0 dy2" />
-
- <gd name="y6" fmla="+- y4 dy2 0" />
-
- <gd name="dx1" fmla="*/ w a2 100000" />
-
- <gd name="of2" fmla="*/ w a2 50000" />
-
- <gd name="x1" fmla="abs dx1" />
-
- <gd name="dx2" fmla="?: of2 0 of2" />
- <gd name="x2" fmla="+- l 0 dx2" />
-
- <gd name="dx8" fmla="?: of2 of2 0" />
- <gd name="x8" fmla="+- r 0 dx8" />
-
- <gd name="dx3" fmla="+/ dx2 x8 6" />
- <gd name="x3" fmla="+- x2 dx3 0" />
-
- <gd name="dx4" fmla="+/ dx2 x8 3" />
- <gd name="x4" fmla="+- x2 dx4 0" />
-
- <gd name="x5" fmla="+/ x2 x8 2" />
-
- <gd name="x6" fmla="+- x5 dx3 0" />
-
- <gd name="x7" fmla="+/ x6 x8 2" />
-
- <gd name="x9" fmla="+- l dx8 0" />
-
- <gd name="x15" fmla="+- r dx2 0" />
-
- <gd name="x10" fmla="+- x9 dx3 0" />
-
- <gd name="x11" fmla="+- x9 dx4 0" />
-
- <gd name="x12" fmla="+/ x9 x15 2" />
-
- <gd name="x13" fmla="+- x12 dx3 0" />
-
- <gd name="x14" fmla="+/ x13 x15 2" />
-
- <gd name="x16" fmla="+- r 0 x1" />
-
- <gd name="xAdj" fmla="+- hc dx1 0" />
- <gd name="il" fmla="max x2 x9" />
- <gd name="ir" fmla="min x8 x15" />
- <gd name="it" fmla="*/ h a1 50000" />
- <gd name="ib" fmla="+- b 0 it" />
- </gdLst>
-
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <ahXY gdRefY="adj1" minY="0" maxY="12500">
- <pos x="l" y="y1" />
- </ahXY>
- <ahXY gdRefX="adj2" minX="-10000" maxX="10000">
- <pos x="xAdj" y="b" />
- </ahXY>
- </ahLst>
-
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <cxn ang="cd4">
- <pos x="x12" y="y1" />
- </cxn>
- <cxn ang="cd2">
- <pos x="x1" y="vc" />
- </cxn>
- <cxn ang="3cd4">
- <pos x="x5" y="y4" />
- </cxn>
- <cxn ang="0">
- <pos x="x16" y="vc" />
- </cxn>
- </cxnLst>
-
- <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
-
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <path>
- <moveTo>
- <pt x="x2" y="y1" />
- </moveTo>
- <cubicBezTo>
- <pt x="x3" y="y2" />
- <pt x="x4" y="y3" />
- <pt x="x5" y="y1" />
- </cubicBezTo>
- <cubicBezTo>
- <pt x="x6" y="y2" />
- <pt x="x7" y="y3" />
- <pt x="x8" y="y1" />
- </cubicBezTo>
- <lnTo>
- <pt x="x15" y="y4" />
- </lnTo>
- <cubicBezTo>
- <pt x="x14" y="y6" />
- <pt x="x13" y="y5" />
- <pt x="x12" y="y4" />
- </cubicBezTo>
- <cubicBezTo>
- <pt x="x11" y="y6" />
- <pt x="x10" y="y5" />
- <pt x="x9" y="y4" />
- </cubicBezTo>
- <close />
- </path>
- </pathLst>
-
- </doubleWave>
- <downArrow>
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="adj1" fmla="val 50000" />
- <gd name="adj2" fmla="val 50000" />
- </avLst>
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="maxAdj2" fmla="*/ 100000 h ss" />
- <gd name="a1" fmla="pin 0 adj1 100000" />
- <gd name="a2" fmla="pin 0 adj2 maxAdj2" />
- <gd name="dy1" fmla="*/ ss a2 100000" />
- <gd name="y1" fmla="+- b 0 dy1" />
- <gd name="dx1" fmla="*/ w a1 200000" />
- <gd name="x1" fmla="+- hc 0 dx1" />
- <gd name="x2" fmla="+- hc dx1 0" />
- <gd name="dy2" fmla="*/ x1 dy1 wd2" />
- <gd name="y2" fmla="+- y1 dy2 0" />
- </gdLst>
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <ahXY gdRefX="adj1" minX="0" maxX="100000">
- <pos x="x1" y="t" />
- </ahXY>
- <ahXY gdRefY="adj2" minY="0" maxY="maxAdj2">
- <pos x="l" y="y1" />
- </ahXY>
- </ahLst>
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <cxn ang="3cd4">
- <pos x="hc" y="t" />
- </cxn>
- <cxn ang="cd2">
- <pos x="l" y="y1" />
- </cxn>
- <cxn ang="cd4">
- <pos x="hc" y="b" />
- </cxn>
- <cxn ang="0">
- <pos x="r" y="y1" />
- </cxn>
- </cxnLst>
- <rect l="x1" t="t" r="x2" b="y2" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <path>
- <moveTo>
- <pt x="l" y="y1" />
- </moveTo>
- <lnTo>
- <pt x="x1" y="y1" />
- </lnTo>
- <lnTo>
- <pt x="x1" y="t" />
- </lnTo>
- <lnTo>
- <pt x="x2" y="t" />
- </lnTo>
- <lnTo>
- <pt x="x2" y="y1" />
- </lnTo>
- <lnTo>
- <pt x="r" y="y1" />
- </lnTo>
- <lnTo>
- <pt x="hc" y="b" />
- </lnTo>
- <close />
- </path>
- </pathLst>
- </downArrow>
- <downArrowCallout>
-
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="adj1" fmla="val 25000" />
-
- <gd name="adj2" fmla="val 25000" />
-
- <gd name="adj3" fmla="val 25000" />
-
- <gd name="adj4" fmla="val 64977" />
-
- </avLst>
-
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="maxAdj2" fmla="*/ 50000 w ss" />
-
- <gd name="a2" fmla="pin 0 adj2 maxAdj2" />
- <gd name="maxAdj1" fmla="*/ a2 2 1" />
-
- <gd name="a1" fmla="pin 0 adj1 maxAdj1" />
- <gd name="maxAdj3" fmla="*/ 100000 h ss" />
-
- <gd name="a3" fmla="pin 0 adj3 maxAdj3" />
- <gd name="q2" fmla="*/ a3 ss h" />
-
- <gd name="maxAdj4" fmla="+- 100000 0 q2" />
-
- <gd name="a4" fmla="pin 0 adj4 maxAdj4" />
- <gd name="dx1" fmla="*/ ss a2 100000" />
-
- <gd name="dx2" fmla="*/ ss a1 200000" />
-
- <gd name="x1" fmla="+- hc 0 dx1" />
- <gd name="x2" fmla="+- hc 0 dx2" />
- <gd name="x3" fmla="+- hc dx2 0" />
- <gd name="x4" fmla="+- hc dx1 0" />
- <gd name="dy3" fmla="*/ ss a3 100000" />
-
- <gd name="y3" fmla="+- b 0 dy3" />
- <gd name="y2" fmla="*/ h a4 100000" />
-
- <gd name="y1" fmla="*/ y2 1 2" />
- </gdLst>
-
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <ahXY gdRefX="adj1" minX="0" maxX="maxAdj1">
- <pos x="x2" y="y3" />
- </ahXY>
- <ahXY gdRefX="adj2" minX="0" maxX="maxAdj2">
- <pos x="x1" y="b" />
- </ahXY>
- <ahXY gdRefY="adj3" minY="0" maxY="maxAdj3">
- <pos x="r" y="y3" />
- </ahXY>
- <ahXY gdRefY="adj4" minY="0" maxY="maxAdj4">
- <pos x="l" y="y2" />
- </ahXY>
- </ahLst>
-
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <cxn ang="3cd4">
- <pos x="hc" y="t" />
- </cxn>
- <cxn ang="cd2">
- <pos x="l" y="y1" />
- </cxn>
- <cxn ang="cd4">
- <pos x="hc" y="b" />
- </cxn>
- <cxn ang="0">
- <pos x="r" y="y1" />
- </cxn>
- </cxnLst>
-
- <rect l="l" t="t" r="r" b="y2" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
-
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <path>
- <moveTo>
- <pt x="l" y="t" />
- </moveTo>
- <lnTo>
- <pt x="r" y="t" />
- </lnTo>
- <lnTo>
- <pt x="r" y="y2" />
- </lnTo>
- <lnTo>
- <pt x="x3" y="y2" />
- </lnTo>
- <lnTo>
- <pt x="x3" y="y3" />
- </lnTo>
- <lnTo>
- <pt x="x4" y="y3" />
- </lnTo>
- <lnTo>
- <pt x="hc" y="b" />
- </lnTo>
- <lnTo>
- <pt x="x1" y="y3" />
- </lnTo>
- <lnTo>
- <pt x="x2" y="y3" />
- </lnTo>
- <lnTo>
- <pt x="x2" y="y2" />
- </lnTo>
- <lnTo>
- <pt x="l" y="y2" />
- </lnTo>
- <close />
- </path>
- </pathLst>
-
- </downArrowCallout>
- <ellipse>
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="idx" fmla="cos wd2 2700000" />
- <gd name="idy" fmla="sin hd2 2700000" />
- <gd name="il" fmla="+- hc 0 idx" />
- <gd name="ir" fmla="+- hc idx 0" />
- <gd name="it" fmla="+- vc 0 idy" />
- <gd name="ib" fmla="+- vc idy 0" />
- </gdLst>
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <cxn ang="3cd4">
- <pos x="hc" y="t" />
- </cxn>
- <cxn ang="3cd4">
- <pos x="il" y="it" />
- </cxn>
- <cxn ang="cd2">
- <pos x="l" y="vc" />
- </cxn>
- <cxn ang="cd4">
- <pos x="il" y="ib" />
- </cxn>
- <cxn ang="cd4">
- <pos x="hc" y="b" />
- </cxn>
- <cxn ang="cd4">
- <pos x="ir" y="ib" />
- </cxn>
- <cxn ang="0">
- <pos x="r" y="vc" />
- </cxn>
- <cxn ang="3cd4">
- <pos x="ir" y="it" />
- </cxn>
- </cxnLst>
- <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <path>
- <moveTo>
- <pt x="l" y="vc" />
- </moveTo>
- <arcTo wR="wd2" hR="hd2" stAng="cd2" swAng="cd4" />
- <arcTo wR="wd2" hR="hd2" stAng="3cd4" swAng="cd4" />
- <arcTo wR="wd2" hR="hd2" stAng="0" swAng="cd4" />
- <arcTo wR="wd2" hR="hd2" stAng="cd4" swAng="cd4" />
- <close />
- </path>
- </pathLst>
- </ellipse>
- <ellipseRibbon>
-
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="adj1" fmla="val 25000" />
-
- <gd name="adj2" fmla="val 50000" />
-
- <gd name="adj3" fmla="val 12500" />
-
- </avLst>
-
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="a1" fmla="pin 0 adj1 100000" />
- <gd name="a2" fmla="pin 25000 adj2 75000" />
- <gd name="q10" fmla="+- 100000 0 a1" />
- <gd name="q11" fmla="*/ q10 1 2" />
- <gd name="q12" fmla="+- a1 0 q11" />
- <gd name="minAdj3" fmla="max 0 q12" />
- <gd name="a3" fmla="pin minAdj3 adj3 a1" />
-
-
- <gd name="dx2" fmla="*/ w a2 200000" />
-
- <gd name="x2" fmla="+- hc 0 dx2" />
-
- <gd name="x3" fmla="+- x2 wd8 0" />
-
- <gd name="x4" fmla="+- r 0 x3" />
-
- <gd name="x5" fmla="+- r 0 x2" />
-
- <gd name="x6" fmla="+- r 0 wd8" />
-
- <gd name="dy1" fmla="*/ h a3 100000" />
-
- <gd name="f1" fmla="*/ 4 dy1 w" />
-
- <gd name="q1" fmla="*/ x3 x3 w" />
- <gd name="q2" fmla="+- x3 0 q1" />
- <gd name="y1" fmla="*/ f1 q2 1" />
-
- <gd name="cx1" fmla="*/ x3 1 2" />
-
- <gd name="cy1" fmla="*/ f1 cx1 1" />
-
- <gd name="cx2" fmla="+- r 0 cx1" />
-
-
-
- <gd name="q1" fmla="*/ h a1 100000" />
-
- <gd name="dy3" fmla="+- q1 0 dy1" />
-
- <gd name="q3" fmla="*/ x2 x2 w" />
- <gd name="q4" fmla="+- x2 0 q3" />
- <gd name="q5" fmla="*/ f1 q4 1" />
- <gd name="y3" fmla="+- q5 dy3 0" />
-
-
-
- <gd name="q6" fmla="+- dy1 dy3 y3" />
- <gd name="q7" fmla="+- q6 dy1 0" />
- <gd name="cy3" fmla="+- q7 dy3 0" />
-
- <gd name="rh" fmla="+- b 0 q1" />
-
- <gd name="q8" fmla="*/ dy1 14 16" />
- <gd name="y2" fmla="+/ q8 rh 2" />
-
-
- <gd name="y5" fmla="+- q5 rh 0" />
-
- <gd name="y6" fmla="+- y3 rh 0" />
-
- <gd name="cx4" fmla="*/ x2 1 2" />
-
- <gd name="q9" fmla="*/ f1 cx4 1" />
- <gd name="cy4" fmla="+- q9 rh 0" />
-
- <gd name="cx5" fmla="+- r 0 cx4" />
-
-
-
-
-
- <gd name="cy6" fmla="+- cy3 rh 0" />
-
- <gd name="y7" fmla="+- y1 dy3 0" />
- <gd name="cy7" fmla="+- q1 q1 y7" />
- <gd name="y8" fmla="+- b 0 dy1" />
-
- </gdLst>
-
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <ahXY gdRefY="adj1" minY="0" maxY="100000">
- <pos x="hc" y="q1" />
- </ahXY>
- <ahXY gdRefX="adj2" minX="25000" maxX="75000">
- <pos x="x2" y="b" />
- </ahXY>
- <ahXY gdRefY="adj3" minY="minAdj3" maxY="a1">
- <pos x="l" y="y8" />
- </ahXY>
- </ahLst>
-
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <cxn ang="3cd4">
- <pos x="hc" y="q1" />
- </cxn>
- <cxn ang="cd2">
- <pos x="wd8" y="y2" />
- </cxn>
- <cxn ang="cd4">
- <pos x="hc" y="b" />
- </cxn>
- <cxn ang="0">
- <pos x="x6" y="y2" />
- </cxn>
- </cxnLst>
-
- <rect l="x2" t="q1" r="x5" b="y6" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
-
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <path stroke="false" extrusionOk="false">
-
- <moveTo>
- <pt x="l" y="t" />
- </moveTo>
- <quadBezTo>
- <pt x="cx1" y="cy1" />
- <pt x="x3" y="y1" />
- </quadBezTo>
- <lnTo>
- <pt x="x2" y="y3" />
- </lnTo>
- <quadBezTo>
- <pt x="hc" y="cy3" />
- <pt x="x5" y="y3" />
- </quadBezTo>
- <lnTo>
- <pt x="x4" y="y1" />
- </lnTo>
- <quadBezTo>
- <pt x="cx2" y="cy1" />
- <pt x="r" y="t" />
- </quadBezTo>
- <lnTo>
- <pt x="x6" y="y2" />
- </lnTo>
- <lnTo>
- <pt x="r" y="rh" />
- </lnTo>
- <quadBezTo>
- <pt x="cx5" y="cy4" />
- <pt x="x5" y="y5" />
- </quadBezTo>
- <lnTo>
- <pt x="x5" y="y6" />
- </lnTo>
- <quadBezTo>
- <pt x="hc" y="cy6" />
- <pt x="x2" y="y6" />
- </quadBezTo>
- <lnTo>
- <pt x="x2" y="y5" />
- </lnTo>
- <quadBezTo>
- <pt x="cx4" y="cy4" />
- <pt x="l" y="rh" />
- </quadBezTo>
- <lnTo>
- <pt x="wd8" y="y2" />
- </lnTo>
- <close />
- </path>
- <path fill="darkenLess" stroke="false" extrusionOk="false">
- <moveTo>
- <pt x="x3" y="y7" />
- </moveTo>
- <lnTo>
- <pt x="x3" y="y1" />
- </lnTo>
- <lnTo>
- <pt x="x2" y="y3" />
- </lnTo>
- <quadBezTo>
- <pt x="hc" y="cy3" />
- <pt x="x5" y="y3" />
- </quadBezTo>
- <lnTo>
- <pt x="x4" y="y1" />
- </lnTo>
- <lnTo>
- <pt x="x4" y="y7" />
- </lnTo>
- <quadBezTo>
- <pt x="hc" y="cy7" />
- <pt x="x3" y="y7" />
- </quadBezTo>
- <close />
- </path>
- <path fill="none" extrusionOk="false">
-
- <moveTo>
- <pt x="l" y="t" />
- </moveTo>
- <quadBezTo>
- <pt x="cx1" y="cy1" />
- <pt x="x3" y="y1" />
- </quadBezTo>
- <lnTo>
- <pt x="x2" y="y3" />
- </lnTo>
- <quadBezTo>
- <pt x="hc" y="cy3" />
- <pt x="x5" y="y3" />
- </quadBezTo>
- <lnTo>
- <pt x="x4" y="y1" />
- </lnTo>
- <quadBezTo>
- <pt x="cx2" y="cy1" />
- <pt x="r" y="t" />
- </quadBezTo>
- <lnTo>
- <pt x="x6" y="y2" />
- </lnTo>
- <lnTo>
- <pt x="r" y="rh" />
- </lnTo>
- <quadBezTo>
- <pt x="cx5" y="cy4" />
- <pt x="x5" y="y5" />
- </quadBezTo>
- <lnTo>
- <pt x="x5" y="y6" />
- </lnTo>
- <quadBezTo>
- <pt x="hc" y="cy6" />
- <pt x="x2" y="y6" />
- </quadBezTo>
- <lnTo>
- <pt x="x2" y="y5" />
- </lnTo>
- <quadBezTo>
- <pt x="cx4" y="cy4" />
- <pt x="l" y="rh" />
- </quadBezTo>
- <lnTo>
- <pt x="wd8" y="y2" />
- </lnTo>
- <close />
- <moveTo>
- <pt x="x2" y="y5" />
- </moveTo>
- <lnTo>
- <pt x="x2" y="y3" />
- </lnTo>
- <moveTo>
- <pt x="x5" y="y3" />
- </moveTo>
- <lnTo>
- <pt x="x5" y="y5" />
- </lnTo>
- <moveTo>
- <pt x="x3" y="y1" />
- </moveTo>
- <lnTo>
- <pt x="x3" y="y7" />
- </lnTo>
- <moveTo>
- <pt x="x4" y="y7" />
- </moveTo>
- <lnTo>
- <pt x="x4" y="y1" />
- </lnTo>
- </path>
- </pathLst>
-
- </ellipseRibbon>
- <ellipseRibbon2>
-
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="adj1" fmla="val 25000" />
-
- <gd name="adj2" fmla="val 50000" />
-
- <gd name="adj3" fmla="val 12500" />
-
- </avLst>
-
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
-
-
- <gd name="a1" fmla="pin 0 adj1 100000" />
- <gd name="a2" fmla="pin 25000 adj2 75000" />
- <gd name="q10" fmla="+- 100000 0 a1" />
- <gd name="q11" fmla="*/ q10 1 2" />
- <gd name="q12" fmla="+- a1 0 q11" />
- <gd name="minAdj3" fmla="max 0 q12" />
- <gd name="a3" fmla="pin minAdj3 adj3 a1" />
- <gd name="dx2" fmla="*/ w a2 200000" />
-
- <gd name="x2" fmla="+- hc 0 dx2" />
-
- <gd name="x3" fmla="+- x2 wd8 0" />
-
- <gd name="x4" fmla="+- r 0 x3" />
-
- <gd name="x5" fmla="+- r 0 x2" />
-
- <gd name="x6" fmla="+- r 0 wd8" />
-
- <gd name="dy1" fmla="*/ h a3 100000" />
-
- <gd name="f1" fmla="*/ 4 dy1 w" />
-
- <gd name="q1" fmla="*/ x3 x3 w" />
- <gd name="q2" fmla="+- x3 0 q1" />
- <gd name="u1" fmla="*/ f1 q2 1" />
-
- <gd name="y1" fmla="+- b 0 u1" />
- <gd name="cx1" fmla="*/ x3 1 2" />
-
- <gd name="cu1" fmla="*/ f1 cx1 1" />
-
- <gd name="cy1" fmla="+- b 0 cu1" />
- <gd name="cx2" fmla="+- r 0 cx1" />
-
-
-
- <gd name="q1" fmla="*/ h a1 100000" />
-
- <gd name="dy3" fmla="+- q1 0 dy1" />
-
- <gd name="q3" fmla="*/ x2 x2 w" />
- <gd name="q4" fmla="+- x2 0 q3" />
- <gd name="q5" fmla="*/ f1 q4 1" />
- <gd name="u3" fmla="+- q5 dy3 0" />
-
- <gd name="y3" fmla="+- b 0 u3" />
-
-
- <gd name="q6" fmla="+- dy1 dy3 u3" />
- <gd name="q7" fmla="+- q6 dy1 0" />
- <gd name="cu3" fmla="+- q7 dy3 0" />
-
- <gd name="cy3" fmla="+- b 0 cu3" />
- <gd name="rh" fmla="+- b 0 q1" />
-
- <gd name="q8" fmla="*/ dy1 14 16" />
- <gd name="u2" fmla="+/ q8 rh 2" />
-
- <gd name="y2" fmla="+- b 0 u2" />
-
- <gd name="u5" fmla="+- q5 rh 0" />
-
- <gd name="y5" fmla="+- b 0 u5" />
- <gd name="u6" fmla="+- u3 rh 0" />
-
- <gd name="y6" fmla="+- b 0 u6" />
- <gd name="cx4" fmla="*/ x2 1 2" />
-
- <gd name="q9" fmla="*/ f1 cx4 1" />
- <gd name="cu4" fmla="+- q9 rh 0" />
-
- <gd name="cy4" fmla="+- b 0 cu4" />
- <gd name="cx5" fmla="+- r 0 cx4" />
-
-
-
-
-
- <gd name="cu6" fmla="+- cu3 rh 0" />
-
- <gd name="cy6" fmla="+- b 0 cu6" />
- <gd name="u7" fmla="+- u1 dy3 0" />
- <gd name="y7" fmla="+- b 0 u7" />
- <gd name="cu7" fmla="+- q1 q1 u7" />
- <gd name="cy7" fmla="+- b 0 cu7" />
-
- </gdLst>
-
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <ahXY gdRefY="adj1" minY="0" maxY="100000">
- <pos x="hc" y="rh" />
- </ahXY>
- <ahXY gdRefX="adj2" minX="25000" maxX="100000">
- <pos x="x2" y="t" />
- </ahXY>
- <ahXY gdRefY="adj3" minY="minAdj3" maxY="a1">
- <pos x="l" y="dy1" />
- </ahXY>
- </ahLst>
-
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <cxn ang="3cd4">
- <pos x="hc" y="t" />
- </cxn>
- <cxn ang="cd2">
- <pos x="wd8" y="y2" />
- </cxn>
- <cxn ang="cd4">
- <pos x="hc" y="rh" />
- </cxn>
- <cxn ang="0">
- <pos x="x6" y="y2" />
- </cxn>
- </cxnLst>
-
- <rect l="x2" t="y6" r="x5" b="rh" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
-
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <path stroke="false" extrusionOk="false">
-
- <moveTo>
- <pt x="l" y="b" />
- </moveTo>
- <quadBezTo>
- <pt x="cx1" y="cy1" />
- <pt x="x3" y="y1" />
- </quadBezTo>
- <lnTo>
- <pt x="x2" y="y3" />
- </lnTo>
- <quadBezTo>
- <pt x="hc" y="cy3" />
- <pt x="x5" y="y3" />
- </quadBezTo>
- <lnTo>
- <pt x="x4" y="y1" />
- </lnTo>
- <quadBezTo>
- <pt x="cx2" y="cy1" />
- <pt x="r" y="b" />
- </quadBezTo>
- <lnTo>
- <pt x="x6" y="y2" />
- </lnTo>
- <lnTo>
- <pt x="r" y="q1" />
- </lnTo>
- <quadBezTo>
- <pt x="cx5" y="cy4" />
- <pt x="x5" y="y5" />
- </quadBezTo>
- <lnTo>
- <pt x="x5" y="y6" />
- </lnTo>
- <quadBezTo>
- <pt x="hc" y="cy6" />
- <pt x="x2" y="y6" />
- </quadBezTo>
- <lnTo>
- <pt x="x2" y="y5" />
- </lnTo>
- <quadBezTo>
- <pt x="cx4" y="cy4" />
- <pt x="l" y="q1" />
- </quadBezTo>
- <lnTo>
- <pt x="wd8" y="y2" />
- </lnTo>
- <close />
- </path>
- <path fill="darkenLess" stroke="false" extrusionOk="false">
- <moveTo>
- <pt x="x3" y="y7" />
- </moveTo>
- <lnTo>
- <pt x="x3" y="y1" />
- </lnTo>
- <lnTo>
- <pt x="x2" y="y3" />
- </lnTo>
- <quadBezTo>
- <pt x="hc" y="cy3" />
- <pt x="x5" y="y3" />
- </quadBezTo>
- <lnTo>
- <pt x="x4" y="y1" />
- </lnTo>
- <lnTo>
- <pt x="x4" y="y7" />
- </lnTo>
- <quadBezTo>
- <pt x="hc" y="cy7" />
- <pt x="x3" y="y7" />
- </quadBezTo>
- <close />
- </path>
- <path fill="none" extrusionOk="false">
-
- <moveTo>
- <pt x="l" y="b" />
- </moveTo>
- <lnTo>
- <pt x="wd8" y="y2" />
- </lnTo>
- <lnTo>
- <pt x="l" y="q1" />
- </lnTo>
- <quadBezTo>
- <pt x="cx4" y="cy4" />
- <pt x="x2" y="y5" />
- </quadBezTo>
- <lnTo>
- <pt x="x2" y="y6" />
- </lnTo>
- <quadBezTo>
- <pt x="hc" y="cy6" />
- <pt x="x5" y="y6" />
- </quadBezTo>
- <lnTo>
- <pt x="x5" y="y5" />
- </lnTo>
- <quadBezTo>
- <pt x="cx5" y="cy4" />
- <pt x="r" y="q1" />
- </quadBezTo>
- <lnTo>
- <pt x="x6" y="y2" />
- </lnTo>
- <lnTo>
- <pt x="r" y="b" />
- </lnTo>
- <quadBezTo>
- <pt x="cx2" y="cy1" />
- <pt x="x4" y="y1" />
- </quadBezTo>
- <lnTo>
- <pt x="x5" y="y3" />
- </lnTo>
- <quadBezTo>
- <pt x="hc" y="cy3" />
- <pt x="x2" y="y3" />
- </quadBezTo>
- <lnTo>
- <pt x="x3" y="y1" />
- </lnTo>
- <quadBezTo>
- <pt x="cx1" y="cy1" />
- <pt x="l" y="b" />
- </quadBezTo>
- <close />
- <moveTo>
- <pt x="x2" y="y3" />
- </moveTo>
- <lnTo>
- <pt x="x2" y="y5" />
- </lnTo>
- <moveTo>
- <pt x="x5" y="y5" />
- </moveTo>
- <lnTo>
- <pt x="x5" y="y3" />
- </lnTo>
- <moveTo>
- <pt x="x3" y="y7" />
- </moveTo>
- <lnTo>
- <pt x="x3" y="y1" />
- </lnTo>
- <moveTo>
- <pt x="x4" y="y1" />
- </moveTo>
- <lnTo>
- <pt x="x4" y="y7" />
- </lnTo>
- </path>
- </pathLst>
-
- </ellipseRibbon2>
- <flowChartAlternateProcess>
-
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="x2" fmla="+- r 0 ssd6" />
- <gd name="y2" fmla="+- b 0 ssd6" />
- <gd name="il" fmla="*/ ssd6 29289 100000" />
-
-
- <gd name="ir" fmla="+- r 0 il" />
- <gd name="ib" fmla="+- b 0 il" />
- </gdLst>
-
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <cxn ang="3cd4">
- <pos x="hc" y="t" />
- </cxn>
- <cxn ang="cd2">
- <pos x="l" y="vc" />
- </cxn>
- <cxn ang="cd4">
- <pos x="hc" y="b" />
- </cxn>
- <cxn ang="0">
- <pos x="r" y="vc" />
- </cxn>
- </cxnLst>
-
- <rect l="il" t="il" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
-
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <path>
- <moveTo>
- <pt x="l" y="ssd6" />
- </moveTo>
- <arcTo wR="ssd6" hR="ssd6" stAng="cd2" swAng="cd4" />
- <lnTo>
- <pt x="x2" y="t" />
- </lnTo>
- <arcTo wR="ssd6" hR="ssd6" stAng="3cd4" swAng="cd4" />
- <lnTo>
- <pt x="r" y="y2" />
- </lnTo>
- <arcTo wR="ssd6" hR="ssd6" stAng="0" swAng="cd4" />
- <lnTo>
- <pt x="ssd6" y="b" />
- </lnTo>
- <arcTo wR="ssd6" hR="ssd6" stAng="cd4" swAng="cd4" />
- <close />
- </path>
- </pathLst>
-
- </flowChartAlternateProcess>
- <flowChartCollate>
-
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="ir" fmla="*/ w 3 4" />
- <gd name="ib" fmla="*/ h 3 4" />
- </gdLst>
-
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <cxn ang="3cd4">
- <pos x="hc" y="t" />
- </cxn>
- <cxn ang="3cd4">
- <pos x="hc" y="vc" />
- </cxn>
- <cxn ang="cd4">
- <pos x="hc" y="b" />
- </cxn>
- </cxnLst>
-
- <rect l="wd4" t="hd4" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
-
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <path w="2" h="2">
- <moveTo>
- <pt x="0" y="0" />
- </moveTo>
- <lnTo>
- <pt x="2" y="0" />
- </lnTo>
- <lnTo>
- <pt x="1" y="1" />
- </lnTo>
- <lnTo>
- <pt x="2" y="2" />
- </lnTo>
- <lnTo>
- <pt x="0" y="2" />
- </lnTo>
- <lnTo>
- <pt x="1" y="1" />
- </lnTo>
- <close />
- </path>
- </pathLst>
-
- </flowChartCollate>
- <flowChartConnector>
-
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="idx" fmla="cos wd2 2700000" />
- <gd name="idy" fmla="sin hd2 2700000" />
- <gd name="il" fmla="+- hc 0 idx" />
- <gd name="ir" fmla="+- hc idx 0" />
- <gd name="it" fmla="+- vc 0 idy" />
- <gd name="ib" fmla="+- vc idy 0" />
- </gdLst>
-
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <cxn ang="3cd4">
- <pos x="hc" y="t" />
- </cxn>
- <cxn ang="3cd4">
- <pos x="il" y="it" />
- </cxn>
- <cxn ang="cd2">
- <pos x="l" y="vc" />
- </cxn>
- <cxn ang="cd4">
- <pos x="il" y="ib" />
- </cxn>
- <cxn ang="cd4">
- <pos x="hc" y="b" />
- </cxn>
- <cxn ang="cd4">
- <pos x="ir" y="ib" />
- </cxn>
- <cxn ang="0">
- <pos x="r" y="vc" />
- </cxn>
- <cxn ang="3cd4">
- <pos x="ir" y="it" />
- </cxn>
- </cxnLst>
-
- <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
-
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <path>
- <moveTo>
- <pt x="l" y="vc" />
- </moveTo>
- <arcTo wR="wd2" hR="hd2" stAng="cd2" swAng="cd4" />
- <arcTo wR="wd2" hR="hd2" stAng="3cd4" swAng="cd4" />
- <arcTo wR="wd2" hR="hd2" stAng="0" swAng="cd4" />
- <arcTo wR="wd2" hR="hd2" stAng="cd4" swAng="cd4" />
- <close />
- </path>
- </pathLst>
-
- </flowChartConnector>
- <flowChartDecision>
-
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="ir" fmla="*/ w 3 4" />
- <gd name="ib" fmla="*/ h 3 4" />
- </gdLst>
-
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <cxn ang="3cd4">
- <pos x="hc" y="t" />
- </cxn>
- <cxn ang="cd2">
- <pos x="l" y="vc" />
- </cxn>
- <cxn ang="cd4">
- <pos x="hc" y="b" />
- </cxn>
- <cxn ang="0">
- <pos x="r" y="vc" />
- </cxn>
- </cxnLst>
-
- <rect l="wd4" t="hd4" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
-
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <path w="2" h="2">
- <moveTo>
- <pt x="0" y="1" />
- </moveTo>
- <lnTo>
- <pt x="1" y="0" />
- </lnTo>
- <lnTo>
- <pt x="2" y="1" />
- </lnTo>
- <lnTo>
- <pt x="1" y="2" />
- </lnTo>
- <close />
- </path>
- </pathLst>
-
- </flowChartDecision>
- <flowChartDelay>
-
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="idx" fmla="cos wd2 2700000" />
- <gd name="idy" fmla="sin hd2 2700000" />
- <gd name="ir" fmla="+- hc idx 0" />
- <gd name="it" fmla="+- vc 0 idy" />
- <gd name="ib" fmla="+- vc idy 0" />
- </gdLst>
-
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <cxn ang="3cd4">
- <pos x="hc" y="t" />
- </cxn>
- <cxn ang="cd2">
- <pos x="l" y="vc" />
- </cxn>
- <cxn ang="cd4">
- <pos x="hc" y="b" />
- </cxn>
- <cxn ang="0">
- <pos x="r" y="vc" />
- </cxn>
- </cxnLst>
-
- <rect l="l" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
-
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <path>
- <moveTo>
- <pt x="l" y="t" />
- </moveTo>
- <lnTo>
- <pt x="hc" y="t" />
- </lnTo>
- <arcTo wR="wd2" hR="hd2" stAng="3cd4" swAng="cd2" />
- <lnTo>
- <pt x="l" y="b" />
- </lnTo>
- <close />
- </path>
- </pathLst>
-
- </flowChartDelay>
- <flowChartDisplay>
-
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="x2" fmla="*/ w 5 6" />
- </gdLst>
-
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <cxn ang="3cd4">
- <pos x="hc" y="t" />
- </cxn>
- <cxn ang="cd2">
- <pos x="l" y="vc" />
- </cxn>
- <cxn ang="cd4">
- <pos x="hc" y="b" />
- </cxn>
- <cxn ang="0">
- <pos x="r" y="vc" />
- </cxn>
- </cxnLst>
-
- <rect l="wd6" t="t" r="x2" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
-
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <path w="6" h="6">
- <moveTo>
- <pt x="0" y="3" />
- </moveTo>
- <lnTo>
- <pt x="1" y="0" />
- </lnTo>
- <lnTo>
- <pt x="5" y="0" />
- </lnTo>
- <arcTo wR="1" hR="3" stAng="3cd4" swAng="cd2" />
- <lnTo>
- <pt x="1" y="6" />
- </lnTo>
- <close />
- </path>
- </pathLst>
-
- </flowChartDisplay>
- <flowChartDocument>
-
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="y1" fmla="*/ h 17322 21600" />
- <gd name="y2" fmla="*/ h 20172 21600" />
- </gdLst>
-
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <cxn ang="3cd4">
- <pos x="hc" y="t" />
- </cxn>
- <cxn ang="cd2">
- <pos x="l" y="vc" />
- </cxn>
- <cxn ang="cd4">
- <pos x="hc" y="y2" />
- </cxn>
- <cxn ang="0">
- <pos x="r" y="vc" />
- </cxn>
- </cxnLst>
-
- <rect l="l" t="t" r="r" b="y1" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
-
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <path w="21600" h="21600">
- <moveTo>
- <pt x="0" y="0" />
- </moveTo>
- <lnTo>
- <pt x="21600" y="0" />
- </lnTo>
- <lnTo>
- <pt x="21600" y="17322" />
- </lnTo>
- <cubicBezTo>
- <pt x="10800" y="17322" />
- <pt x="10800" y="23922" />
- <pt x="0" y="20172" />
- </cubicBezTo>
- <close />
- </path>
- </pathLst>
-
- </flowChartDocument>
- <flowChartExtract>
-
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="x2" fmla="*/ w 3 4" />
- </gdLst>
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <cxn ang="3cd4">
- <pos x="hc" y="t" />
- </cxn>
- <cxn ang="cd2">
- <pos x="wd4" y="vc" />
- </cxn>
- <cxn ang="cd4">
- <pos x="hc" y="b" />
- </cxn>
- <cxn ang="0">
- <pos x="x2" y="vc" />
- </cxn>
- </cxnLst>
-
- <rect l="wd4" t="vc" r="x2" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
-
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <path w="2" h="2">
- <moveTo>
- <pt x="0" y="2" />
- </moveTo>
- <lnTo>
- <pt x="1" y="0" />
- </lnTo>
- <lnTo>
- <pt x="2" y="2" />
- </lnTo>
- <close />
- </path>
- </pathLst>
-
- </flowChartExtract>
- <flowChartInputOutput>
-
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="x3" fmla="*/ w 2 5" />
- <gd name="x4" fmla="*/ w 3 5" />
- <gd name="x5" fmla="*/ w 4 5" />
- <gd name="x6" fmla="*/ w 9 10" />
- </gdLst>
-
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <cxn ang="3cd4">
- <pos x="x4" y="t" />
- </cxn>
- <cxn ang="3cd4">
- <pos x="hc" y="t" />
- </cxn>
- <cxn ang="cd2">
- <pos x="wd10" y="vc" />
- </cxn>
- <cxn ang="cd4">
- <pos x="x3" y="b" />
- </cxn>
- <cxn ang="cd4">
- <pos x="hc" y="b" />
- </cxn>
- <cxn ang="0">
- <pos x="x6" y="vc" />
- </cxn>
- </cxnLst>
-
- <rect l="wd5" t="t" r="x5" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
-
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <path w="5" h="5">
- <moveTo>
- <pt x="0" y="5" />
- </moveTo>
- <lnTo>
- <pt x="1" y="0" />
- </lnTo>
- <lnTo>
- <pt x="5" y="0" />
- </lnTo>
- <lnTo>
- <pt x="4" y="5" />
- </lnTo>
- <close />
- </path>
- </pathLst>
-
- </flowChartInputOutput>
- <flowChartInternalStorage>
-
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <cxn ang="3cd4">
- <pos x="hc" y="t" />
- </cxn>
- <cxn ang="cd2">
- <pos x="l" y="vc" />
- </cxn>
- <cxn ang="cd4">
- <pos x="hc" y="b" />
- </cxn>
- <cxn ang="0">
- <pos x="r" y="vc" />
- </cxn>
- </cxnLst>
-
- <rect l="wd8" t="hd8" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
-
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <path stroke="false" extrusionOk="false" w="1" h="1">
-
- <moveTo>
- <pt x="0" y="0" />
- </moveTo>
- <lnTo>
- <pt x="1" y="0" />
- </lnTo>
- <lnTo>
- <pt x="1" y="1" />
- </lnTo>
- <lnTo>
- <pt x="0" y="1" />
- </lnTo>
- <close />
- </path>
- <path fill="none" extrusionOk="false" w="8" h="8">
-
- <moveTo>
- <pt x="1" y="0" />
- </moveTo>
- <lnTo>
- <pt x="1" y="8" />
- </lnTo>
- <moveTo>
- <pt x="0" y="1" />
- </moveTo>
- <lnTo>
- <pt x="8" y="1" />
- </lnTo>
- </path>
- <path fill="none" w="1" h="1">
-
- <moveTo>
- <pt x="0" y="0" />
- </moveTo>
- <lnTo>
- <pt x="1" y="0" />
- </lnTo>
- <lnTo>
- <pt x="1" y="1" />
- </lnTo>
- <lnTo>
- <pt x="0" y="1" />
- </lnTo>
- <close />
- </path>
- </pathLst>
-
- </flowChartInternalStorage>
- <flowChartMagneticDisk>
-
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="y3" fmla="*/ h 5 6" />
- </gdLst>
-
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <cxn ang="3cd4">
- <pos x="hc" y="hd3" />
- </cxn>
- <cxn ang="3cd4">
- <pos x="hc" y="t" />
- </cxn>
- <cxn ang="cd2">
- <pos x="l" y="vc" />
- </cxn>
- <cxn ang="cd4">
- <pos x="hc" y="b" />
- </cxn>
- <cxn ang="0">
- <pos x="r" y="vc" />
- </cxn>
- </cxnLst>
-
- <rect l="l" t="hd3" r="r" b="y3" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
-
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <path stroke="false" extrusionOk="false" w="6" h="6">
-
- <moveTo>
- <pt x="0" y="1" />
- </moveTo>
- <arcTo wR="3" hR="1" stAng="cd2" swAng="cd2" />
- <lnTo>
- <pt x="6" y="5" />
- </lnTo>
- <arcTo wR="3" hR="1" stAng="0" swAng="cd2" />
- <close />
- </path>
- <path fill="none" extrusionOk="false" w="6" h="6">
-
- <moveTo>
- <pt x="6" y="1" />
- </moveTo>
- <arcTo wR="3" hR="1" stAng="0" swAng="cd2" />
- </path>
- <path fill="none" w="6" h="6">
-
- <moveTo>
- <pt x="0" y="1" />
- </moveTo>
- <arcTo wR="3" hR="1" stAng="cd2" swAng="cd2" />
- <lnTo>
- <pt x="6" y="5" />
- </lnTo>
- <arcTo wR="3" hR="1" stAng="0" swAng="cd2" />
- <close />
- </path>
- </pathLst>
-
- </flowChartMagneticDisk>
- <flowChartMagneticDrum>
-
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="x2" fmla="*/ w 2 3" />
- </gdLst>
-
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <cxn ang="3cd4">
- <pos x="hc" y="t" />
- </cxn>
- <cxn ang="cd2">
- <pos x="l" y="vc" />
- </cxn>
- <cxn ang="cd4">
- <pos x="hc" y="b" />
- </cxn>
- <cxn ang="0">
- <pos x="x2" y="vc" />
- </cxn>
- <cxn ang="0">
- <pos x="r" y="vc" />
- </cxn>
- </cxnLst>
-
- <rect l="wd6" t="t" r="x2" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
-
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <path stroke="false" extrusionOk="false" w="6" h="6">
-
- <moveTo>
- <pt x="1" y="0" />
- </moveTo>
- <lnTo>
- <pt x="5" y="0" />
- </lnTo>
- <arcTo wR="1" hR="3" stAng="3cd4" swAng="cd2" />
- <lnTo>
- <pt x="1" y="6" />
- </lnTo>
- <arcTo wR="1" hR="3" stAng="cd4" swAng="cd2" />
- <close />
- </path>
- <path fill="none" extrusionOk="false" w="6" h="6">
-
- <moveTo>
- <pt x="5" y="6" />
- </moveTo>
- <arcTo wR="1" hR="3" stAng="cd4" swAng="cd2" />
- </path>
- <path fill="none" w="6" h="6">
-
- <moveTo>
- <pt x="1" y="0" />
- </moveTo>
- <lnTo>
- <pt x="5" y="0" />
- </lnTo>
- <arcTo wR="1" hR="3" stAng="3cd4" swAng="cd2" />
- <lnTo>
- <pt x="1" y="6" />
- </lnTo>
- <arcTo wR="1" hR="3" stAng="cd4" swAng="cd2" />
- <close />
- </path>
- </pathLst>
-
- </flowChartMagneticDrum>
- <flowChartMagneticTape>
-
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
- <gd name="idx" fmla="cos wd2 2700000" />
- <gd name="idy" fmla="sin hd2 2700000" />
- <gd name="il" fmla="+- hc 0 idx" />
- <gd name="ir" fmla="+- hc idx 0" />
- <gd name="it" fmla="+- vc 0 idy" />
- <gd name="ib" fmla="+- vc idy 0" />
- <gd name="ang1" fmla="at2 w h" />
- </gdLst>