Hi!
I using CSS calc() function to calculate width for some elements ( .static-top-header selector for example ).
But after I loaded the document into an HTMLDocument and rendered it - I ended up with CSS without attributes that use the calc() function.
This breaks the markup on my page. How can this be resolved? Does ASPOSE support calc()?
Here’s my HTML and CSS code before uploading to HTMLDocument:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE11" />
<meta content="width=device-width, initial-scale=1, shrink-to-fit=no" name="viewport" />
<title>2023.03.08</title>
<!--publish_html.css-->
<style type="text/css">
pre { margin-left: 2em; white-space: pre-wrap; }
h2 { margin: 3em 0 1em 0; }
h3 { margin: 2.5em 0 1em 0; }
h4 { margin: 2.5em 0 0.75em 0; }
h5, h6 { margin: 2.5em 0 1em; }
h1 + h2, h1 + h2 + h2, h1 + p, h1 + p + h2 { margin: 0.75em 0 0.75em; }
h2 + h3, h3 + h4, h4 + h5, h5 + h6 { margin-top: 0.5em; }
p { margin: 1em 0; }
hr:not(.top) { display: block; background: none; border: none; padding: 0; margin: 2em 0; height: auto; }
.element dd, .element dl { margin-top: 0em; margin-bottom: 0.25em;}
dt { margin-top: 0.75em; margin-bottom: 0.5em; clear: left; }
.element dt { margin-top: 0.5em; margin-bottom: 0.5em; }
dt + dt { margin-top: 0; }
dd dt { margin-top: 0.25em; margin-bottom: 0; }
dd p { margin-top: 0; }
dd dl + p { margin-top: 1em; }
dd table + p { margin-top: 1em; }
p + * > li, dd li { margin: 1em 0; }
dt, dfn { font-weight: bold; font-style: normal; }
i, em { font-style: italic; }
dt dfn { font-style: italic; }
pre, code { font-size: inherit; font-family: monospace; font-variant: normal; }
pre strong { color: black; font: inherit; font-weight: bold; background: yellow; }
pre em { font-weight: bolder; font-style: normal; }
@media screen { code { color: #D93B00; } code a:link, code a:visited { color: inherit; } }
var { background-color: #f9f9f9; border: 1px solid #eee; padding: 0 2px; }
var sub { vertical-align: bottom; font-size: smaller; position: relative; top: 0.1em; }
table { border-collapse: collapse; border-color:#000000; border-style: solid; }
table thead, table tbody { border-bottom: solid; }
table tbody th:first-child { border-left: solid; }
table tbody th { text-align: left; }
table td, table th { border-left: solid; border-right: solid; border-bottom: solid; vertical-align: top; padding: 0.2em; }
h4 { position: relative; z-index: 3; }
h4 + .element, h4 + div + .element { margin-top: -2.5em; padding-top: 2em; }
.element {
background: #F4F4FA;
color: black;
margin: 0 0 1em 0.15em;
padding: 0 1em 0.25em 0.75em;
border-left: solid #9999FF 0.25em;
position: relative;
z-index: 1;
}
.element:before {
position: absolute;
z-index: 2;
top: 0;
left: -2.05em;
height: 2em;
width: 1.8em;
background: #F4F4FA;
content: ' ';
border-style: none none solid solid;
border-color: #9999FF;
border-width: 0.25em;
}
svg{
max-width: 100%;
height: auto;
}
svg a:link, svg a:visited {
cursor: pointer;
}
svg a text,
svg text a {
fill: blue; /* Even for text, SVG uses fill over color */
text-decoration: underline;
}
svg a:hover, svg a:active {
outline: dotted 1px blue;
}
/******************************************************************************/
/* Body */
/******************************************************************************/
body {
counter-reset: example figure issue;
/* Layout */
margin: 0 auto;
/* Typography */
line-height: 1;
font-family: Calibri light;
font-size: 8pt;
widows: 2;
orphans: 2;
word-wrap: break-word;
overflow-wrap: break-word;
hyphens: auto;
/* Colors */
color: black;
}
@media screen {
html, body, .front-page, .main-content {
width: 100%;
}
nav {
height: 100%;
}
.front-page{
height: 100vh;
}
.main-content{
}
}
/** ToC Sidebar *************************************************************/
@media screen {
html, body {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
body #toc {
position: fixed;
top: 0;
bottom: 0;
left: 0;
width: 90mm;
text-decoration: none;
overflow: auto;
scrollbar-width: thin;
padding: 0 0 0 3mm;
background-color: #5e5b5b;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
z-index: 100;
}
body #toc a {
text-decoration: none;
color: #000;
display: flex;
flex-direction: row;
}
body #toc a span:first-child {
flex: 0 0 auto;
padding-right: 5px;
}
body #toc a span:last-child {
word-wrap: break-word;
}
body #toc ol {
padding: 0;
list-style: none;
}
body #toc li.chapter-title{
margin-top: 6mm;
}
body #toc li.chapter-title>a{
/*color: #fdc300;*/
color: #e8e8e6;
font-family: Calibri light;
font-size: 12pt;
font-weight: bold;
word-wrap: break-word;
display: block;
text-indent: -3mm;
margin-left: 1mm;
}
body #toc li.section-title>a{
margin-top: 6mm;
padding-left: 3mm;
color: #e8e8e6;
font-family: Calibri light;
font-size: 12pt;
word-wrap: break-word;
display: block;
text-indent: -6mm;
margin-left: 2mm;
}
body #toc li.topic-title>a{
margin-top: 6mm;
padding-left: 3mm;
color: #e8e8e6;
font-family: Calibri light;
font-size: 10pt;
word-wrap: break-word;
display: block;
text-indent: -8mm;
margin-left: 7mm;
}
#tocShowBtn
{
position: absolute;
top: 50%;
height: 5mm;
width: 5mm;
background-color: #787474;
cursor: pointer;
background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9InllcyI/Pg0KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMiAyMiI+DQoJPGRlZnM+DQoJCTxjbGlwUGF0aD4NCgkJCTxwYXRoIGZpbGw9IiMwMGYiIGZpbGwtb3BhY2l0eT0iLjUxNCIgZD0ibS03IDEwMjQuMzZoMzR2MzRoLTM0eiIvPg0KCQk8L2NsaXBQYXRoPg0KCQk8Y2xpcFBhdGg+DQoJCQk8cGF0aCBmaWxsPSIjYWFkZTg3IiBmaWxsLW9wYWNpdHk9Ii40NzIiIGQ9Im0tNiAxMDI4LjM2aDMydjMyaC0zMnoiLz4NCgkJPC9jbGlwUGF0aD4NCgk8L2RlZnM+DQoJPHBhdGggZD0ibTM0NS40NCAyNDguMjlsLTE5NC4yOSAxOTQuMjhjLTEyLjM1OSAxMi4zNjUtMzIuMzk3IDEyLjM2NS00NC43NSAwLTEyLjM1NC0xMi4zNTQtMTIuMzU0LTMyLjM5MSAwLTQ0Ljc0NGwxNzEuOTEtMTcxLjkxLTE3MS45MS0xNzEuOWMtMTIuMzU0LTEyLjM1OS0xMi4zNTQtMzIuMzk0IDAtNDQuNzQ4IDEyLjM1NC0xMi4zNTkgMzIuMzkxLTEyLjM1OSA0NC43NSAwbDE5NC4yOSAxOTQuMjhjNi4xNzcgNi4xOCA5LjI2MiAxNC4yNzEgOS4yNjIgMjIuMzY2IDAgOC4wOTktMy4wOTEgMTYuMTk2LTkuMjY3IDIyLjM3MyIgdHJhbnNmb3JtPSJtYXRyaXgoLjAzNTQxLS4wMDAxMy4wMDAxMy4wMzU0MSAyLjk4IDMuMDIpIiBmaWxsPSIjZmZmIi8+DQo8L3N2Zz4=');
}
#tocHideBtn
{
position: absolute;
top: 52%;
height: 5mm;
width: 5mm;
background-color: #787474;
cursor: pointer;
background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjIgMjIiPg0KCTxkZWZzPg0KCQk8Y2xpcFBhdGg+DQoJCQk8cGF0aCBmaWxsPSIjMDBmIiBmaWxsLW9wYWNpdHk9Ii41MTQiIGQ9Im0tNyAxMDI0LjM2aDM0djM0aC0zNHoiLz4NCgkJPC9jbGlwUGF0aD4NCgkJPGNsaXBQYXRoPg0KCQkJPHBhdGggZmlsbD0iI2FhZGU4NyIgZmlsbC1vcGFjaXR5PSIuNDcyIiBkPSJtLTYgMTAyOC4zNmgzMnYzMmgtMzJ6Ii8+DQoJCTwvY2xpcFBhdGg+DQoJPC9kZWZzPg0KCTxwYXRoIGQ9Im0zNDUuNDQgMjQ4LjI5bC0xOTQuMjkgMTk0LjI4Yy0xMi4zNTkgMTIuMzY1LTMyLjM5NyAxMi4zNjUtNDQuNzUgMC0xMi4zNTQtMTIuMzU0LTEyLjM1NC0zMi4zOTEgMC00NC43NDRsMTcxLjkxLTE3MS45MS0xNzEuOTEtMTcxLjljLTEyLjM1NC0xMi4zNTktMTIuMzU0LTMyLjM5NCAwLTQ0Ljc0OCAxMi4zNTQtMTIuMzU5IDMyLjM5MS0xMi4zNTkgNDQuNzUgMGwxOTQuMjkgMTk0LjI4YzYuMTc3IDYuMTggOS4yNjIgMTQuMjcxIDkuMjYyIDIyLjM2NiAwIDguMDk5LTMuMDkxIDE2LjE5Ni05LjI2NyAyMi4zNzMiIGZpbGw9IiNmZmYiIHRyYW5zZm9ybT0ibWF0cml4KC0uMDM1NDEtLjAwMDEzLS4wMDAxMy4wMzU0MSAxOS4wMiAzLjAyKSIvPg0KPC9zdmc+');
}
#tocNavBtnsBar
{
position: fixed;
width: 5mm;
height: 100%;
left: 0mm;
margin-left: 90mm;
background-color: #5e5b5b;
z-index: 150;
}
body main {
}
.activeHeaderTitle > a {
font-weight: bold;
color: #fdc300 !important;
}
/***** front-page *****/
.front-page>div {
margin-left: 95mm;
}
.front-page>div.title1 {
position: absolute;
left: 3mm;
top: 6mm;
font-family: Calibri light;
font-size: 14pt;
color: #000;
z-index: 10;
}
.front-page>div.title2 {
position: absolute;
left: 0;
top: 8mm;
right: 0;
text-align:center;
font-family: Calibri light;
font-size: 20pt;
font-weight: bold;
color: #e8e8e6;
z-index: 10;
}
.front-page>div.product-image {
position: absolute;
left: 0;
top: 27mm;
right: 0;
bottom: 0;
text-align:center;
overflow: hidden;
z-index: 5;
}
.front-page>div.version-block {
position: absolute;
left: 3mm;
bottom: 6mm;
z-index: 10;
}
.front-page>div.copyright {
position: absolute;
left: 0;
bottom: 6mm;
right: 0;
text-align:center;
z-index: 10;
}
.front-page>div.footer-image {
position: absolute;
bottom: 0;
right: 0;
}
.main-content section {
left:0;
top: 9mm;
right:0;
bottom: 0;
margin-left: 95mm;
}
/***** header of main content *****/
.main-content header, .static-top-header {
height: 9mm !important;
margin-left: 95mm;
border-bottom: 1pt solid #fdc300;
z-index: 10;
}
.static-top-header {
position: fixed;
height: 9mm;
width: calc(100% - 95mm);
box-sizing: border-box;
z-index: 50;
/*border: 2px solid pink;*/
line-height: 9mm;
background-color: white;
}
.main-content header img {
height: 7mm;
float: right;
}
.main-content header nav, .static-top-header {
height: 100%;
display: inline-block;
vertical-align: middle;
font-family: Calibri light;
font-size: 14pt;
color: #000000;
padding-left: 4mm;
}
.main-content header nav ul {
padding: 0;
margin: 0;
line-height: 9mm;
}
.main-content header nav li {
display: inline-block;
}
.main-content header nav li a {
display: block;
text-decoration: none;
}
/***** content elements *****/
.section_container{
margin-left: 3mm;
padding-top: 30px;
margin-top: -30px;
}
.section_title {
margin-left: 2mm;
margin-top: 2.4722222222mm /*6mm-10pt*/;
font-family: Calibri light;
font-size: 14pt;
color: #000;
}
.topic_title {
margin-left: 2mm;
margin-top: 4.4722222222mm /*8mm-10pt*/;
font-family: Calibri light;
font-size: 12pt;
color: #000;
}
.topic_container {
padding-top: 30px;
margin-top: -30px;
}
.topic_container .body {
margin-top: 3.47222mm /*7mm-10pt*/;
font-family: Calibri light;
font-size: 10pt;
color: #000;
}
.topic_container .body a {
font-family: Calibri light;
font-size: 8pt;
font-weight: bold;
color:#e57002;
}
.topic_container .body img.image{
margin-top: 4mm;
max-width: 100%;
height: auto !important;
}
.topic_container .body table.table{
margin-top: 4mm;
max-width: 161mm;
font-family: Calibri light;
font-size: 10pt;
color: #000;
}
.topic_container .body .entry_header_attributes {
font-family: Calibri light;
font-size: 10pt;
font-weight: bold;
color: #000;
background-color: #FFC000;
}
/** Note *************************************************************/
table.icons_wrap {
border: 0.5pt solid rgb(255, 191, 0);
width: 100%;
}
table.icons_wrap td, table.icons_wrap th { border: none; }
table.icons_wrap thead, table.icons_wrap tbody { border: none; }
}</style>
<!--publish_html.js-->
<script>/*toc.js*/
//we need this function to make margin between static header and topic title - after <a href="#.."> will be executed - to prevent hiding topic title under static header
//generatedId - id of element which position using for make margin ( see toc.xsl )
function onTOCLinkClick(generatedId, e) {
try {
//margin between static header and topic title
var titleElement = document.getElementById(generatedId.id);
if (titleElement == null) {
return;
}
window.setTimeout(function() {
window.scrollTo(0, titleElement.offsetTop - 44);
}, 1); //we need delay to execute this block AFTER <a href="#...."> will be executed
}
catch (ex) {
console.log(ex);
}
}
function onTOCListItemClick(e) {
var titles = document.getElementsByClassName("content");
for (var i = 0; i < titles.length; i++) {
titles[i].style.color = "#e8e8e6";
}
e = window.event;
e.srcElement.style.color = "#ffa500";
}
function showTOC(isShow) {
var tocBar = document.getElementById('toc');
var tocNavBtns = document.getElementById('tocNavBtnsBar');
var mainContentHeaders = document.querySelectorAll(".main-content header");
var mainContentSections = document.querySelectorAll(".main-content section");
var staticContentHeader = document.querySelector(".static-top-header");
switch (isShow) {
case true:
{
tocBar.style.display = "block";
tocNavBtns.style.marginLeft = "90mm";
for (var i = 0; i < mainContentSections.length; i++) {
mainContentSections[i].style.marginLeft = "95mm";
}
for (var i = 0; i < mainContentHeaders.length; i++) {
mainContentHeaders[i].style.marginLeft = "95mm";
}
staticContentHeader.style.marginLeft = "95mm";
staticContentHeader.style.width = "calc(100% - 95mm)";
break;
}
case false:
{
tocBar.style.display = "none";
tocNavBtns.style.marginLeft = "0mm";
for (var i = 0; i < mainContentSections.length; i++) {
mainContentSections[i].style.marginLeft = "3mm";
}
for (var i = 0; i < mainContentHeaders.length; i++) {
mainContentHeaders[i].style.marginLeft = "3mm";
}
staticContentHeader.style.marginLeft = "3mm";
staticContentHeader.style.width = "calc(100% - 3mm)";
break;
}
default:
{
break;
}
}
}
/*main.js*/
function generateURLsForAllImages()
{
// var images = document.body.getElementsByTagName("img");
// for (var i = 0; i < images.length; ++i)
// image_href(images[i]);
}
/*
* This regex is used by ds_image_href to tell if an image URL can not
* be used directly and required conversion by the Media Database.
*
* While we are not supporting EPS (DC-285) we can still leave the
* support here.
*/
var image_href_imageNeedsConversionRe =
/\.(?:pdf|ps|eps|tiff|tif)$/;
/*
* This regex is used by ds_image_href to tell if an image needs
* "tp=rgb" argument when requesting conversion to JPEG from Media
* Database.
*/
var image_href_imageNeedsTPParamRe = /\.eps\.jpeg\b/;
/*
* This method is used by the XSL to generate an URL for an image that
* can be shown by a browser.
*/
function image_href(element)
{
var image = element;
var href = element.getAttribute("original_src");
if (href == undefined || href == "")
return;
var width = element.getAttribute("original_width");
var height = element.getAttribute("original_height");
var params = [];
if (width != undefined && width != "")
{
width = unitsConversion.toPixels(width, 0);
params.push("w=" + width);
}
else
width = undefined;
if (height != undefined && height != "")
{
height = unitsConversion.toPixels(height, 0);
params.push("h=" + height);
}
else
height = undefined;
if (width != undefined && height != undefined)
/* Clean up the URL if we have size. */
href = href.replace(/\?.*$/, "");
/* Request conversion for vector images. */
if (image_href_imageNeedsConversionRe.test(href))
href = href + ".jpeg";
if (width != undefined && height != undefined)
{
/*
* In case we are preserving the original image aspect we want all
* of the image to be visible.
*
* fo means fit option and 1 means FitInsideWithBorders. This is
* defined in /Documentation/image server user.docx.
*/
var limitSizeByAspect = element.getAttribute("limitSizeByAspect");
if (limitSizeByAspect == undefined
|| limitSizeByAspect != "false")
params.push("fo=1");
}
/*
* I'm not sure why but IE can not show an EPS file that was
* converted to JPEG without this parameter. Firefox shows with no
* problem. As I do not have necessary documentation on the Media
* Database I do not know the reason. In case you know update this
* comment.
*/
if (image_href_imageNeedsTPParamRe.test(href))
params.push("tp=rgb");
if (params.length > 0)
href = href + "?" + params.join("&");
element.setAttribute("src", href);
}
/*
* Scripts in this file provides unit conversion facilities under IE
* and Firefox.
*
* Right now these are used during operations with images.
*
* Usage:
* Just call unitsConversion.to{Pixels,MM}(value) where value is a
* string that contains a number and a unit that is accepted as a
* width by CSS. Example:
*
* var lengthInMM = "10mm";
* var lengthInPx = unitsConversion.toPixels(lengthInMM);
*
* In case or error all methods return 0. Some may show messages
* explaining an error that occurred.
*/
var unitsConversion = {};
/**
* Converts a value in any units a width can be specified in CSS into
* a value in pixels.
*
* @param value A String that contains a number and a unit
* specification. See CSS for additional details.
*
* @param precision Number of decimal digits after comma to leave in
* the result. If not specified (is undefined) 2 is
* assumed.
*
* @return A Number that is the same length that was passes in via
* value but in pixels.
*/
unitsConversion.toPixels = function (value, precision)
{
this._init();
return this.toPixels(value, precision);
};
/**
* Converts a value in any units a width can be specified in CSS into
* a value in millimeters.
*
* @param value A String that contains a number and a unit
* specification. See CSS for additional details.
*
* @param precision Number of decimal digits after dot to leave in
* the result. If not specified (is undefined) 2 is
* assumed.
*
* @return A Number that is the same length that was passes in via
* value but in millimeters.
*/
unitsConversion.toMM = function (value, precision)
{
this._init();
return this.toMM(value, precision);
};
/*
* === Implementation ===
*/
unitsConversion.helper = undefined;
unitsConversion.ie = undefined;
/**
* Performs initialization if required.
*/
unitsConversion._init = function ()
{
if (this.ie == undefined)
this._checkBrowser();
if (this.helper == undefined)
this._createHelper();
/*
* Original toPixels and toMM are stubs that just call _init and
* then recall themselves expecting the _init to plug-in correct
* implementation.
*/
if (this.ie)
{
this.toPixels = this._toPixels_ie;
this.toMM = this._toMM_ie;
}
else
{
this.toPixels = this._toPixels_standard;
this.toMM = this._toMM_standard;
}
};
/**
* As IE does not support all the standard functionality we need
* special versions for IE.
*/
unitsConversion._checkBrowser = function ()
{
this.ie = (navigator.userAgent.toLowerCase().indexOf("msie") >= 0);
};
/**
* We use a helper object to do conversion. This method creates this
* object.
*/
unitsConversion._createHelper = function ()
{
var helper = document.createElement("div");
helper.style.position = "absolute";
helper.style.left = "0px";
helper.style.top = "0px";
helper.style.width = "0px";
helper.style.height = "0px";
helper.style.zIndex = -1000;
document.body.appendChild(helper);
this.helper = helper;
};
/**
* Rounds a number to the specified precision.
*
* @param value A number to round.
*
* @param precision Desired precision. If not specified (is
* undefined) 2 is assumed.
*
* @return Rounds value to have no more than precision digits after
* dot.
*/
unitsConversion._round = function (value, precision)
{
if (precision == undefined)
precision = 2;
var coef = Math.pow(10, precision);
return Math.round(value * coef) / coef;
};
/**
* toPixels standard implementation.
*/
unitsConversion._toPixels_standard = function (value, precision)
{
this.helper.style.width = value;
var style = window.getComputedStyle(this.helper, null);
var widthCSSValue = style.getPropertyCSSValue("width");
var widthValueType = widthCSSValue.cssValueType;
var result = 0;
if (widthValueType != widthCSSValue.CSS_PRIMITIVE_VALUE)
{
alert("unitsConversion error. Unexpected type of the generated "
+ "CSS value: " + widthValueType + "\n"
+ "Expected type: " + widthCSSValue.CSS_PRIMITIVE_VALUE);
}
else
result = widthCSSValue.getFloatValue(widthCSSValue.CSS_PX);
/* Make sure our helper will remain invisible. */
this.helper.style.width = "0px";
return this._round(result, precision);
};
/**
* toPixels implementation for IE.
*/
unitsConversion._toPixels_ie = function (value, precision)
{
var result = 0;
try
{
this.helper.style.width = value;
result = this.helper.style.pixelWidth;
}
catch(e)
{
/*
* "Invalid argument" means the value was not a valid CSS length.
* Otherwise we do not want to hide an error.
*/
if (e.message != "Invalid argument.")
throw e;
}
/* Make sure our helper will remain invisible. */
this.helper.style.width = "0px";
return this._round(result, precision);
};
/**
* toMM standard implementation.
*/
unitsConversion._toMM_standard = function (value, precision)
{
this.helper.style.width = value;
var style = window.getComputedStyle(this.helper, null);
var widthCSSValue = style.getPropertyCSSValue("width");
var widthValueType = widthCSSValue.cssValueType;
var result = 0;
if (widthValueType != widthCSSValue.CSS_PRIMITIVE_VALUE)
{
alert("unitsConversion error. Unexpected type of the generated "
+ "CSS value: " + widthValueType + "\n"
+ "Expected type: " + widthCSSValue.CSS_PRIMITIVE_VALUE);
}
else
result = widthCSSValue.getFloatValue(widthCSSValue.CSS_MM);
/* Make sure our helper will remain invisible. */
this.helper.style.width = "0px";
return this._round(result, precision);
};
/**
* This regex is used by _toMM_ie to tell if a length is a mm length
* and what is the numeric part.
*/
unitsConversion._toMM_ie_mmRe = /^\s*(\d+(?:\.\d+)?)\s*mm\s*$/;
/**
* toMM implementation for IE.
*/
unitsConversion._toMM_ie = function (value, precision)
{
var m = this._toMM_ie_mmRe.exec(value);
if (m != null)
return Number(m[1]);
/*
* Check the input value. We can do direct conversion only for
* pixels.
*/
var valueInPixels = Number(String(value).replace(/px$/, ""));
if (isNaN(valueInPixels))
/*
* If the conversion fails we consider the value to be in some
* units that are not pixels.
*
* This conversion is rather imprecise. Not sure how to fix
* this...
*/
valueInPixels = this._toPixels_ie(value);
/* We need to specify that our target units is mm. */
this.helper.style.width = "1mm";
this.helper.style.pixelWidth = valueInPixels;
var result = this.helper.style.posWidth;
/* Make sure our helper will remain invisible. */
this.helper.style.width = "0px";
return this._round(result, precision);
};
/*unitsConversion.js*/
/*
* Scripts in this file provides unit conversion facilities under IE
* and Firefox.
*
* Right now these are used during operations with images.
*
* Usage:
* Just call unitsConversion.to{Pixels,MM}(value) where value is a
* string that contains a number and a unit that is accepted as a
* width by CSS. Example:
*
* var lengthInMM = "10mm";
* var lengthInPx = unitsConversion.toPixels(lengthInMM);
*
* In case or error all methods return 0. Some may show messages
* explaining an error that occurred.
*/
var unitsConversion = {};
/**
* Converts a value in any units a width can be specified in CSS into
* a value in pixels.
*
* @param value A String that contains a number and a unit
* specification. See CSS for additional details.
*
* @param precision Number of decimal digits after comma to leave in
* the result. If not specified (is undefined) 2 is
* assumed.
*
* @return A Number that is the same length that was passes in via
* value but in pixels.
*/
unitsConversion.toPixels = function (value, precision)
{
this._init();
return this.toPixels(value, precision);
};
/**
* Converts a value in any units a width can be specified in CSS into
* a value in millimeters.
*
* @param value A String that contains a number and a unit
* specification. See CSS for additional details.
*
* @param precision Number of decimal digits after dot to leave in
* the result. If not specified (is undefined) 2 is
* assumed.
*
* @return A Number that is the same length that was passes in via
* value but in millimeters.
*/
unitsConversion.toMM = function (value, precision)
{
this._init();
return this.toMM(value, precision);
};
/*
* === Implementation ===
*/
unitsConversion.helper = undefined;
unitsConversion.ie = undefined;
/**
* Performs initialization if required.
*/
unitsConversion._init = function ()
{
if (this.ie == undefined)
this._checkBrowser();
if (this.helper == undefined)
this._createHelper();
/*
* Original toPixels and toMM are stubs that just call _init and
* then recall themselves expecting the _init to plug-in correct
* implementation.
*/
if (this.ie)
{
this.toPixels = this._toPixels_ie;
this.toMM = this._toMM_ie;
}
else
{
this.toPixels = this._toPixels_standard;
this.toMM = this._toMM_standard;
}
};
/**
* As IE does not support all the standard functionality we need
* special versions for IE.
*/
unitsConversion._checkBrowser = function ()
{
this.ie = (navigator.userAgent.toLowerCase().indexOf("msie") >= 0 || navigator.userAgent.toLowerCase().indexOf("trident") >= 0);
};
/**
* We use a helper object to do conversion. This method creates this
* object.
*/
unitsConversion._createHelper = function ()
{
var helper = document.createElement("div");
helper.style.position = "absolute";
helper.style.left = "0px";
helper.style.top = "0px";
helper.style.width = "0px";
helper.style.height = "0px";
helper.style.zIndex = -1000;
document.body.appendChild(helper);
this.helper = helper;
};
/**
* Rounds a number to the specified precision.
*
* @param value A number to round.
*
* @param precision Desired precision. If not specified (is
* undefined) 2 is assumed.
*
* @return Rounds value to have no more than precision digits after
* dot.
*/
unitsConversion._round = function (value, precision)
{
if (precision == undefined)
precision = 2;
var coef = Math.pow(10, precision);
return Math.round(value * coef) / coef;
};
/**
* toPixels standard implementation.
*/
unitsConversion._toPixels_standard = function (value, precision)
{
this.helper.style.width = value;
var style = window.getComputedStyle(this.helper, null);
var widthCSSValue = style.getPropertyCSSValue("width");
var widthValueType = widthCSSValue.cssValueType;
var result = 0;
if (widthValueType != widthCSSValue.CSS_PRIMITIVE_VALUE)
{
alert("unitsConversion error. Unexpected type of the generated "
+ "CSS value: " + widthValueType + "\n"
+ "Expected type: " + widthCSSValue.CSS_PRIMITIVE_VALUE);
}
else
result = widthCSSValue.getFloatValue(widthCSSValue.CSS_PX);
/* Make sure our helper will remain invisible. */
this.helper.style.width = "0px";
return this._round(result, precision);
};
/**
* toPixels implementation for IE.
*/
unitsConversion._toPixels_ie = function (value, precision)
{
var result = 0;
try
{
this.helper.style.width = value;
result = this.helper.style.pixelWidth;
}
catch(e)
{
/*
* "Invalid argument" means the value was not a valid CSS length.
* Otherwise we do not want to hide an error.
*/
if (e.message != "Invalid argument.")
throw e;
}
/* Make sure our helper will remain invisible. */
this.helper.style.width = "0px";
return this._round(result, precision);
};
/**
* toMM standard implementation.
*/
unitsConversion._toMM_standard = function (value, precision)
{
this.helper.style.width = value;
var style = window.getComputedStyle(this.helper, null);
var widthCSSValue = style.getPropertyCSSValue("width");
var widthValueType = widthCSSValue.cssValueType;
var result = 0;
if (widthValueType != widthCSSValue.CSS_PRIMITIVE_VALUE)
{
alert("unitsConversion error. Unexpected type of the generated "
+ "CSS value: " + widthValueType + "\n"
+ "Expected type: " + widthCSSValue.CSS_PRIMITIVE_VALUE);
}
else
result = widthCSSValue.getFloatValue(widthCSSValue.CSS_MM);
/* Make sure our helper will remain invisible. */
this.helper.style.width = "0px";
return this._round(result, precision);
};
/**
* This regex is used by _toMM_ie to tell if a length is a mm length
* and what is the numeric part.
*/
unitsConversion._toMM_ie_mmRe = /^\s*(\d+(?:\.\d+)?)\s*mm\s*$/;
/**
* toMM implementation for IE.
*/
unitsConversion._toMM_ie = function (value, precision)
{
var m = this._toMM_ie_mmRe.exec(value);
if (m != null)
return Number(m[1]);
/*
* Check the input value. We can do direct conversion only for
* pixels.
*/
var valueInPixels = Number(String(value).replace(/px$/, ""));
if (isNaN(valueInPixels))
/*
* If the conversion fails we consider the value to be in some
* units that are not pixels.
*
* This conversion is rather imprecise. Not sure how to fix
* this...
*/
valueInPixels = this._toPixels_ie(value);
/* We need to specify that our target units is mm. */
this.helper.style.width = "1mm";
this.helper.style.pixelWidth = valueInPixels;
var result = this.helper.style.posWidth;
/* Make sure our helper will remain invisible. */
this.helper.style.width = "0px";
return this._round(result, precision);
};
</script>
<!--inline js-->
<script>
if (!Array.prototype.find) {
Object.defineProperty(Array.prototype, 'find', {
enumerable: false,
configurable: true,
writable: true,
value: function (predicate) {
if (this == null) {
throw new TypeError('Array.prototype.find called on null or undefined');
}
if (typeof predicate !== 'function') {
throw new TypeError('predicate must be a function');
}
var list = Object(this);
var length = list.length >>> 0;
var thisArg = arguments[1];
var value;
for (var i = 0; i < length; i++) {
if (i in list) {
value = list[i];
if (predicate.call(thisArg, value, i, list)) {
return value;
}
}
}
return undefined;
}
});
}
window.addEventListener('DOMContentLoaded', function () {
var chapterTitlesWithOffsets = [];
var sectionTitlesWithOffsets = [];
function fillTitlesWithOffsets() {
chapterTitlesWithOffsets = calculateTopOffsets(".main-content header nav ul li a", function (el) { return { offsetTop: el.offsetTop, title: el.getAttribute("title") } });
sectionTitlesWithOffsets = calculateTopOffsets(".section_title", function (el) { return { offsetTop: el.offsetTop, title: el.innerText } });
}
function calculateTopOffsets(selector, itemSelectorCallback) {
var list = document.body.querySelectorAll(selector);
var items = [];
for (var i = 0; i < list.length; i++) {
items.push(list[i]);
}
return items.map(itemSelectorCallback);
}
function handleScroll() {
var item = findItemForOffset(chapterTitlesWithOffsets);
if (item == null) {
document.getElementById("main-content-header").style.visibility = "hidden";
} else {
document.getElementById("main-content-header").style.visibility = "visible";
document.body.querySelectorAll("#main-content-header span")[0].innerText = item.title;
}
var elements = document.body.querySelectorAll("#toc .activeHeaderTitle");
for (var i = 0; i < elements.length; i++) {
elements[i].classList.remove("activeHeaderTitle");
}
item = findItemForOffset(sectionTitlesWithOffsets);
if (item != null) {
elements = document.body.querySelectorAll("#toc .section-title");
for (var i = 0; i < elements.length; i++) {
var left = elements[i].innerText.substr(elements[i].innerText.indexOf(' ') + 1).trim();
var right = item.title.substr(item.title.indexOf(' ') + 1).trim();
if(left == right){
elements[i].classList.add("activeHeaderTitle");
break;
}
}
}
}
function findItemForOffset(arrOffset){
var staticHeaderOffset = document.getElementById("main-content-header").offsetHeight;
return arrOffset.find(function (itemTopOffset, i) {
var nextItemTopOffset = arrOffset[i + 1];
if (nextItemTopOffset) {
return (
window.pageYOffset + staticHeaderOffset >= itemTopOffset.offsetTop &&
window.pageYOffset + staticHeaderOffset < nextItemTopOffset.offsetTop
);
}
return window.pageYOffset + staticHeaderOffset >= itemTopOffset.offsetTop;
});
}
function handleResize() {
calculateTopOffsets();
handleScroll();
}
window.addEventListener('resize', handleResize);
window.addEventListener('scroll', handleScroll);
fillTitlesWithOffsets();
handleScroll();
});
</script>
</head>
<body>
<script type="text/javascript" src="javascript/publish_html.js">
</script>
<!--toc-->
<nav id="toc" data-fill-with="table-of-contents">
<ol class="toc">
<li onclick="onTOCListItemClick()" class="chapter-title">
<a href="#ID0EH" onclick="onTOCLinkClick(ID0EH)">
<span class="content">1. Untitled Chapter</span>
</a>
<ol class="toc">
<li onclick="onTOCListItemClick()" class="section-title">
<a href="#ID0ER" onclick="onTOCLinkClick(ID0ER)">
<span class="content">1.1 SEction</span>
</a>
<ol class="toc">
<li onclick="onTOCListItemClick()" class="topic-title">
<a href="#ID0EY" onclick="onTOCLinkClick(ID0EY)">
<span class="content">1.1.1 Frame, colsep, rowsep</span>
</a>
</li>
<li onclick="onTOCListItemClick()" class="topic-title">
<a href="#ID0E6IAC" onclick="onTOCLinkClick(ID0E6IAC)">
<span class="content">1.1.2 Untitled Topic</span>
</a>
</li>
<li onclick="onTOCListItemClick()" class="topic-title">
<a href="#ID0EOJAC" onclick="onTOCLinkClick(ID0EOJAC)">
<span class="content">1.1.3 Untitled Topic</span>
</a>
</li>
<li onclick="onTOCListItemClick()" class="topic-title">
<a href="#ID0E4JAC" onclick="onTOCLinkClick(ID0E4JAC)">
<span class="content">1.1.4 Untitled Topic</span>
</a>
</li>
<li onclick="onTOCListItemClick()" class="topic-title">
<a href="#ID0EMKAC" onclick="onTOCLinkClick(ID0EMKAC)">
<span class="content">1.1.5 Untitled Topic</span>
</a>
</li>
<li onclick="onTOCListItemClick()" class="topic-title">
<a href="#ID0E2KAC" onclick="onTOCLinkClick(ID0E2KAC)">
<span class="content">1.1.6 Untitled Topic</span>
</a>
</li>
<li onclick="onTOCListItemClick()" class="topic-title">
<a href="#ID0EKLAC" onclick="onTOCLinkClick(ID0EKLAC)">
<span class="content">1.1.7 Untitled Topic</span>
</a>
</li>
<li onclick="onTOCListItemClick()" class="topic-title">
<a href="#ID0EZLAC" onclick="onTOCLinkClick(ID0EZLAC)">
<span class="content">1.1.8 Untitled Topic</span>
</a>
</li>
<li onclick="onTOCListItemClick()" class="topic-title">
<a href="#ID0EIMAC" onclick="onTOCLinkClick(ID0EIMAC)">
<span class="content">1.1.9 Untitled Topic</span>
</a>
</li>
<li onclick="onTOCListItemClick()" class="topic-title">
<a href="#ID0EXMAC" onclick="onTOCLinkClick(ID0EXMAC)">
<span class="content">1.1.10 Untitled Topic</span>
</a>
</li>
</ol>
</li>
</ol>
</li>
</ol>
</nav>
<div id="tocNavBtnsBar">
<input type="image" id="tocShowBtn" onclick="showTOC(true)" />
<input type="image" id="tocHideBtn" onclick="showTOC(false)" />
</div>
<div>
<div id="main-content-header" class="static-top-header">
<span> </span>
<img style="height:7mm;float:right" alt="logo" src="http://localhost:1339//ImageHandler.aspx?url=http://doccentermedia/DCProImages/Style sheet/SANOVO_TECHNOLOGY_GROUP.jpg&mode=xhtmlGen" />
</div>
<!--publication front-page-->
<!--publication content-->
<div class="main-content">
<main id="ID0EH">
<header>
<nav>
<ul>
<li>
<a title="1. Untitled Chapter">1. Untitled Chapter</a>
</li>
</ul>
</nav>
<img style="height:7mm" alt="logo" src="http://localhost:1339//ImageHandler.aspx?url=http://doccentermedia/DCProImages/Style sheet/SANOVO_TECHNOLOGY_GROUP.jpg&mode=xhtmlGen" />
</header>
<section>
<!--chapter container-->
<div class="chapter_container" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!--section container--><div id="ID0ER" class="section_container">
<!--section title container--><div class="section_title">1.1 SEction</div>
<!--topic container--><div id="ID0EY" class="topic_container">
<!--topic title container--><div class="topic_title">1.1.1 Frame, colsep, rowsep</div>
<!--body--><div class="body">
<div><!--p--><div style="">Hello world!</div></div>
<!--table--><div><!--table/tgroup--><table class="table" style="table-layout:auto; "><!--thead--><thead><!--row--><tr><!--entry--><td rowspan="1" style="vertical-align: middle; text-align: center; " columnName="Instruction in ..." class="entry entry_header_attributes "><div>Instruction in ...</div></td><!--entry--><td colspan="3" style="text-align: center; " columnName="Required training for ..." class="entry entry_header_attributes "><div>Required training for ...</div></td></tr><!--row--><tr><!--entry--><td style="vertical-align: middle; text-align: center; " columnName="Instruction in ..." class="entry entry_header_attributes "><div>Operators</div></td><!--entry--><td style="vertical-align: middle; text-align: center; " columnName="Required training for ..." class="entry entry_header_attributes "><div>Service technicians</div></td><!--entry--><td style="vertical-align: middle; text-align: center; " columnName="Operators" class="entry entry_header_attributes "><div>Cleaning personnel</div></td></tr></thead><!--tbody--><tbody><!--row--><tr><!--entry--><td style="text-align: left; " columnName="Instruction in ..." class="entry "><div>Normal operation, cleaning and safety procedures regarding the machine and chemicals used.</div></td><!--entry--><td style="text-align: right; " columnName="Required training for ..." class="entry "><div>x</div></td><!--entry--><td style="text-align: right; " columnName="Operators" class="entry "><div>x</div></td><!--entry--><td style="text-align: right; " columnName="Service technicians" class="entry "><div>x</div></td></tr><!--row--><tr><!--entry--><td style="text-align: left; " columnName="Instruction in ..." class="entry "><div>Start, stop, emergency stop function and how to manage an unintended stoppage of the machine.</div></td><!--entry--><td style="text-align: right; " columnName="Required training for ..." class="entry "><div>x</div></td><!--entry--><td style="text-align: right; " columnName="Operators" class="entry "><div>x</div></td><!--entry--><td style="text-align: right; " columnName="Service technicians" class="entry "><div>x</div></td></tr><!--row--><tr><!--entry--><td style="text-align: left; " columnName="Instruction in ..." class="entry "><div>Stack light functions.</div></td><!--entry--><td style="text-align: right; " columnName="Required training for ..." class="entry "><div>x</div></td><!--entry--><td style="text-align: right; " columnName="Operators" class="entry "><div>x</div></td><!--entry--><td style="text-align: right; " columnName="Service technicians" class="entry "><div>x</div></td></tr><!--row--><tr><!--entry--><td style="text-align: left; " columnName="Instruction in ..." class="entry "><div>Use of personal protective equipment in connection with the use of chemicals. It is recommended that the manufacturer's recommendations and local legislation are followed at all times.</div></td><!--entry--><td style="text-align: right; " columnName="Required training for ..." class="entry "><div>x</div></td><!--entry--><td style="text-align: right; " columnName="Operators" class="entry "><div style="height: 12pt"> </div></td><!--entry--><td style="text-align: right; " columnName="Service technicians" class="entry "><div>x</div></td></tr><!--row--><tr><!--entry--><td style="text-align: left; " columnName="Instruction in ..." class="entry "><div>Cleaning procedures described in the manual.</div></td><!--entry--><td style="text-align: right; " columnName="Required training for ..." class="entry "><div>x</div></td><!--entry--><td style="text-align: right; " columnName="Operators" class="entry "><div style="height: 12pt"> </div></td><!--entry--><td style="text-align: right; " columnName="Service technicians" class="entry "><div>x</div></td></tr><!--row--><tr><!--entry--><td style="text-align: left; " columnName="Instruction in ..." class="entry "><div>Maintenance procedures described in the manual: checking of wearing parts, adjustment and lubrication of machine components.</div></td><!--entry--><td style="text-align: right; " columnName="Required training for ..." class="entry "><div style="height: 12pt"> </div></td><!--entry--><td style="text-align: right; " columnName="Operators" class="entry "><div>x</div></td><!--entry--><td style="text-align: right; " columnName="Service technicians" class="entry "><div style="height: 12pt"> </div></td></tr><!--row--><tr><!--entry--><td style="text-align: left; " columnName="Instruction in ..." class="entry "><div>Safety relating to the switching off of external power sources and the removal of fixed guards.</div></td><!--entry--><td style="text-align: right; " columnName="Required training for ..." class="entry "><div style="height: 12pt"> </div></td><!--entry--><td style="text-align: right; " columnName="Operators" class="entry "><div>x</div></td><!--entry--><td style="text-align: right; " columnName="Service technicians" class="entry "><div style="height: 12pt"> </div></td></tr></tbody></table></div>
<div><!--p--><div style="">
<!--table--><!--table/tgroup--><table class="table" style="table-layout:fixed; "><col width="1*" /><col width="1*" /><col width="1*" /><col width="1*" /><!--thead--><thead><!--row--><tr><!--entry--><td style="" columnName="" class="entry entry_header_attributes "><div style="height: 12pt"> </div></td><!--entry--><td style="" columnName="" class="entry entry_header_attributes "><div style="height: 12pt"> </div></td><!--entry--><td style="" columnName="" class="entry entry_header_attributes "><div style="height: 12pt"> </div></td><!--entry--><td style="" columnName="" class="entry entry_header_attributes "><div style="height: 12pt"> </div></td></tr></thead><!--tbody--><tbody><!--row--><tr><!--entry--><td style="" columnName="" class="entry "><div style="height: 12pt"> </div></td><!--entry--><td style="" columnName="" class="entry "><div style="height: 12pt"> </div></td><!--entry--><td style="" columnName="" class="entry "><div style="height: 12pt"> </div></td><!--entry--><td style="" columnName="" class="entry "><div style="height: 12pt"> </div></td></tr><!--row--><tr><!--entry--><td style="" columnName="" class="entry "><div style="height: 12pt"> </div></td><!--entry--><td style="" columnName="" class="entry "><div style="height: 12pt"> </div></td><!--entry--><td style="" columnName="" class="entry "><div style="height: 12pt"> </div></td><!--entry--><td style="" columnName="" class="entry "><div style="height: 12pt"> </div></td></tr><!--row--><tr><!--entry--><td style="" columnName="" class="entry "><div>df</div></td><!--entry--><td style="" columnName="" class="entry "><div>sdf</div></td><!--entry--><td style="" columnName="" class="entry "><div>sdf</div></td><!--entry--><td style="" columnName="" class="entry "><div>sdf</div></td></tr><!--row--><tr><!--entry--><td style="" columnName="" class="entry "><div>dsf</div></td><!--entry--><td style="" columnName="" class="entry "><div>dsf</div></td><!--entry--><td style="" columnName="" class="entry "><div>sdf</div></td><!--entry--><td style="" columnName="" class="entry "><div>sdf</div></td></tr><!--row--><tr><!--entry--><td style="" columnName="" class="entry "><div>sdf</div></td><!--entry--><td style="" columnName="" class="entry "><div>df</div></td><!--entry--><td style="" columnName="" class="entry "><div>sdf</div></td><!--entry--><td style="" columnName="" class="entry "><div>sdf</div></td></tr></tbody></table>
</div></div>
<div><!--p--><div style="">
<!--table--><!--table/tgroup--><table class="table" style="table-layout:fixed; "><col width="1*" /><col width="1*" /><col width="1*" /><col width="1*" /><!--thead--><thead><!--row--><tr><!--entry--><td style="" columnName="sdf" class="entry entry_header_attributes "><div>sdf</div></td><!--entry--><td style="" columnName="" class="entry entry_header_attributes "><div style="height: 12pt"> </div></td><!--entry--><td style="" columnName="sdf" class="entry entry_header_attributes "><div>sdf</div></td><!--entry--><td style="" columnName="sdf" class="entry entry_header_attributes "><div>sdf</div></td></tr></thead><!--tbody--><tbody><!--row--><tr><!--entry--><td style="" columnName="sdf" class="entry "><div>sdf</div></td><!--entry--><td style="" columnName="" class="entry "><div style="height: 12pt"> </div></td><!--entry--><td style="" columnName="sdf" class="entry "><div style="height: 12pt"> </div></td><!--entry--><td style="" columnName="sdf" class="entry "><div style="height: 12pt"> </div></td></tr><!--row--><tr><!--entry--><td style="" columnName="sdf" class="entry "><div>sdf</div></td><!--entry--><td style="" columnName="" class="entry "><div>sdf</div></td><!--entry--><td style="" columnName="sdf" class="entry "><div style="height: 12pt"> </div></td><!--entry--><td style="" columnName="sdf" class="entry "><div>sdf</div></td></tr><!--row--><tr><!--entry--><td style="" columnName="sdf" class="entry "><div style="height: 12pt"> </div></td><!--entry--><td style="" columnName="" class="entry "><div>ssdf</div></td><!--entry--><td style="" columnName="sdf" class="entry "><div style="height: 12pt"> </div></td><!--entry--><td style="" columnName="sdf" class="entry "><div>sdf</div></td></tr><!--row--><tr><!--entry--><td style="" columnName="sdf" class="entry "><div>sf</div></td><!--entry--><td style="" columnName="" class="entry "><div style="height: 12pt"> </div></td><!--entry--><td style="" columnName="sdf" class="entry "><div>sdf</div></td><!--entry--><td style="" columnName="sdf" class="entry "><div style="height: 12pt"> </div></td></tr><!--row--><tr><!--entry--><td style="" columnName="sdf" class="entry "><div style="height: 12pt"> </div></td><!--entry--><td style="" columnName="" class="entry "><div>sdf</div></td><!--entry--><td style="" columnName="sdf" class="entry "><div>sf</div></td><!--entry--><td style="" columnName="sdf" class="entry "><div>sfd</div></td></tr></tbody></table>
</div></div>
<div><!--p--><div style="">
<!--table--><!--table/tgroup--><table class="table" style="table-layout:fixed; "><col width="1*" /><col width="1*" /><col width="1*" /><col width="1*" /><!--thead--><thead><!--row--><tr><!--entry--><td style="" columnName="fg" class="entry entry_header_attributes "><div>fg</div></td><!--entry--><td style="" columnName="" class="entry entry_header_attributes "><div style="height: 12pt"> </div></td><!--entry--><td style="" columnName="" class="entry entry_header_attributes "><div style="height: 12pt"> </div></td><!--entry--><td style="" columnName="" class="entry entry_header_attributes "><div style="height: 12pt"> </div></td></tr></thead><!--tbody--><tbody><!--row--><tr><!--entry--><td style="" columnName="fg" class="entry "><div style="height: 12pt"> </div></td><!--entry--><td style="" columnName="" class="entry "><div>dfg</div></td><!--entry--><td style="" columnName="" class="entry "><div style="height: 12pt"> </div></td><!--entry--><td style="" columnName="" class="entry "><div>dfg</div></td></tr><!--row--><tr><!--entry--><td style="" columnName="fg" class="entry "><div style="height: 12pt"> </div></td><!--entry--><td style="" columnName="" class="entry "><div>sdf</div></td><!--entry--><td style="" columnName="" class="entry "><div>sdf</div></td><!--entry--><td style="" columnName="" class="entry "><div>dfg</div></td></tr><!--row--><tr><!--entry--><td style="" columnName="fg" class="entry "><div>dfg</div></td><!--entry--><td style="" columnName="" class="entry "><div>sdf</div></td><!--entry--><td style="" columnName="" class="entry "><div style="height: 12pt"> </div></td><!--entry--><td style="" columnName="" class="entry "><div style="height: 12pt"> </div></td></tr><!--row--><tr><!--entry--><td style="" columnName="fg" class="entry "><div style="height: 12pt"> </div></td><!--entry--><td style="" columnName="" class="entry "><div>f</div></td><!--entry--><td style="" columnName="" class="entry "><div>dfg</div></td><!--entry--><td style="" columnName="" class="entry "><div>sdfs</div></td></tr><!--row--><tr><!--entry--><td style="" columnName="fg" class="entry "><div>dfg</div></td><!--entry--><td style="" columnName="" class="entry "><div>df</div></td><!--entry--><td style="" columnName="" class="entry "><div>sdfd</div></td><!--entry--><td style="" columnName="" class="entry "><div>df</div></td></tr></tbody></table>
</div></div>
</div>
</div>
<!--topic container--><div id="ID0E6IAC" class="topic_container">
<!--topic title container--><div class="topic_title">1.1.2 Untitled Topic</div>
<!--body--><div class="body">
<div><!--p--><div style="">
</div></div>
</div>
</div>
<!--topic container--><div id="ID0EOJAC" class="topic_container">
<!--topic title container--><div class="topic_title">1.1.3 Untitled Topic</div>
<!--body--><div class="body">
<div><!--p--><div style="">
</div></div>
</div>
</div>
<!--topic container--><div id="ID0E4JAC" class="topic_container">
<!--topic title container--><div class="topic_title">1.1.4 Untitled Topic</div>
<!--body--><div class="body">
<div><!--p--><div style="">
</div></div>
</div>
</div>
<!--topic container--><div id="ID0EMKAC" class="topic_container">
<!--topic title container--><div class="topic_title">1.1.5 Untitled Topic</div>
<!--body--><div class="body">
<div><!--p--><div style="">
</div></div>
</div>
</div>
<!--topic container--><div id="ID0E2KAC" class="topic_container">
<!--topic title container--><div class="topic_title">1.1.6 Untitled Topic</div>
<!--body--><div class="body">
<div><!--p--><div style="">
</div></div>
</div>
</div>
<!--topic container--><div id="ID0EKLAC" class="topic_container">
<!--topic title container--><div class="topic_title">1.1.7 Untitled Topic</div>
<!--body--><div class="body">
<div><!--p--><div style="">
</div></div>
</div>
</div>
<!--topic container--><div id="ID0EZLAC" class="topic_container">
<!--topic title container--><div class="topic_title">1.1.8 Untitled Topic</div>
<!--body--><div class="body">
<div><!--p--><div style="">
</div></div>
</div>
</div>
<!--topic container--><div id="ID0EIMAC" class="topic_container">
<!--topic title container--><div class="topic_title">1.1.9 Untitled Topic</div>
<!--body--><div class="body">
<div><!--p--><div style="">
</div></div>
</div>
</div>
<!--topic container--><div id="ID0EXMAC" class="topic_container">
<!--topic title container--><div class="topic_title">1.1.10 Untitled Topic</div>
<!--body--><div class="body">
<div><!--p--><div style="">
</div></div>
</div>
</div>
</div>
</div>
</section>
</main>
</div>
</div>
</body>
</html>