Added editor

This commit is contained in:
parallax
2017-03-02 10:07:55 +01:00
parent 7270cb09f3
commit 6ba3a07634
333 changed files with 61201 additions and 0 deletions
+15
View File
@@ -0,0 +1,15 @@
{
"ignore": [
"**/_playground/**",
"**/node_modules/**",
"**/coverage/**",
"**/jasmine/**",
"**/test/**",
"**/**-min-**",
"**/**-min.**",
"**/**.min.**"
],
"test": [
"**/test/**"
]
}
+22
View File
@@ -0,0 +1,22 @@
engines:
csslint:
enabled: true
duplication:
enabled: true
config:
languages:
- javascript
eslint:
enabled: true
fixme:
enabled: true
ratings:
paths:
- "**.css"
- "**.js"
exclude_paths:
- _playground/
- node_modules/
- coverage/
- jasmine/
- test/
+2
View File
@@ -0,0 +1,2 @@
--exclude-exts=.min.css
--ignore=adjoining-classes,box-model,ids,order-alphabetical,unqualified-attributes
+205
View File
@@ -0,0 +1,205 @@
ecmaFeatures:
modules: true
jsx: true
env:
amd: true
browser: true
es6: true
jquery: true
node: true
# http://eslint.org/docs/rules/
rules:
# Possible Errors
comma-dangle: [2, never]
no-cond-assign: 2
no-console: 0
no-constant-condition: 2
no-control-regex: 2
no-debugger: 2
no-dupe-args: 2
no-dupe-keys: 2
no-duplicate-case: 2
no-empty: 2
no-empty-character-class: 2
no-ex-assign: 2
no-extra-boolean-cast: 2
no-extra-parens: 0
no-extra-semi: 2
no-func-assign: 2
no-inner-declarations: [2, functions]
no-invalid-regexp: 2
no-irregular-whitespace: 2
no-negated-in-lhs: 2
no-obj-calls: 2
no-regex-spaces: 2
no-sparse-arrays: 2
no-unexpected-multiline: 2
no-unreachable: 2
use-isnan: 2
valid-jsdoc: 0
valid-typeof: 2
# Best Practices
accessor-pairs: 2
block-scoped-var: 0
complexity: [2, 10]
consistent-return: 0
curly: 0
default-case: 0
dot-location: 0
dot-notation: 0
eqeqeq: 2
guard-for-in: 2
no-alert: 2
no-caller: 2
no-case-declarations: 2
no-div-regex: 2
no-else-return: 0
no-empty-label: 2
no-empty-pattern: 2
no-eq-null: 2
no-eval: 2
no-extend-native: 2
no-extra-bind: 2
no-fallthrough: 2
no-floating-decimal: 0
no-implicit-coercion: 0
no-implied-eval: 2
no-invalid-this: 0
no-iterator: 2
no-labels: 0
no-lone-blocks: 2
no-loop-func: 2
no-magic-number: 0
no-multi-spaces: 0
no-multi-str: 0
no-native-reassign: 2
no-new-func: 2
no-new-wrappers: 2
no-new: 2
no-octal-escape: 2
no-octal: 2
no-proto: 2
no-redeclare: 2
no-return-assign: 2
no-script-url: 2
no-self-compare: 2
no-sequences: 0
no-throw-literal: 0
no-unused-expressions: 2
no-useless-call: 2
no-useless-concat: 2
no-void: 2
no-warning-comments: 0
no-with: 2
radix: 2
vars-on-top: 0
wrap-iife: 2
yoda: 0
# Strict
strict: 0
# Variables
init-declarations: 0
no-catch-shadow: 2
no-delete-var: 2
no-label-var: 2
no-shadow-restricted-names: 2
no-shadow: 0
no-undef-init: 2
no-undef: 0
no-undefined: 0
no-unused-vars: 0
no-use-before-define: 0
# Node.js and CommonJS
callback-return: 2
global-require: 2
handle-callback-err: 2
no-mixed-requires: 0
no-new-require: 0
no-path-concat: 2
no-process-exit: 2
no-restricted-modules: 0
no-sync: 0
# Stylistic Issues
array-bracket-spacing: 0
block-spacing: 0
brace-style: 0
camelcase: 0
comma-spacing: 0
comma-style: 0
computed-property-spacing: 0
consistent-this: 0
eol-last: 0
func-names: 0
func-style: 0
id-length: 0
id-match: 0
indent: 0
jsx-quotes: 0
key-spacing: 0
linebreak-style: 0
lines-around-comment: 0
max-depth: 0
max-len: 0
max-nested-callbacks: 0
max-params: 0
max-statements: [2, 30]
new-cap: 0
new-parens: 0
newline-after-var: 0
no-array-constructor: 0
no-bitwise: 0
no-continue: 0
no-inline-comments: 0
no-lonely-if: 0
no-mixed-spaces-and-tabs: 0
no-multiple-empty-lines: 0
no-negated-condition: 0
no-nested-ternary: 0
no-new-object: 0
no-plusplus: 0
no-restricted-syntax: 0
no-spaced-func: 0
no-ternary: 0
no-trailing-spaces: 0
no-underscore-dangle: 0
no-unneeded-ternary: 0
object-curly-spacing: 0
one-var: 0
operator-assignment: 0
operator-linebreak: 0
padded-blocks: 0
quote-props: 0
quotes: 0
require-jsdoc: 0
semi-spacing: 0
semi: 0
sort-vars: 0
space-after-keywords: 0
space-before-blocks: 0
space-before-function-paren: 0
space-before-keywords: 0
space-in-parens: 0
space-infix-ops: 0
space-return-throw-case: 0
space-unary-ops: 0
spaced-comment: 0
wrap-regex: 0
# ECMAScript 6
arrow-body-style: 0
arrow-parens: 0
arrow-spacing: 0
constructor-super: 0
generator-star-spacing: 0
no-arrow-condition: 0
no-class-assign: 0
no-const-assign: 0
no-dupe-class-members: 0
no-this-before-super: 0
no-var: 0
object-shorthand: 0
prefer-arrow-callback: 0
prefer-const: 0
prefer-reflect: 0
prefer-spread: 0
prefer-template: 0
require-yield: 0
+1
View File
@@ -0,0 +1 @@
**/*{.,-}min.js
+1
View File
@@ -0,0 +1 @@
true
+5
View File
@@ -0,0 +1,5 @@
_playground/
node_modules/
test/browse-coverage/
test/fixtures/
.coveralls.yml
+3
View File
@@ -0,0 +1,3 @@
language: node_js
node_js:
- "node"
+21
View File
@@ -0,0 +1,21 @@
The MIT License (MIT)
Copyright (c) 2016 Yousuf Almarzooqi
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
+299
View File
@@ -0,0 +1,299 @@
![XML ⇔ JS/JSON](http://nashwaan.github.io/xml-js/images/logo.svg)
Convert XML text to Javascript object / JSON text (and vice versa).
[![Build Status](https://ci.appveyor.com/api/projects/status/0ky9f115m0f0r0gf?svg=true)](https://ci.appveyor.com/project/nashwaan/xml-js)
[![Build Status](https://travis-ci.org/nashwaan/xml-js.svg?branch=master)](https://travis-ci.org/nashwaan/xml-js)
[![Build Status](https://img.shields.io/circleci/project/nashwaan/xml-js.svg)](https://circleci.com/gh/nashwaan/xml-js)
[![bitHound Overall Score](https://www.bithound.io/github/nashwaan/xml-js/badges/score.svg)](https://www.bithound.io/github/nashwaan/xml-js)
[![Coverage Status](https://coveralls.io/repos/github/nashwaan/xml-js/badge.svg?branch=master)](https://coveralls.io/github/nashwaan/xml-js?branch=master)
[![Code Climate](https://codeclimate.com/github/nashwaan/xml-js/badges/gpa.svg)](https://codeclimate.com/github/nashwaan/xml-js)
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/f6ed5dd79a5b4041bfd2732963c4d09b)](https://www.codacy.com/app/ysf953/xml-js?utm_source=github.com&utm_medium=referral&utm_content=nashwaan/xml-js&utm_campaign=Badge_Grade)
[![npm](http://img.shields.io/npm/v/xml-js.svg)](https://www.npmjs.com/package/xml-js)
[![License](https://img.shields.io/npm/l/xml-js.svg)](LICENSE)
[![Dependency Status](https://david-dm.org/nashwaan/xml-js.svg)](https://david-dm.org/nashwaan/xml-js)
[![Package Quality](http://npm.packagequality.com/shield/xml-js.svg)](http://packagequality.com/#?package=xml-js)
# Synopsis
![Convert XML ↔ JS/JSON as compact or non-compact](http://nashwaan.github.io/xml-js/images/synopsis.svg)
<!---![Convert XML ↔ JS/JSON as compact or non-compact](/synopsis.png?raw=true "Synopsis Diagram")-->
# Motivation
There are many XML to JavaScript object / JSON converters out there, but could not satisfy the following requirements:
* **Maintain Order of Sub-elements**:
Instead of converting `<a/><b/><a/>` to `{a:[{},{}],b:{}}`, I wanted to preserve order of elements by doing this:
`{"elements":[{"type":"element","name":"a"},{"type":"element","name":"b"},{"type":"element","name":"a"}]}`.
* **Fully XML Compliant**:
Can parse: Comments, Processing Instructions, XML Declarations, Entity declarations, and CDATA Sections.
* **Reversible**:
Whether converting xml→json or json→xml, the result should be convertable to its original form.
* **Change Property Key Name**:
Usually output of XML attributes are stored in `@attr`, `_atrr`, `$attr`, `$`, or `whatever` in order to avoid conflicting with name of sub-elements.
This library store them in `attributes`, but most importantly, you can change this to whatever you like.
* **Portable Code**:
Written purely in JavaScript (this is default behavior, but this can be slow for very large XML text).
* **Fast Code** (if required):
With little effort, the underlying [sax engine](https://www.npmjs.com/package/sax) (based on JavaScript) can be sustituted with [node-expat engine](https://github.com/astro/node-expat) (based on VC++).
* **Support Command Line**:
To quickly convert xml or json files, this module can be installed globally or locally (i.e. use it as [script](https://docs.npmjs.com/misc/scripts) in package.json).
* **Support Streaming**:
...
## Compact vs Non-Compact
Most XML to JSON convertors (including online convertors) convert `<a/>` to some compact output like `{"a":{}}`
instead of non-compact output like `{"elements":[{"type":"element","name":"a"}]}`.
While compact output might work in most situations, there are cases when different elements are mixed inside a parent element: `<a x="1"/><b x="2"/><a x="3"/>`.
In this case, the compact output will be something like `{a:[{_:{x:"1"}},{_:{x:"3"}}],b:{_:{x:"2"}}}`,
which has merged both `<a>` elements into an array. If you try to convert this back to xml, you will get `<a x="1"/><a x="3"/><b x="2"/>`
which has not preserved the order of elements! This is an inherit limitation in the compact representation
because output like `{a:{_:{x:"1"}},b:{_:{x:"2"}},a:{_:{x:"3"}}}` is illegal.
Note that this issue does not occur in the non-compact form provided by this library.
Although non-compact output is more accurate representation of original XML than compact version, the non-compact consumes more space.
This library provides both options. Use `{compact: false}` if you are not sure because it preserves everything;
otherwise use `{compact: true}` if you want to save space and you don't care about mixing elements of same type and loosing their order.
# Usage
## Installation
```shell
npm install xml-js
```
You can also installed it globally to use it as a command line convertor.
```shell
npm install -g xml-js
```
## Quick start
```js
var convert = require('xml-js');
var xml =
'<?xml version="1.0" encoding="utf-8"?>' +
'<note importance="high" logged="true">' +
' <title>Happy</title>' +
' <todo>Work</todo>' +
' <todo>Play</todo>' +
'</note>';
var result1 = convert.xml2json(xml, {compact: true, spaces: 4});
var result2 = convert.xml2json(xml, {compact: false, spaces: 4});
console.log(result1, '\n', result2);
```
To see the result of this code, see the output above in *Synopsis* section.
## Sample Conversions
| XML | JS/JSON compact | JS/JSON non-compact |
|:----|:----------------|:--------------------|
| `<?xml?>` | `{"_declaration":{}}` | `{"declaration":{}}` |
| `<?xml version="1.0" encoding="utf-8"?>` | `{"_declaration":{"_attributes":{"version":"1.0","encoding":"utf-8"}}}` | `{"declaration":{"attributes":{"version":"1.0","encoding":"utf-8"}}}` |
| `<!--Hello, World!-->` | `{"_comment":"Hello, World!"}` | `{"elements":[{"type":"comment","comment":"Hello, World!"}]}` |
| `<![CDATA[<foo></bar>]]>` | `{"_cdata":"<foo></bar>"}` | `{"elements":[{"type":"cdata","cdata":"<foo></bar>"}]}` |
| `<a/>` | `{"a":{}}` | `{"elements":[{"type":"element","name":"a"}]}` |
| `<a x="1.234" y="It's"/>` | `{"a":{"_attributes":{"x":"1.234","y":"It's"}}}` | `{"elements":[{"type":"element","name":"a","attributes":{"x":"1.234","y":"It's"}}]}` |
| `<a> Hi </a>` | `{"a":{"_text":" Hi "}}` | `{"elements":[{"type":"element","name":"a","elements":[{"type":"text","text":" Hi "}]}]}` |
| `<a/><b/>` | `{"a":{},"b":{}}` | `{"elements":[{"type":"element","name":"a"},{"type":"element","name":"b"}]}` |
| `<a><b/></a>` | `{"a":{"b":{}}}` | `{"elements":[{"type":"element","name":"a","elements":[{"type":"element","name":"b"}]}]}` |
# API Reference
## Convert JS object / JSON → XML
To convert JavaScript object to XML text, use `js2xml()`. To convert JSON text to XML text, use `json2xml()`.
```js
var convert = require('xml-js');
var json = require('fs').readFileSync('test.json', 'utf8');
var options = {ignoreText: true, spaces: 4};
var result = convert.json2xml(json, options);
console.log(result);
```
### Options for Converting JS object / JSON → XML
The below options are applicable for both `js2xml()` and `json2xml()` functions.
| Option | Default | Description |
|:----------------------|:--------|:------------|
| `spaces` | `0` | Number of spaces to be used for indenting XML output. |
| `compact` | `false` | Whether the *input* object is in compact form or not. |
| `fullTagEmptyElement` | `false` | Whether to produce element without sub-elements as full tag pairs `<a></a>` rather than self closing tag `</a>`. |
| `ignoreDeclaration` | `false` | Whether to ignore writing declaration directives of xml. For example, `<?xml?>` will be ignored. |
| `ignoreAttributes` | `false` | Whether to ignore writing attributes of the elements. For example, `x="1"` in `<a x="1"></a>` will be ignored |
| `ignoreComment` | `false` | Whether to ignore writing comments of the elements. That is, no `<!-- -->` will be generated. |
| `ignoreCdata` | `false` | Whether to ignore writing CData of the elements. That is, no `<![CDATA[ ]]>` will be generated. |
| `ignoreText` | `false` | Whether to ignore writing texts of the elements. For example, `hi` text in `<a>hi</a>` will be ignored. |
## Convert XML → JS object / JSON
To convert XML text to JavaScript object, use `xml2js()`. To convert XML text to JSON text, use `xml2json()`.
```js
var convert = require('xml-js');
var xml = require('fs').readFileSync('test.xml', 'utf8');
var options = {ignoreText: true, alwaysChildren: true};
var result = convert.xml2js(xml, options); // or convert.xml2json(xml, options)
console.log(result);
```
### Options for Converting XML → JS object / JSON
The below options are applicable for both `xml2js()` and `xml2json()` functions.
| Option | Default | Description |
|:--------------------|:--------|:------------|
| `compact` | `false` | Whether to produce detailed object or compact object. |
| `trim` | `false` | Whether to trim white space characters that may exist before and after the text. |
| `sanitize` | `false` | Whether to replace `&` `<` `>` `"` `'` with `&amp;` `&lt;` `&gt;` `&quot;` `&#39;` respectively in the resultant text. |
| `nativeType` | `false` | whether to attempt converting text of numerals or of boolean values to native type. For example, `"123"` will be `123` and `"true"` will be `true` |
| `addParent` | `false` | Whether to add `parent` property in each element object that points to parent object. |
| `alwaysChildren` | `false` | Whether to always generate `elements` property even when there are no actual sub elements (applicable for non-compact output). |
| `ignoreDeclaration` | `false` | Whether to ignore writing declaration property. That is, no `declaration` property will be generated. |
| `ignoreAttributes` | `false` | Whether to ignore writing attributes of elements.That is, no `attributes` property will be generated. |
| `ignoreComment` | `false` | Whether to ignore writing comments of the elements. That is, no `comment` will be generated. |
| `ignoreCdata` | `false` | Whether to ignore writing CData of the elements. That is, no `cdata` will be generated. |
| `ignoreText` | `false` | Whether to ignore writing texts of the elements. That is, no `text` will be generated. |
The below option is applicable only for `xml2json()` function.
| Option | Default | Description |
|:--------------------|:--------|:------------|
| `spaces` | `0` | Number of spaces to be used for indenting JSON output. |
## Options for Changing Key Names
To change default key names in the output object or the default key names assumed in the input JavaScript object / JSON, use the following options:
| Option | Default | Description |
|:--------------------|:--------|:------------|
| `declarationKey` | `"declaration"` or `"_declaration"` | Name of the property key which will be used for the declaration. For example, if `declarationKey: '$declaration'` then output of `<?xml?>` will be `{"$declaration":{}}` *(in compact form)* |
| `attributesKey` | `"attributes"` or `"_attributes"` | Name of the property key which will be used for the attributes. For example, if `attributesKey: '$attributes'` then output of `<a x="hello"/>` will be `{"a":{$attributes:{"x":"hello"}}}` *(in compact form)* |
| `textKey` | `"text"` or `"_text"` | Name of the property key which will be used for the text. For example, if `textKey: '$text'` then output of `<a>hi</a>` will be `{"a":{"$text":"Hi"}}` *(in compact form)* |
| `cdataKey` | `"cdata"` or `"_cdata"` | Name of the property key which will be used for the cdata. For example, if `cdataKey: '$cdata'` then output of `<![CDATA[1 is < 2]]>` will be `{"$cdata":"1 is < 2"}` *(in compact form)* |
| `commentKey` | `"comment"` or `"_comment"` | Name of the property key which will be used for the comment. For example, if `commentKey: '$comment'` then output of `<!--note-->` will be `{"$comment":"note"}` *(in compact form)* |
| `parentKey` | `"parent"` or `"_parent"` | Name of the property key which will be used for the parent. For example, if `parentKey: '$parent'` then output of `<a></b></a>` will be `{"a":{"b":{$parent:_points_to_a}}}` *(in compact form)* |
| `typeKey` | `"type"` | Name of the property key which will be used for the type. For example, if `typeKey: '$type'` then output of `<a></a>` will be `{"elements":[{"$type":"element","name":"a","attributes":{}}]}` *(in non-compact form)* |
| `nameKey` | `"name"` | Name of the property key which will be used for the name. For example, if `nameKey: '$name'` then output of `<a></a>` will be `{"elements":[{"type":"element","$name":"a","attributes":{}}]}` *(in non-compact form)* |
| `elementsKey` | `"elements"` | Name of the property key which will be used for the elements. For example, if `elementsKey: '$elements'` then output of `<a></a>` will be `{"$elements":[{"type":"element","name":"a","attributes":{}}]}` *(in non-compact form)* |
> Note: You probably want to set `{textKey: 'value', cdataKey: 'value', commentKey: 'value'}` for non-compact output
> to make it more consistent and easier for your client code to go through the contents of text, cdata, and comment.
# Command Line
Because any good library should support command line usage, this library is no difference.
## As Globally Accessible Command
```shell
npm install -g xml-js // install this library globally
xml-js test.json // test.json will be converted to test.xml
xml-js test.xml // test.xml will be converted to test.json
```
## As Locally Accessible Command
If you want to use it as script in package.json (can also be helpful in [task automation via npm scripts](http://blog.keithcirkel.co.uk/how-to-use-npm-as-a-build-tool/))
```shell
npm install --save xml-js // no need to install this library globally
```
In package.json, write a script:
```json
...
"dependencies": {
"xml-js": "latest"
},
"scripts": {
"convert": "xml-js test.json"
}
```
```shell
npm run convert // task 'scripts.convert' will be executed
```
## CLI Arguments
```shell
Usage: xml-js src [options]
src Input file that need to be converted.
Conversion type xml->json or json->xml will be inferred from file extension.
Options:
--help, -h Display this help content.
--version, -v Display number of this module.
--out Output file where result should be written.
--spaces Specifies amount of space indentation in the output.
--full-tag XML elements will always be in <a></a> form.
--no-decl Declaration instruction <?xml ..?> will be ignored.
--no-attr Attributes of elements will be ignored.
--no-text Texts of elements will be ignored.
--no-cdata Cdata of elements will be ignored.
--no-comment Comments of elements will be ignored.
--trim Whitespaces surrounding texts will be trimmed.
--compact JSON is in compact form.
--sanitize Special xml characters will be replaced with entity codes.
--native-type Numbers and boolean will be converted (coreced) to native type instead of text.
--always-children Every element will always contain sub-elements (applicable if --compact is not set).
--text-key To change the default 'text' key.
--cdata-key To change the default 'cdata' key.
--comment-key To change the default 'comment' key.
--attributes-key To change the default 'attributes' key.
--declaration-key To change the default 'declaration' key.
--type-key To change the default 'type' key (applicable if --compact is not set).
--cdata-key To change the default 'name' key (applicable if --compact is not set).
--elements-key To change the default 'elements' key (applicable if --compact is not set).
```
# Contribution
## Comparison with Other Libraries
[xml2js](https://www.npmjs.com/package/xml2js)
[xml2json](https://www.npmjs.com/package/xml2json)
[xml-objects](https://www.npmjs.com/package/xml-objects)
[xml-js-converter](https://www.npmjs.com/package/xml-js-converter)
[fast-xml2js](https://www.npmjs.com/package/fast-xml2js)
[co-xml2js](https://www.npmjs.com/package/co-xml2js)
[xml-simple](https://www.npmjs.com/package/xml-simple)
[xml2js-expat](https://www.npmjs.com/package/xml2js-expat)
## Testing
To perform tests on this project:
```shell
cd node_modules/xml-js
npm install
npm test
```
For live testing, use `npm start` instead of `npm test`.
## Reporting
Use [this link](https://github.com/nashwaan/xml-js/issues) to report an issue or bug. Please include a sample code or Jasmine test spec where the code is failing.
# License
[MIT](https://github.com/nashwaan/xml-js/blob/master/LICENSE)
+21
View File
@@ -0,0 +1,21 @@
# Test against this version of Node.js
#environment:
# nodejs_version: "6.2.1"
# Install scripts. (runs after repo cloning)
install:
# Get the latest stable version of Node.js or io.js
- ps: Install-Product node 0
# install modules
- npm install
# Post-install test scripts.
test_script:
# Output useful info for debugging.
- node --version
- npm --version
# run tests
- npm test
# Don't actually build.
build: off
+59
View File
@@ -0,0 +1,59 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by Microsoft Visio, SVG Export logo1.svg Logo -->
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events"
width="5.11811in" height="1.73228in" viewBox="0 0 368.504 124.724" xml:space="preserve" color-interpolation-filters="sRGB"
class="st6">
<style type="text/css">
<![CDATA[
.st1 {fill:none;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
.st2 {fill:#000000;font-family:Lucida Console;font-size:5.83333em;font-stretch:semi-condensed}
.st3 {fill:#000000;font-family:Segoe UI Light;font-size:1.66667em;font-stretch:semi-condensed}
.st4 {marker-end:url(#mrkr7-18);stroke:#4bacc6;stroke-width:3.5}
.st5 {fill:#4bacc6;fill-opacity:1;stroke:#4bacc6;stroke-opacity:1;stroke-width:0.7085020242915}
.st6 {fill:none;fill-rule:evenodd;font-size:12px;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
]]>
</style>
<defs id="Markers">
<g id="lend7">
<path
d="M 1.84309 -0.959455 C 1.43792 -0.3808 0.784502 -0.0260248 0.0785258 -0.00137083 L 0.0785228 0.00137063 C 0.784499 0.0260235 1.43791 0.380798 1.84309 0.959452 "
style="stroke-linecap:round;stroke-linejoin:round;fill:none"/>
</g>
<marker id="mrkr7-18" class="st5" orient="auto" markerUnits="strokeWidth" overflow="visible">
<use xlink:href="#lend7" transform="scale(-1.4114285714286,-1.4114285714286) "/>
</marker>
</defs>
<g>
<title>Logo</title>
<g id="shape10-1" transform="translate(0.240706,-37.3711)">
<title>Sheet.10</title>
<desc>&#60;/&#62;</desc>
<rect x="0" y="43.7463" width="137.708" height="80.9781" class="st1"/>
<text x="4" y="102.48" class="st2">&#60;/&#62;</text> </g>
<g id="shape18-4" transform="translate(282.929,-37.0878)">
<title>Sheet.18</title>
<desc>{}</desc>
<rect x="0" y="43.7463" width="99.7482" height="80.9781" class="st1"/>
<text x="4" y="102.48" class="st2">{}</text> </g>
<g id="shape29-7" transform="translate(45.6675,0)">
<title>Sheet.29</title>
<desc>XML</desc>
<rect x="0" y="96.7207" width="46.8543" height="28.0037" class="st1"/>
<text x="4" y="115.72" class="st3">XML</text> </g>
<g id="shape30-10" transform="translate(285.158,-1.31483)">
<title>Sheet.30</title>
<desc>JS / JSON</desc>
<rect x="0" y="96.7207" width="85.9656" height="28.0037" class="st1"/>
<text x="4" y="115.72" class="st3">JS / JSON</text> </g>
<g id="shape34-13" transform="translate(159.106,-87.3452)">
<title>Sheet.34</title>
<path d="M0 124.72 L98.76 124.72" class="st4"/>
</g>
<g id="shape35-19" transform="translate(253.632,-68.3745) scale(-1,1)">
<title>Sheet.35</title>
<path d="M0 124.72 L98.76 124.72" class="st4"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.9 KiB

+412
View File
@@ -0,0 +1,412 @@
<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" style="margin-left:auto;display:block;margin-right:auto" xmlns="http://www.w3.org/2000/svg" xmlns:osb="http://www.openswatchbook.org/uri/2009/osb" version="1.1" y="0" x="0" xmlns:cc="http://creativecommons.org/ns#" viewBox="0 0 952 1103" xmlns:dc="http://purl.org/dc/elements/1.1/">
<defs>
<style type="text/css"><![CDATA[
.g9_1{
fill: none;
stroke: #EA700D;
stroke-width: 1;
stroke-linecap: butt;
stroke-linejoin: miter;
}
.g5_1{
fill: #789440;
}
.g8_1{
fill: none;
stroke: #7030A0;
stroke-width: 1;
stroke-linecap: butt;
stroke-linejoin: miter;
}
.g6_1{
fill: #EA700D;
}
.g2_1{
}
.g4_1{
fill: #0070C0;
}
.g3_1{
fill: none;
stroke: #000000;
stroke-width: 1;
stroke-linecap: butt;
stroke-linejoin: miter;
}
.g7_1{
fill: #7030A0;
}
.g1_1{
fill: #FFFFFF;
}
]]></style>
</defs>
<path style="stroke:#8f8f8f;fill:none" d="m2 192h289v-149h-289v149z" class="g1_1"/>
<path d="m23.8 69.7-5.7-3.2 5.7-3.2v1l-3.9 2.2 3.9 2.2zm2.9 0v-1.4h1.4v1.4zm0.2-2.6v-0.1c0-0.5 0.1-1 0.2-1.4 0.2-0.4 0.5-0.7 1-1.1l0.3-0.4c0.6-0.5 0.8-0.9 0.8-1.4 0-0.8-0.6-1.2-1.8-1.2-0.4 0-0.8 0-1.2 0.2v1h-0.8v-1.8c0.7-0.2 1.4-0.3 2.2-0.3 0.9 0 1.6 0.2 2 0.5 0.5 0.3 0.7 0.8 0.7 1.4 0 0.7-0.3 1.4-1 2l-0.5 0.5c-0.3 0.2-0.6 0.5-0.7 0.8-0.1 0.2-0.2 0.6-0.2 0.9v0.4z" class="g2_1"/>
<path d="m31.4 69.7 2.1-3.3-2.1-3.2h1.3l1.6 2.4 1.5-2.4h1.1l-2 3.2 2.2 3.3h-1.3l-1.7-2.5-1.7 2.5zm6.9 0v-6.5h0.9v1.2c0.4-0.9 0.9-1.4 1.3-1.4 0.5 0 0.8 0.5 1 1.4 0.4-0.9 0.8-1.4 1.3-1.4 0.4 0 0.7 0.2 0.8 0.5 0.2 0.3 0.3 0.7 0.3 1.4v4.8h-0.9v-4.8c0-0.3-0.1-0.6-0.1-0.7-0.1-0.1-0.1-0.2-0.3-0.2-0.3 0-0.7 0.5-1.1 1.5v4.2h-0.9v-4.5c0-0.5 0-0.8-0.1-0.9 0-0.2-0.1-0.3-0.2-0.3-0.2 0-0.4 0.2-0.6 0.5-0.2 0.2-0.4 0.6-0.5 1v4.2zm8.7 0v-8.6h-2.2v-0.9h3.3v9.5zm13.4 0-2.5-6.5h1.1l2 5.2 2-5.2h0.9l-2.5 6.5zm9.2-0.3c-0.7 0.3-1.4 0.4-2 0.4-1 0-1.8-0.3-2.3-0.9-0.5-0.5-0.8-1.4-0.8-2.4s0.2-1.9 0.8-2.5c0.5-0.7 1.1-1 1.9-1s1.4 0.3 1.8 0.8c0.4 0.6 0.6 1.4 0.6 2.5v0.4h-4c0.1 1.5 0.8 2.2 2.1 2.2 0.6 0 1.2-0.1 1.9-0.4zm-4-3.6h2.9v-0.1c0-1.2-0.5-1.8-1.4-1.8-0.4 0-0.7 0.2-1 0.5s-0.4 0.8-0.5 1.4zm6.7 3.9v-6.5h1v1.2c0.5-0.9 1.3-1.4 2.2-1.4 0.3 0 0.7 0.1 1.1 0.2v1.8h-0.8v-0.9c-0.2 0-0.3-0.1-0.5-0.1-0.4 0-0.7 0.2-1 0.4s-0.7 0.5-1 1v4.3zm6.2-0.3v-1.1c0.8 0.4 1.5 0.6 2.1 0.6 0.4 0 0.8-0.1 1.1-0.3s0.4-0.4 0.4-0.7c0-0.4-0.3-0.7-1-0.9l-1.1-0.5c-0.9-0.3-1.4-0.8-1.4-1.6 0-0.6 0.2-1.1 0.6-1.4s1-0.5 1.7-0.5c0.6 0 1.2 0.1 1.9 0.3v1c-0.7-0.3-1.3-0.4-1.9-0.4-0.4 0-0.7 0.1-0.9 0.2-0.2 0.2-0.4 0.4-0.4 0.7s0.3 0.6 0.8 0.8l1.4 0.5c0.5 0.2 0.8 0.4 1 0.7 0.2 0.2 0.3 0.6 0.3 1 0 0.6-0.2 1.1-0.6 1.5-0.5 0.3-1.1 0.5-1.9 0.5-0.6 0-1.4-0.1-2.1-0.4zm8.1 0.3v-5.7h-2.1v-0.8h3.2v6.5zm-0.1-8v-1.5h1.3v1.5zm7.3 8.1c-0.9 0-1.6-0.3-2-0.9-0.5-0.6-0.8-1.4-0.8-2.5 0-1 0.3-1.9 0.8-2.5s1.1-0.9 2-0.9c0.8 0 1.5 0.3 2 0.9s0.7 1.5 0.7 2.5c0 1.1-0.2 1.9-0.7 2.5s-1.2 0.9-2 0.9zm0-0.9c0.5 0 0.9-0.2 1.2-0.7 0.3-0.4 0.4-1 0.4-1.8s-0.1-1.4-0.4-1.8c-0.3-0.5-0.7-0.7-1.2-0.7s-0.9 0.2-1.2 0.7c-0.3 0.4-0.4 1-0.4 1.8s0.1 1.4 0.4 1.8c0.3 0.5 0.7 0.7 1.2 0.7zm4.5 0.8v-6.5h1.1v1.2c0.5-0.9 1.1-1.4 2-1.4 1.1 0 1.6 0.8 1.6 2.2v4.5h-1v-4.2c0-0.5-0.1-0.8-0.3-1-0.1-0.3-0.3-0.4-0.7-0.4-0.5 0-1 0.5-1.6 1.3v4.3z" class="g2_1"/>
<path d="m104.2 68v-0.9h5.7v0.9zm0-2.3v-0.8h5.7v0.8zm8.1-2.2-0.3-3.3h1.3l-0.3 3.3zm2.6 0-0.3-3.3h1.4l-0.3 3.3z" class="g2_1"/>
<path d="m118 69.7v-0.9h2.2v-6.9l-2.2 0.5v-0.7l3.2-1.1v8.2h2.1v0.9z" class="g2_1"/>
<path style="fill-rule:evenodd" d="m126 69h1v-2h-1v2z" class="g2_1"/>
<path d="m133.6 69.9c-0.8 0-1.5-0.4-2-1.3-0.5-0.8-0.7-2-0.7-3.4s0.2-2.5 0.7-3.4c0.5-0.8 1.2-1.2 2-1.2s1.5 0.4 2 1.2c0.5 0.9 0.7 2 0.7 3.4s-0.2 2.6-0.7 3.4c-0.5 0.9-1.2 1.3-2 1.3zm0-0.9c1.1 0 1.6-1.3 1.6-3.8s-0.5-3.7-1.6-3.7-1.6 1.2-1.6 3.7 0.5 3.8 1.6 3.8z" class="g2_1"/>
<path d="m138.5 63.5-0.3-3.3h1.4l-0.3 3.3zm2.7 0-0.3-3.3h1.3l-0.2 3.3z" class="g2_1"/>
<path d="m156.1 69.4c-0.8 0.3-1.4 0.4-2 0.4-1 0-1.8-0.3-2.4-0.9-0.5-0.5-0.8-1.4-0.8-2.4s0.3-1.9 0.8-2.5c0.5-0.7 1.2-1 2-1s1.4 0.3 1.8 0.8c0.3 0.6 0.5 1.4 0.5 2.5v0.4h-3.9c0 1.5 0.8 2.2 2.1 2.2 0.6 0 1.2-0.1 1.9-0.4zm-4-3.6h2.8v-0.1c0-1.2-0.4-1.8-1.3-1.8-0.4 0-0.8 0.2-1 0.5-0.3 0.3-0.5 0.8-0.5 1.4zm5.9 3.9v-6.5h1.1v1.2c0.5-0.9 1.1-1.4 2-1.4 1.1 0 1.6 0.8 1.6 2.2v4.5h-1v-4.2c0-0.5-0.1-0.8-0.2-1-0.2-0.3-0.4-0.4-0.7-0.4-0.6 0-1.1 0.5-1.7 1.3v4.3zm11.1-0.3c-0.6 0.3-1.3 0.4-1.9 0.4-1 0-1.8-0.3-2.3-0.9-0.6-0.6-0.9-1.4-0.9-2.5s0.3-1.9 0.8-2.5c0.6-0.6 1.3-0.9 2.3-0.9 0.6 0 1.3 0.1 1.9 0.3v1c-0.7-0.3-1.3-0.4-1.8-0.4-0.6 0-1.1 0.2-1.5 0.7-0.4 0.4-0.5 1-0.5 1.8s0.2 1.4 0.5 1.8c0.4 0.5 1 0.7 1.7 0.7 0.5 0 1.1-0.1 1.7-0.4zm4.3 0.4c-0.9 0-1.6-0.3-2.1-0.9s-0.7-1.4-0.7-2.5c0-1 0.2-1.9 0.7-2.5s1.2-0.9 2.1-0.9c0.8 0 1.5 0.3 2 0.9s0.7 1.5 0.7 2.5c0 1.1-0.2 1.9-0.7 2.5s-1.2 0.9-2 0.9zm0-0.9c0.5 0 0.9-0.2 1.1-0.7 0.3-0.4 0.5-1 0.5-1.8s-0.2-1.4-0.5-1.8c-0.2-0.5-0.6-0.7-1.1-0.7s-0.9 0.2-1.2 0.7c-0.3 0.4-0.5 1-0.5 1.8s0.2 1.4 0.5 1.8c0.3 0.5 0.7 0.7 1.2 0.7zm8.2 0.8v-1.3c-0.5 0.9-1.1 1.4-1.9 1.4-0.6 0-1.2-0.3-1.5-0.9-0.4-0.5-0.6-1.3-0.6-2.3 0-1.1 0.2-1.9 0.7-2.6 0.4-0.6 1-1 1.7-1s1.2 0.3 1.6 0.9v-3.7h1.1v9.5zm0-4.9c-0.5-0.6-0.9-0.9-1.4-0.9s-0.8 0.2-1.1 0.7c-0.2 0.4-0.4 1.1-0.4 1.9 0 1.5 0.4 2.3 1.3 2.3 0.6 0 1.1-0.4 1.6-1.3zm4.5 4.9v-5.7h-2.1v-0.8h3.1v6.5zm-0.2-8v-1.5h1.4v1.5zm5 8v-6.5h1v1.2c0.5-0.9 1.2-1.4 2-1.4 1.1 0 1.7 0.8 1.7 2.2v4.5h-1.1v-4.2c0-0.5 0-0.8-0.2-1-0.1-0.3-0.4-0.4-0.7-0.4-0.5 0-1.1 0.5-1.7 1.3v4.3zm7 2.1 0.1-1c0.7 0.3 1.3 0.5 1.8 0.5 1.1 0 1.7-0.6 1.7-1.8v-1.2c-0.4 0.9-1 1.4-1.9 1.4-0.7 0-1.2-0.3-1.6-0.9s-0.6-1.3-0.6-2.3 0.3-1.8 0.7-2.5c0.5-0.6 1.1-1 1.8-1 0.6 0 1.1 0.3 1.7 0.9v-0.7h1v5.2c0 0.8-0.1 1.4-0.2 1.8-0.1 0.5-0.3 0.8-0.6 1.2-0.4 0.5-1.1 0.8-2 0.8-0.6 0-1.2-0.2-1.9-0.4zm3.6-4.5v-2.5c-0.5-0.6-1-0.9-1.5-0.9-0.4 0-0.8 0.2-1.1 0.7-0.2 0.4-0.3 1-0.3 1.8 0 0.7 0.1 1.3 0.3 1.6 0.2 0.4 0.6 0.6 0.9 0.6 0.7 0 1.2-0.4 1.7-1.3z" class="g2_1"/>
<path d="m203.7 68v-0.9h5.7v0.9zm0-2.3v-0.8h5.7v0.8zm8-2.2-0.3-3.3h1.3l-0.2 3.3zm2.6 0-0.2-3.3h1.3l-0.3 3.3z" class="g2_1"/>
<path d="m222.1 63.2v6.5h-1v-1.3c-0.5 0.9-1.2 1.4-2 1.4-1.1 0-1.7-0.7-1.7-2.2v-4.4h1.1v4.1c0 0.5 0 0.9 0.2 1.1 0.1 0.2 0.4 0.3 0.7 0.3 0.5 0 1.1-0.4 1.7-1.3v-4.2zm7.2 6.4c-0.6 0.1-1.1 0.2-1.6 0.2-0.8 0-1.4-0.2-1.7-0.5-0.4-0.4-0.5-1-0.5-2v-3.1h-1.5v-0.9h1.5v-1.4h1v1.4h2.6v0.9h-2.6v3.3c0 0.4 0.1 0.6 0.1 0.8 0 0.1 0.1 0.2 0.3 0.3 0.2 0.2 0.6 0.3 1 0.3 0.5 0 0.9 0 1.4-0.1zm2.5 0.1v-5.5h-1.6v-0.9h1.6v-0.7c0-0.9 0.2-1.5 0.6-1.9s1-0.6 1.9-0.6c0.5 0 1.1 0.1 1.6 0.2v1c-0.5-0.2-1.1-0.3-1.6-0.3s-0.9 0.1-1.1 0.3-0.3 0.6-0.3 1.2v0.8h2.8v0.9h-2.8v5.5z" class="g2_1"/>
<path style="stroke:#000;fill:none" d="m237.5 66.5h4" class="g3_1"/>
<path d="m245.3 64.8c-0.7-0.6-1.1-1.2-1.1-2 0-0.7 0.2-1.2 0.7-1.6 0.4-0.4 0.9-0.6 1.6-0.6s1.2 0.2 1.5 0.5c0.4 0.3 0.6 0.8 0.6 1.4 0 0.9-0.5 1.7-1.4 2.3 0.6 0.4 1.1 0.8 1.3 1.2 0.3 0.4 0.4 0.8 0.4 1.3 0 0.8-0.3 1.4-0.7 1.8-0.5 0.5-1.2 0.8-1.9 0.8s-1.3-0.2-1.8-0.7c-0.4-0.5-0.7-1-0.7-1.8 0-1 0.5-1.9 1.5-2.6zm0.6 0.5c-0.7 0.6-1 1.3-1 2 0 0.5 0.1 0.9 0.4 1.2s0.6 0.5 1.1 0.5c0.4 0 0.7-0.1 1-0.4s0.4-0.6 0.4-1c0-0.7-0.4-1.3-1.2-1.8zm0.7-0.9c0.7-0.5 1-1.1 1-1.7 0-0.4-0.1-0.7-0.3-0.9s-0.5-0.3-0.9-0.3-0.6 0.1-0.9 0.3c-0.2 0.2-0.3 0.5-0.3 0.8 0 0.6 0.4 1.1 1.1 1.6z" class="g2_1"/>
<path d="m251.2 63.5-0.3-3.3h1.4l-0.3 3.3zm2.6 0-0.2-3.3h1.3l-0.3 3.3z" class="g2_1"/>
<path d="m258.5 69.7v-1.4h1.3v1.4zm0.1-2.6v-0.1c0-0.5 0.1-1 0.3-1.4s0.5-0.7 0.9-1.1l0.4-0.4c0.5-0.5 0.7-0.9 0.7-1.4 0-0.8-0.6-1.2-1.8-1.2-0.4 0-0.8 0-1.2 0.2v1h-0.8v-1.8c0.7-0.2 1.5-0.3 2.2-0.3 0.9 0 1.6 0.2 2.1 0.5 0.4 0.3 0.7 0.8 0.7 1.4 0 0.7-0.4 1.4-1.1 2l-0.5 0.5c-0.3 0.2-0.5 0.5-0.7 0.8-0.1 0.2-0.1 0.6-0.1 0.9v0.4zm5-3.8 5.7 3.2-5.7 3.2v-1l3.9-2.2-3.9-2.2z" class="g2_1"/>
<path style="fill:#0070c0" d="m23.8 90.4-5.7-3.1 5.7-3.2v1l-3.9 2.2 3.9 2.1z" class="g4_1"/>
<path style="fill:#0070c0" d="m25.2 90.4v-6.4h1.1v1.2c0.5-0.9 1.1-1.4 2-1.4 1.1 0 1.6 0.7 1.6 2.2v4.4h-1v-4.1c0-0.5-0.1-0.9-0.2-1.1-0.2-0.2-0.4-0.3-0.8-0.3-0.5 0-1 0.4-1.6 1.3v4.2zm9.2 0.2c-0.8 0-1.5-0.3-2-0.9s-0.7-1.5-0.7-2.5c0-1.1 0.2-1.9 0.7-2.5s1.2-0.9 2-0.9c0.9 0 1.6 0.3 2.1 0.9 0.4 0.6 0.7 1.4 0.7 2.5 0 1-0.3 1.9-0.7 2.5-0.5 0.6-1.2 0.9-2.1 0.9zm0-0.9c0.5 0 0.9-0.2 1.2-0.7 0.3-0.4 0.5-1 0.5-1.8s-0.2-1.4-0.5-1.9c-0.3-0.4-0.7-0.6-1.2-0.6s-0.9 0.2-1.2 0.6c-0.2 0.5-0.4 1.1-0.4 1.9s0.2 1.4 0.4 1.8c0.3 0.5 0.7 0.7 1.2 0.7zm8.8 0.7c-0.6 0.1-1.1 0.2-1.6 0.2-0.8 0-1.4-0.2-1.7-0.5-0.4-0.4-0.5-1-0.5-2v-3.1h-1.5v-0.9h1.5v-1.4h1v1.4h2.6v0.9h-2.6v3.3c0 0.4 0.1 0.6 0.1 0.8 0.1 0.1 0.1 0.2 0.3 0.3 0.2 0.2 0.6 0.3 1 0.3 0.5 0 0.9-0.1 1.4-0.2zm6.8-0.2c-0.7 0.2-1.4 0.4-2 0.4-1 0-1.8-0.3-2.3-0.9-0.6-0.6-0.8-1.4-0.8-2.4s0.2-1.9 0.7-2.5c0.6-0.7 1.2-1 2-1s1.4 0.3 1.8 0.8 0.6 1.4 0.6 2.5v0.4h-4c0.1 1.5 0.8 2.2 2.1 2.2 0.6 0 1.2-0.2 1.9-0.5zm-4-3.6h2.8v-0.2c0-1.1-0.4-1.7-1.3-1.7-0.4 0-0.7 0.2-1 0.5s-0.4 0.8-0.5 1.4z" class="g4_1"/>
<path style="fill:#789440" d="m60.4 90.4v-5.6h-2.1v-0.8h3.2v6.4zm-0.1-7.9v-1.5h1.3v1.5zm4.5 7.9v-6.4h0.9v1.2c0.4-0.9 0.9-1.4 1.3-1.4 0.5 0 0.9 0.5 1 1.4 0.4-0.9 0.9-1.4 1.4-1.4 0.3 0 0.6 0.2 0.7 0.4 0.2 0.3 0.3 0.8 0.3 1.5v4.7h-0.9v-4.7c0-0.3-0.1-0.6-0.1-0.7s-0.1-0.2-0.3-0.2c-0.3 0-0.7 0.5-1.1 1.4v4.2h-0.9v-4.5c0-0.4 0-0.7-0.1-0.8 0-0.2-0.1-0.3-0.2-0.3-0.2 0-0.4 0.2-0.6 0.4-0.2 0.3-0.4 0.6-0.5 1.1v4.1zm6.5 2.4v-8.8h1.1v1.2c0.5-0.9 1.1-1.4 1.9-1.4 0.7 0 1.2 0.3 1.6 0.9 0.3 0.5 0.5 1.3 0.5 2.3s-0.2 1.9-0.6 2.6c-0.5 0.6-1.1 1-1.8 1-0.6 0-1.2-0.3-1.6-0.9v3.1zm1.1-4c0.5 0.6 1 0.9 1.4 0.9 0.5 0 0.9-0.2 1.1-0.7 0.3-0.4 0.4-1.1 0.4-1.9 0-1.5-0.4-2.3-1.2-2.3-0.6 0-1.2 0.4-1.7 1.2zm8.2 1.8c-0.9 0-1.6-0.3-2.1-0.9-0.4-0.6-0.7-1.5-0.7-2.5 0-1.1 0.3-1.9 0.7-2.5 0.5-0.6 1.2-0.9 2.1-0.9 0.8 0 1.5 0.3 2 0.9s0.7 1.4 0.7 2.5c0 1-0.2 1.9-0.7 2.5s-1.2 0.9-2 0.9zm0-0.9c0.5 0 0.9-0.2 1.2-0.7 0.2-0.4 0.4-1 0.4-1.8s-0.2-1.4-0.4-1.9c-0.3-0.4-0.7-0.6-1.2-0.6s-0.9 0.2-1.2 0.6c-0.3 0.5-0.5 1.1-0.5 1.9s0.2 1.4 0.5 1.8c0.3 0.5 0.7 0.7 1.2 0.7zm5.2 0.7v-6.4h1v1.2c0.6-0.9 1.3-1.4 2.2-1.4 0.3 0 0.7 0 1.1 0.2v1.8h-0.8v-0.9c-0.2 0-0.3-0.1-0.4-0.1-0.4 0-0.8 0.1-1.1 0.3-0.3 0.3-0.6 0.6-1 1.1v4.2zm10.4 0c-0.6 0.1-1.1 0.2-1.6 0.2-0.8 0-1.4-0.2-1.7-0.5-0.4-0.4-0.5-1-0.5-2v-3.1h-1.5v-0.9h1.5v-1.4h1v1.4h2.6v0.9h-2.6v3.3c0 0.4 0.1 0.6 0.1 0.8 0.1 0.1 0.1 0.2 0.3 0.3 0.2 0.2 0.6 0.3 1 0.3 0.5 0 0.9-0.1 1.4-0.2zm5.4-0.8c-0.6 0.6-1.3 0.9-1.9 0.9s-1-0.1-1.3-0.5c-0.4-0.3-0.6-0.7-0.6-1.3s0.3-1.2 0.8-1.6c0.6-0.4 1.3-0.6 2.2-0.6h0.6v-0.5c0-0.5-0.1-0.8-0.2-1-0.2-0.2-0.5-0.3-1-0.3-0.6 0-1.2 0.2-1.9 0.6v-1c0.8-0.3 1.5-0.5 2.2-0.5s1.2 0.2 1.5 0.5 0.5 0.9 0.5 1.7v2.7c0 0.4 0 0.6 0.1 0.8 0.1 0.1 0.2 0.2 0.4 0.2 0.1 0 0.2 0 0.4-0.1l0.1 0.8c-0.4 0.1-0.7 0.1-0.9 0.1-0.5 0-0.8-0.3-1-0.9zm-0.2-0.7v-1.6h-0.3c-1.4 0-2.2 0.4-2.2 1.3 0 0.3 0.1 0.5 0.3 0.7s0.4 0.3 0.8 0.3 0.9-0.2 1.4-0.7zm3.6 1.5v-6.4h1v1.2c0.5-0.9 1.2-1.4 2-1.4 1.1 0 1.7 0.7 1.7 2.2v4.4h-1.1v-4.1c0-0.5-0.1-0.9-0.2-1.1s-0.4-0.3-0.7-0.3c-0.5 0-1.1 0.4-1.7 1.3v4.2zm11-0.2c-0.6 0.3-1.2 0.4-1.9 0.4-1 0-1.8-0.3-2.3-0.9-0.6-0.6-0.8-1.4-0.8-2.5s0.2-1.9 0.8-2.5c0.5-0.6 1.3-0.9 2.3-0.9 0.6 0 1.2 0.1 1.8 0.3v1c-0.7-0.3-1.3-0.4-1.8-0.4-0.6 0-1.1 0.2-1.5 0.7-0.3 0.4-0.5 1-0.5 1.8s0.2 1.4 0.6 1.8c0.4 0.5 0.9 0.7 1.6 0.7 0.5 0 1.1-0.1 1.7-0.4zm6.9 0c-0.8 0.2-1.4 0.4-2.1 0.4-1 0-1.7-0.3-2.3-0.9-0.5-0.6-0.8-1.4-0.8-2.4s0.3-1.9 0.8-2.5c0.5-0.7 1.2-1 2-1s1.4 0.3 1.8 0.8c0.3 0.5 0.5 1.4 0.5 2.5v0.4h-3.9c0 1.5 0.7 2.2 2.1 2.2 0.6 0 1.2-0.2 1.9-0.5zm-4-3.6h2.8v-0.2c0-1.1-0.4-1.7-1.3-1.7-0.4 0-0.8 0.2-1 0.5-0.3 0.3-0.5 0.8-0.5 1.4z" class="g5_1"/>
<path style="fill:#789440" d="m124 88v-1h5v1zm0-2v-1h5v1z" class="g5_1"/>
<path style="fill:#ea700d" d="m131.9 84.2-0.3-3.2h1.3l-0.2 3.2zm2.6 0-0.2-3.2h1.3l-0.3 3.2z" class="g6_1"/>
<path style="fill:#ea700d" d="m137.9 90.4v-9.4h1.1v3 1.2c0.4-0.9 1.1-1.4 1.9-1.4 1.2 0 1.7 0.7 1.7 2.2v4.4h-1.1v-4.1c0-0.5 0-0.9-0.2-1.1-0.1-0.2-0.3-0.3-0.7-0.3-0.5 0-1.1 0.4-1.6 1.3v4.2zm8.9 0v-5.6h-2.1v-0.8h3.2v6.4zm-0.1-7.9v-1.5h1.3v1.5zm4.3 10.1 0.2-1c0.6 0.3 1.2 0.4 1.7 0.4 1.2 0 1.7-0.5 1.7-1.8l0.1-1.1c-0.5 0.9-1.1 1.3-2 1.3-0.6 0-1.2-0.3-1.5-0.8-0.4-0.6-0.6-1.3-0.6-2.3s0.2-1.9 0.7-2.5c0.4-0.7 1-1 1.7-1 0.6 0 1.2 0.3 1.7 0.9v-0.7h1v5.1c0 0.9-0.1 1.5-0.2 1.9 0 0.5-0.2 0.8-0.5 1.2-0.5 0.5-1.1 0.7-2.1 0.7-0.5 0-1.2-0.1-1.9-0.3zm3.6-4.5v-2.5c-0.4-0.6-0.9-0.9-1.4-0.9s-0.9 0.2-1.1 0.7c-0.3 0.4-0.4 1-0.4 1.8 0 0.7 0.1 1.2 0.3 1.6 0.3 0.4 0.6 0.6 1 0.6 0.6 0 1.2-0.4 1.6-1.3zm3.2 2.3v-9.4h1v3 1.2c0.5-0.9 1.2-1.4 2-1.4 1.1 0 1.7 0.7 1.7 2.2v4.4h-1.1v-4.1c0-0.5-0.1-0.9-0.2-1.1s-0.4-0.3-0.7-0.3c-0.5 0-1.1 0.4-1.7 1.3v4.2z" class="g6_1"/>
<path style="fill:#ea700d" d="m165 84.2-0.2-3.2h1.3l-0.3 3.2zm2.7 0-0.3-3.2h1.3l-0.2 3.2z" class="g6_1"/>
<path style="fill:#789440" d="m179.9 90.4v-8.5h-2.3v-0.9h3.3v9.4zm7 0.2c-0.9 0-1.6-0.3-2-0.9-0.5-0.6-0.8-1.5-0.8-2.5 0-1.1 0.3-1.9 0.8-2.5 0.4-0.6 1.1-0.9 2-0.9 0.8 0 1.5 0.3 2 0.9s0.7 1.4 0.7 2.5c0 1-0.2 1.9-0.7 2.5s-1.2 0.9-2 0.9zm0-0.9c0.5 0 0.9-0.2 1.2-0.7 0.3-0.4 0.4-1 0.4-1.8s-0.1-1.4-0.4-1.9c-0.3-0.4-0.7-0.6-1.2-0.6s-0.9 0.2-1.2 0.6c-0.3 0.5-0.4 1.1-0.4 1.9s0.1 1.4 0.4 1.8c0.3 0.5 0.7 0.7 1.2 0.7zm3.9 2.9 0.1-1c0.7 0.3 1.2 0.4 1.8 0.4 1.1 0 1.7-0.5 1.7-1.8v-1.1c-0.4 0.9-1 1.3-1.9 1.3-0.7 0-1.2-0.3-1.6-0.8-0.4-0.6-0.6-1.3-0.6-2.3s0.3-1.9 0.7-2.5c0.5-0.7 1.1-1 1.8-1 0.6 0 1.1 0.3 1.7 0.9v-0.7h1v5.1c0 0.9-0.1 1.5-0.2 1.9-0.1 0.5-0.3 0.8-0.6 1.2-0.4 0.5-1.1 0.7-2 0.7-0.6 0-1.2-0.1-1.9-0.3zm3.6-4.5v-2.5c-0.5-0.6-1-0.9-1.5-0.9-0.4 0-0.8 0.2-1 0.7-0.3 0.4-0.4 1-0.4 1.8 0 0.7 0.1 1.2 0.3 1.6s0.5 0.6 0.9 0.6c0.7 0 1.2-0.4 1.7-1.3zm3.3 4.5 0.1-1c0.6 0.3 1.2 0.4 1.8 0.4 1.1 0 1.7-0.5 1.7-1.8v-1.1c-0.4 0.9-1.1 1.3-1.9 1.3-0.7 0-1.2-0.3-1.6-0.8-0.4-0.6-0.6-1.3-0.6-2.3s0.2-1.9 0.7-2.5c0.5-0.7 1-1 1.8-1 0.5 0 1.1 0.3 1.6 0.9v-0.7h1v5.1c0 0.9 0 1.5-0.1 1.9-0.1 0.5-0.3 0.8-0.6 1.2-0.4 0.5-1.1 0.7-2 0.7-0.6 0-1.2-0.1-1.9-0.3zm3.6-4.5v-2.5c-0.5-0.6-1-0.9-1.5-0.9s-0.8 0.2-1.1 0.7c-0.2 0.4-0.4 1-0.4 1.8 0 0.7 0.2 1.2 0.4 1.6s0.5 0.6 0.9 0.6c0.6 0 1.2-0.4 1.7-1.3zm8 2.1c-0.7 0.2-1.4 0.4-2 0.4-1 0-1.8-0.3-2.3-0.9-0.6-0.6-0.8-1.4-0.8-2.4s0.2-1.9 0.8-2.5c0.5-0.7 1.1-1 1.9-1s1.4 0.3 1.8 0.8 0.6 1.4 0.6 2.5v0.4h-4c0.1 1.5 0.8 2.2 2.2 2.2 0.5 0 1.1-0.2 1.8-0.5zm-4-3.6h2.9v-0.2c0-1.1-0.5-1.7-1.4-1.7-0.4 0-0.7 0.2-1 0.5s-0.4 0.8-0.5 1.4zm9 3.8v-1.2c-0.5 0.9-1.2 1.4-2 1.4-0.6 0-1.1-0.3-1.5-0.9s-0.6-1.3-0.6-2.3c0-1.1 0.3-1.9 0.7-2.6 0.5-0.7 1-1 1.8-1 0.6 0 1.1 0.3 1.6 0.9v-3.7h1v9.4zm0-4.8c-0.5-0.6-1-0.9-1.5-0.9s-0.8 0.2-1.1 0.7c-0.2 0.4-0.3 1.1-0.3 1.9 0 1.5 0.4 2.3 1.2 2.3 0.6 0 1.1-0.4 1.7-1.3z" class="g5_1"/>
<path style="fill:#789440" d="m216 88v-1h6v1zm0-2v-1h6v1z" class="g5_1"/>
<path style="fill:#ea700d" d="m224.7 84.2-0.3-3.2h1.3l-0.2 3.2zm2.6 0-0.2-3.2h1.3l-0.3 3.2z" class="g6_1"/>
<path style="fill:#ea700d" d="m235.6 90.4c-0.5 0.1-1 0.2-1.5 0.2-0.9 0-1.5-0.2-1.8-0.5-0.3-0.4-0.4-1-0.4-2v-3.1h-1.5v-0.9h1.5v-1.4h1v1.4h2.6v0.9h-2.6v3.3c0 0.4 0 0.6 0.1 0.8 0 0.1 0.1 0.2 0.3 0.3 0.2 0.2 0.6 0.3 1 0.3 0.5 0 0.9-0.1 1.3-0.2zm2.6 0v-6.4h1.1v1.2c0.5-0.9 1.3-1.4 2.2-1.4 0.3 0 0.7 0 1 0.2v1.8h-0.7v-0.9c-0.2 0-0.4-0.1-0.5-0.1-0.4 0-0.7 0.1-1 0.3-0.3 0.3-0.7 0.6-1 1.1v4.2zm10.2-6.4v6.4h-1.1v-1.2c-0.5 0.9-1.2 1.4-2 1.4-1.1 0-1.7-0.8-1.7-2.2v-4.4h1.1v4.1c0 0.5 0.1 0.8 0.2 1 0.2 0.3 0.4 0.4 0.7 0.4 0.6 0 1.1-0.5 1.7-1.3v-4.2zm7.1 6.2c-0.8 0.2-1.4 0.4-2 0.4-1.1 0-1.8-0.3-2.4-0.9-0.5-0.6-0.8-1.4-0.8-2.4s0.3-1.9 0.8-2.5c0.5-0.7 1.2-1 2-1s1.4 0.3 1.8 0.8c0.3 0.5 0.5 1.4 0.5 2.5v0.4h-3.9c0 1.5 0.8 2.2 2.1 2.2 0.6 0 1.2-0.2 1.9-0.5zm-4-3.6h2.8v-0.2c0-1.1-0.4-1.7-1.3-1.7-0.4 0-0.8 0.2-1 0.5-0.3 0.3-0.5 0.8-0.5 1.4z" class="g6_1"/>
<path style="fill:#ea700d" d="m257.8 84.2-0.2-3.2h1.3l-0.3 3.2zm2.7 0-0.3-3.2h1.3l-0.3 3.2z" class="g6_1"/>
<path style="fill:#0070c0" d="m263.3 84.1 5.7 3.2-5.7 3.1v-1l3.9-2.1-3.9-2.2z" class="g4_1"/>
<path style="fill:#0070c0" d="m50.3 111.2-5.7-3.2 5.7-3.1v1l-3.9 2.1 3.9 2.2z" class="g4_1"/>
<path style="fill:#0070c0" d="m56.7 111.2c-0.6 0.1-1.1 0.2-1.6 0.2-0.8 0-1.4-0.2-1.7-0.6-0.3-0.3-0.5-1-0.5-1.9v-3.1h-1.4v-0.9h1.4v-1.4h1.1v1.4h2.6v0.9h-2.6v3.3 0.7c0.1 0.2 0.2 0.3 0.3 0.4 0.2 0.2 0.6 0.3 1.1 0.3 0.4 0 0.8-0.1 1.3-0.2zm4 0v-5.6h-2.1v-0.9h3.1v6.5zm-0.1-7.9v-1.5h1.3v1.5zm9.1 7.9c-0.6 0.1-1.1 0.2-1.6 0.2-0.8 0-1.4-0.2-1.7-0.6-0.3-0.3-0.5-1-0.5-1.9v-3.1h-1.5v-0.9h1.5v-1.4h1.1v1.4h2.5v0.9h-2.5v3.3 0.7c0.1 0.2 0.2 0.3 0.3 0.4 0.2 0.2 0.6 0.3 1.1 0.3 0.4 0 0.8-0.1 1.3-0.2zm4.1 0v-8.5h-2.2v-0.9h3.3v9.4zm9.6-0.3c-0.7 0.3-1.4 0.5-2 0.5-1 0-1.8-0.3-2.3-0.9-0.6-0.6-0.8-1.4-0.8-2.5 0-1 0.2-1.8 0.7-2.4 0.5-0.7 1.2-1 2-1s1.4 0.3 1.8 0.8 0.6 1.4 0.6 2.5v0.4h-4c0.1 1.4 0.8 2.2 2.1 2.2 0.6 0 1.2-0.2 1.9-0.5zm-4-3.5h2.8v-0.2c0-1.2-0.4-1.7-1.3-1.7-0.4 0-0.8 0.1-1 0.5-0.3 0.3-0.4 0.8-0.5 1.4z" class="g4_1"/>
<path style="fill:#0070c0" d="m84.4 104.9 5.7 3.1-5.7 3.2v-1l3.9-2.2-3.9-2.1z" class="g4_1"/>
<path d="m91.3 111.2v-7.6h1.1v3.3h2.9v-3.3h1.1v7.6h-1.1v-3.4h-2.9v3.4zm10.6-0.8c-0.7 0.6-1.3 0.9-1.9 0.9s-1-0.2-1.3-0.5c-0.4-0.3-0.6-0.8-0.6-1.3 0-0.6 0.3-1.2 0.8-1.6 0.6-0.4 1.3-0.6 2.2-0.6h0.6v-0.6c0-0.4-0.1-0.7-0.3-0.9-0.1-0.2-0.4-0.3-0.9-0.3-0.6 0-1.2 0.2-1.9 0.5v-1c0.8-0.3 1.5-0.4 2.2-0.4s1.2 0.1 1.5 0.5c0.3 0.3 0.5 0.9 0.5 1.7v2.7c0 0.4 0 0.6 0.1 0.8 0.1 0.1 0.2 0.2 0.4 0.2 0.1 0 0.2 0 0.3-0.1l0.1 0.7c-0.3 0.2-0.6 0.2-0.8 0.2-0.5 0-0.8-0.3-1-0.9zm-0.2-0.7v-1.7h-0.3c-1.4 0-2.2 0.5-2.2 1.3 0 0.3 0.1 0.6 0.3 0.8s0.4 0.3 0.7 0.3c0.5 0 1-0.3 1.5-0.7zm2.8 3.9v-8.9h1v1.2c0.5-0.9 1.2-1.3 1.9-1.3s1.2 0.3 1.6 0.8c0.4 0.6 0.6 1.4 0.6 2.4s-0.2 1.9-0.7 2.6c-0.5 0.6-1 1-1.8 1-0.6 0-1.1-0.3-1.6-0.9v3.1zm1-4c0.5 0.6 1 0.9 1.5 0.9 0.4 0 0.8-0.3 1.1-0.7 0.2-0.5 0.3-1.1 0.3-1.9 0-1.6-0.4-2.3-1.2-2.3-0.6 0-1.1 0.4-1.7 1.2zm5.8 4v-8.9h1.1v1.2c0.5-0.9 1.2-1.3 1.9-1.3s1.2 0.3 1.6 0.8c0.4 0.6 0.6 1.4 0.6 2.4s-0.3 1.9-0.7 2.6c-0.5 0.6-1.1 1-1.8 1-0.6 0-1.2-0.3-1.6-0.9v3.1zm1.1-4c0.5 0.6 1 0.9 1.5 0.9 0.4 0 0.8-0.3 1-0.7 0.3-0.5 0.4-1.1 0.4-1.9 0-1.6-0.4-2.3-1.2-2.3-0.6 0-1.2 0.4-1.7 1.2zm5.6 4v-0.9h0.5c0.4 0 0.6-0.1 0.8-0.2 0.2-0.2 0.4-0.5 0.6-1l0.3-0.6-2.5-6.2h1.1l1.9 4.8 1.9-4.8h1l-2.9 7.3c-0.3 0.6-0.5 1-0.9 1.2-0.3 0.3-0.7 0.4-1.3 0.4z" class="g2_1"/>
<path style="fill:#0070c0" d="m129.8 111.2-5.7-3.2 5.7-3.1v1l-3.9 2.1 3.9 2.2z" class="g4_1"/>
<path style="fill:#0070c0" d="m136.5 101.8-4.9 11.2h-0.9l4.9-11.2z" class="g4_1"/>
<path style="fill:#0070c0" d="m142.8 111.2c-0.5 0.1-1 0.2-1.5 0.2-0.9 0-1.4-0.2-1.8-0.6-0.3-0.3-0.4-1-0.4-1.9v-3.1h-1.5v-0.9h1.5v-1.4h1v1.4h2.6v0.9h-2.6v3.3c0 0.4 0.1 0.6 0.1 0.7 0 0.2 0.1 0.3 0.3 0.4 0.2 0.2 0.6 0.3 1 0.3 0.5 0 0.9-0.1 1.3-0.2zm4 0v-5.6h-2.1v-0.9h3.2v6.5zm-0.1-7.9v-1.5h1.3v1.5zm9.1 7.9c-0.5 0.1-1 0.2-1.5 0.2-0.9 0-1.5-0.2-1.8-0.6-0.3-0.3-0.4-1-0.4-1.9v-3.1h-1.5v-0.9h1.5v-1.4h1v1.4h2.6v0.9h-2.6v3.3c0 0.4 0 0.6 0.1 0.7 0 0.2 0.1 0.3 0.2 0.4 0.3 0.2 0.6 0.3 1.1 0.3s0.9-0.1 1.3-0.2zm4.2 0v-8.5h-2.3v-0.9h3.3v9.4zm9.6-0.3c-0.8 0.3-1.5 0.5-2.1 0.5-1 0-1.7-0.3-2.3-0.9-0.5-0.6-0.8-1.4-0.8-2.5 0-1 0.3-1.8 0.8-2.4 0.5-0.7 1.2-1 2-1s1.4 0.3 1.7 0.8c0.4 0.5 0.6 1.4 0.6 2.5v0.4h-4c0.1 1.4 0.8 2.2 2.2 2.2 0.6 0 1.2-0.2 1.9-0.5zm-4-3.5h2.8v-0.2c0-1.2-0.5-1.7-1.3-1.7-0.5 0-0.8 0.1-1 0.5-0.3 0.3-0.5 0.8-0.5 1.4z" class="g4_1"/>
<path style="fill:#0070c0" d="m170.5 104.9 5.7 3.1-5.7 3.2v-1l3.9-2.2-3.9-2.1z" class="g4_1"/>
<path style="fill:#0070c0" d="m50.3 132-5.7-3.2 5.7-3.2v1l-3.9 2.2 3.9 2.2z" class="g4_1"/>
<path style="fill:#0070c0" d="m56.7 132c-0.6 0.1-1.1 0.1-1.6 0.1-0.8 0-1.4-0.1-1.7-0.5-0.3-0.3-0.5-1-0.5-1.9v-3.2h-1.4v-0.9h1.4v-1.3h1.1v1.3h2.6v0.9h-2.6v3.3 0.8c0.1 0.1 0.2 0.3 0.3 0.4 0.2 0.2 0.6 0.3 1.1 0.3 0.4 0 0.8-0.1 1.3-0.2zm4.2 0.1c-0.8 0-1.5-0.3-2-0.9s-0.7-1.4-0.7-2.5c0-1 0.2-1.8 0.7-2.4s1.2-0.9 2-0.9c0.9 0 1.6 0.3 2.1 0.9s0.7 1.4 0.7 2.4c0 1.1-0.2 1.9-0.7 2.5s-1.2 0.9-2.1 0.9zm0-0.8c0.6 0 1-0.3 1.2-0.7 0.3-0.4 0.5-1.1 0.5-1.9 0-0.7-0.2-1.4-0.5-1.8-0.2-0.4-0.6-0.7-1.2-0.7-0.5 0-0.9 0.3-1.1 0.7-0.3 0.4-0.5 1.1-0.5 1.8 0 0.8 0.2 1.5 0.5 1.9 0.2 0.4 0.6 0.7 1.1 0.7zm7.6 0.7v-1.2c-0.5 0.9-1.2 1.3-1.9 1.3s-1.2-0.3-1.6-0.8c-0.4-0.6-0.6-1.4-0.6-2.3 0-1.1 0.3-2 0.7-2.7 0.5-0.6 1-0.9 1.8-0.9 0.6 0 1.1 0.2 1.6 0.8v-3.6h1v9.4zm0-4.9c-0.5-0.6-1-0.9-1.5-0.9-0.4 0-0.8 0.3-1.1 0.7-0.2 0.5-0.3 1.1-0.3 1.9 0 1.6 0.4 2.3 1.2 2.3 0.6 0 1.1-0.4 1.7-1.2zm5.4 5c-0.8 0-1.5-0.3-2-0.9s-0.7-1.4-0.7-2.5c0-1 0.2-1.8 0.7-2.4s1.2-0.9 2-0.9c0.9 0 1.6 0.3 2.1 0.9 0.4 0.6 0.7 1.4 0.7 2.4 0 1.1-0.3 1.9-0.7 2.5-0.5 0.6-1.2 0.9-2.1 0.9zm0-0.8c0.5 0 0.9-0.3 1.2-0.7s0.5-1.1 0.5-1.9c0-0.7-0.2-1.4-0.5-1.8s-0.7-0.7-1.2-0.7-0.9 0.3-1.2 0.7c-0.2 0.4-0.4 1.1-0.4 1.8 0 0.8 0.2 1.5 0.4 1.9 0.3 0.4 0.7 0.7 1.2 0.7z" class="g4_1"/>
<path style="fill:#0070c0" d="m77.7 125.6 5.7 3.2-5.7 3.2v-1l4-2.2-4-2.2z" class="g4_1"/>
<path d="m85 132-1-7.7h0.9l0.8 6.4 1-4.7h1.1l0.9 4.6 0.9-6.3h0.8l-1.1 7.7h-1.1l-1-4.5-1 4.5zm9.1 0.1c-0.9 0-1.5-0.3-2-0.9s-0.8-1.4-0.8-2.5c0-1 0.3-1.8 0.8-2.4s1.1-0.9 2-0.9c0.8 0 1.5 0.3 2 0.9s0.7 1.4 0.7 2.4c0 1.1-0.2 1.9-0.7 2.5s-1.2 0.9-2 0.9zm0-0.8c0.5 0 0.9-0.3 1.2-0.7s0.4-1.1 0.4-1.9c0-0.7-0.1-1.4-0.4-1.8s-0.7-0.7-1.2-0.7-0.9 0.3-1.2 0.7-0.4 1.1-0.4 1.8c0 0.8 0.1 1.5 0.4 1.9s0.7 0.7 1.2 0.7zm4.4 0.7v-6.5h1.1v1.2c0.5-0.9 1.3-1.3 2.2-1.3 0.3 0 0.6 0 1 0.1v1.8h-0.7v-0.9h-0.5c-0.4 0-0.7 0.1-1 0.3s-0.7 0.6-1 1.1v4.2zm6.4 0v-9.4h1.1v6l2.4-3.1h1.2l-2.4 2.9 2.9 3.6h-1.4l-2.7-3.4v3.4z" class="g2_1"/>
<path style="fill:#0070c0" d="m116.6 132-5.7-3.2 5.7-3.2v1l-3.9 2.2 3.9 2.2z" class="g4_1"/>
<path style="fill:#0070c0" d="m123.3 122.6-5 11.1h-0.9l5-11.1z" class="g4_1"/>
<path style="fill:#0070c0" d="m129.6 132c-0.5 0.1-1.1 0.1-1.6 0.1-0.8 0-1.4-0.1-1.7-0.5-0.3-0.3-0.5-1-0.5-1.9v-3.2h-1.4v-0.9h1.4v-1.3h1.1v1.3h2.6v0.9h-2.6v3.3 0.8c0.1 0.1 0.2 0.3 0.3 0.4 0.3 0.2 0.6 0.3 1.1 0.3 0.4 0 0.9-0.1 1.3-0.2zm4.3 0.1c-0.9 0-1.6-0.3-2.1-0.9s-0.7-1.4-0.7-2.5c0-1 0.3-1.8 0.7-2.4 0.5-0.6 1.2-0.9 2.1-0.9 0.8 0 1.5 0.3 2 0.9s0.7 1.4 0.7 2.4c0 1.1-0.2 1.9-0.7 2.5s-1.2 0.9-2 0.9zm0-0.8c0.5 0 0.9-0.3 1.1-0.7 0.3-0.4 0.5-1.1 0.5-1.9 0-0.7-0.2-1.4-0.5-1.8-0.2-0.4-0.6-0.7-1.1-0.7-0.6 0-1 0.3-1.2 0.7-0.3 0.4-0.5 1.1-0.5 1.8 0 0.8 0.2 1.5 0.5 1.9 0.2 0.4 0.6 0.7 1.2 0.7zm7.5 0.7v-1.2c-0.5 0.9-1.2 1.3-1.9 1.3s-1.2-0.3-1.6-0.8c-0.4-0.6-0.6-1.4-0.6-2.3 0-1.1 0.3-2 0.7-2.7 0.5-0.6 1.1-0.9 1.8-0.9 0.6 0 1.1 0.2 1.6 0.8v-3.6h1v9.4zm0-4.9c-0.5-0.6-1-0.9-1.5-0.9-0.4 0-0.8 0.3-1.1 0.7-0.2 0.5-0.3 1.1-0.3 1.9 0 1.6 0.4 2.3 1.2 2.3 0.6 0 1.2-0.4 1.7-1.2zm5.4 5c-0.8 0-1.5-0.3-2-0.9s-0.7-1.4-0.7-2.5c0-1 0.2-1.8 0.7-2.4s1.2-0.9 2-0.9c0.9 0 1.6 0.3 2.1 0.9 0.4 0.6 0.7 1.4 0.7 2.4 0 1.1-0.3 1.9-0.7 2.5-0.5 0.6-1.2 0.9-2.1 0.9zm0-0.8c0.5 0 0.9-0.3 1.2-0.7s0.5-1.1 0.5-1.9c0-0.7-0.2-1.4-0.5-1.8s-0.7-0.7-1.2-0.7-0.9 0.3-1.2 0.7c-0.2 0.4-0.4 1.1-0.4 1.8 0 0.8 0.2 1.5 0.4 1.9 0.3 0.4 0.7 0.7 1.2 0.7z" class="g4_1"/>
<path style="fill:#0070c0" d="m150.6 125.6 5.7 3.2-5.7 3.2v-1l4-2.2-4-2.2z" class="g4_1"/>
<path style="fill:#0070c0" d="m50.3 152.8-5.7-3.2 5.7-3.2v1l-3.9 2.2 3.9 2.2z" class="g4_1"/>
<path style="fill:#0070c0" d="m56.7 152.7c-0.6 0.2-1.1 0.2-1.6 0.2-0.8 0-1.4-0.2-1.7-0.5-0.3-0.4-0.5-1-0.5-2v-3.1h-1.4v-0.9h1.4v-1.4h1.1v1.4h2.6v0.9h-2.6v3.3 0.8c0.1 0.1 0.2 0.2 0.3 0.4 0.2 0.1 0.6 0.2 1.1 0.2 0.4 0 0.8 0 1.3-0.1zm4.2 0.2c-0.8 0-1.5-0.3-2-0.9s-0.7-1.4-0.7-2.5c0-1 0.2-1.9 0.7-2.5s1.2-0.9 2-0.9c0.9 0 1.6 0.3 2.1 0.9s0.7 1.5 0.7 2.5c0 1.1-0.2 1.9-0.7 2.5s-1.2 0.9-2.1 0.9zm0-0.9c0.6 0 1-0.2 1.2-0.6 0.3-0.5 0.5-1.1 0.5-1.9s-0.2-1.4-0.5-1.8c-0.2-0.5-0.6-0.7-1.2-0.7-0.5 0-0.9 0.2-1.1 0.7-0.3 0.4-0.5 1-0.5 1.8s0.2 1.4 0.5 1.9c0.2 0.4 0.6 0.6 1.1 0.6zm7.6 0.8v-1.3c-0.5 1-1.2 1.4-1.9 1.4s-1.2-0.3-1.6-0.8c-0.4-0.6-0.6-1.4-0.6-2.4s0.3-1.9 0.7-2.6c0.5-0.6 1-1 1.8-1 0.6 0 1.1 0.3 1.6 0.9v-3.7h1v9.5zm0-4.9c-0.5-0.6-1-0.9-1.5-0.9-0.4 0-0.8 0.2-1.1 0.7-0.2 0.4-0.3 1.1-0.3 1.9 0 1.5 0.4 2.3 1.2 2.3 0.6 0 1.1-0.4 1.7-1.2zm5.4 5c-0.8 0-1.5-0.3-2-0.9s-0.7-1.4-0.7-2.5c0-1 0.2-1.9 0.7-2.5s1.2-0.9 2-0.9c0.9 0 1.6 0.3 2.1 0.9 0.4 0.6 0.7 1.5 0.7 2.5 0 1.1-0.3 1.9-0.7 2.5-0.5 0.6-1.2 0.9-2.1 0.9zm0-0.9c0.5 0 0.9-0.2 1.2-0.6 0.3-0.5 0.5-1.1 0.5-1.9s-0.2-1.4-0.5-1.8c-0.3-0.5-0.7-0.7-1.2-0.7s-0.9 0.2-1.2 0.7c-0.2 0.4-0.4 1-0.4 1.8s0.2 1.4 0.4 1.9c0.3 0.4 0.7 0.6 1.2 0.6z" class="g4_1"/>
<path style="fill:#0070c0" d="m77.7 146.4 5.7 3.2-5.7 3.2v-1l4-2.2-4-2.2z" class="g4_1"/>
<path d="m85.1 152.8v-7.7h2.3c0.8 0 1.3 0.1 1.7 0.2 0.7 0.4 1 1 1 2 0 0.8-0.3 1.4-0.8 1.9-0.6 0.4-1.4 0.7-2.3 0.7h-0.8v2.9zm1.1-3.8h0.6c1.5 0 2.2-0.6 2.2-1.7 0-0.5-0.1-0.8-0.4-1s-0.7-0.3-1.4-0.3h-1zm7.8 3.8v-8.6h-2.3v-0.9h3.3v9.5zm7.4-0.8c-0.7 0.6-1.3 0.9-1.9 0.9s-1-0.2-1.4-0.5c-0.3-0.4-0.5-0.8-0.5-1.3 0-0.7 0.3-1.2 0.8-1.6 0.6-0.5 1.3-0.6 2.1-0.6h0.7v-0.6c0-0.5-0.1-0.8-0.3-1s-0.5-0.3-0.9-0.3c-0.6 0-1.2 0.2-1.9 0.6v-1c0.8-0.3 1.5-0.5 2.1-0.5 0.8 0 1.3 0.2 1.6 0.5 0.3 0.4 0.5 0.9 0.5 1.7v2.7c0 0.4 0 0.7 0.1 0.8 0 0.2 0.2 0.2 0.4 0.2h0.3l0.1 0.7c-0.3 0.1-0.6 0.2-0.8 0.2-0.5 0-0.8-0.3-1-0.9zm-0.2-0.8v-1.6h-0.3c-1.5 0-2.2 0.4-2.2 1.3 0 0.3 0.1 0.5 0.3 0.7s0.4 0.3 0.7 0.3c0.5 0 1-0.2 1.5-0.7zm3.3 3.9v-0.9h0.5c0.4 0 0.6 0 0.8-0.2 0.2-0.1 0.4-0.4 0.6-0.9l0.3-0.6-2.5-6.2h1.1l1.9 4.8 1.9-4.8h1l-2.9 7.3c-0.3 0.6-0.5 0.9-0.9 1.2-0.3 0.2-0.7 0.3-1.3 0.3z" class="g2_1"/>
<path style="fill:#0070c0" d="m116.6 152.8-5.7-3.2 5.7-3.2v1l-3.9 2.2 3.9 2.2z" class="g4_1"/>
<path style="fill:#0070c0" d="m123.3 143.3-5 11.2h-0.9l5-11.2z" class="g4_1"/>
<path style="fill:#0070c0" d="m129.6 152.7c-0.5 0.2-1.1 0.2-1.6 0.2-0.8 0-1.4-0.2-1.7-0.5-0.3-0.4-0.5-1-0.5-2v-3.1h-1.4v-0.9h1.4v-1.4h1.1v1.4h2.6v0.9h-2.6v3.3 0.8c0.1 0.1 0.2 0.2 0.3 0.4 0.3 0.1 0.6 0.2 1.1 0.2 0.4 0 0.9 0 1.3-0.1zm4.3 0.2c-0.9 0-1.6-0.3-2.1-0.9s-0.7-1.4-0.7-2.5c0-1 0.3-1.9 0.7-2.5 0.5-0.6 1.2-0.9 2.1-0.9 0.8 0 1.5 0.3 2 0.9s0.7 1.5 0.7 2.5c0 1.1-0.2 1.9-0.7 2.5s-1.2 0.9-2 0.9zm0-0.9c0.5 0 0.9-0.2 1.1-0.6 0.3-0.5 0.5-1.1 0.5-1.9s-0.2-1.4-0.5-1.8c-0.2-0.5-0.6-0.7-1.1-0.7-0.6 0-1 0.2-1.2 0.7-0.3 0.4-0.5 1-0.5 1.8s0.2 1.4 0.5 1.9c0.2 0.4 0.6 0.6 1.2 0.6zm7.5 0.8v-1.3c-0.5 1-1.2 1.4-1.9 1.4s-1.2-0.3-1.6-0.8c-0.4-0.6-0.6-1.4-0.6-2.4s0.3-1.9 0.7-2.6c0.5-0.6 1.1-1 1.8-1 0.6 0 1.1 0.3 1.6 0.9v-3.7h1v9.5zm0-4.9c-0.5-0.6-1-0.9-1.5-0.9-0.4 0-0.8 0.2-1.1 0.7-0.2 0.4-0.3 1.1-0.3 1.9 0 1.5 0.4 2.3 1.2 2.3 0.6 0 1.2-0.4 1.7-1.2zm5.4 5c-0.8 0-1.5-0.3-2-0.9s-0.7-1.4-0.7-2.5c0-1 0.2-1.9 0.7-2.5s1.2-0.9 2-0.9c0.9 0 1.6 0.3 2.1 0.9 0.4 0.6 0.7 1.5 0.7 2.5 0 1.1-0.3 1.9-0.7 2.5-0.5 0.6-1.2 0.9-2.1 0.9zm0-0.9c0.5 0 0.9-0.2 1.2-0.6 0.3-0.5 0.5-1.1 0.5-1.9s-0.2-1.4-0.5-1.8c-0.3-0.5-0.7-0.7-1.2-0.7s-0.9 0.2-1.2 0.7c-0.2 0.4-0.4 1-0.4 1.8s0.2 1.4 0.4 1.9c0.3 0.4 0.7 0.6 1.2 0.6z" class="g4_1"/>
<path style="fill:#0070c0" d="m150.6 146.4 5.7 3.2-5.7 3.2v-1l4-2.2-4-2.2z" class="g4_1"/>
<path style="fill:#0070c0" d="m23.8 173.5-5.7-3.1 5.7-3.2v1l-3.9 2.2 3.9 2.1z" class="g4_1"/>
<path style="fill:#0070c0" d="m30.5 164.1-5 11.2h-0.8l4.9-11.2z" class="g4_1"/>
<path style="fill:#0070c0" d="m31.9 173.5v-6.4h1v1.2c0.5-0.9 1.2-1.4 2-1.4 1.1 0 1.7 0.7 1.7 2.2v4.4h-1.1v-4.1c0-0.5-0.1-0.8-0.2-1.1-0.2-0.2-0.4-0.3-0.7-0.3-0.6 0-1.1 0.5-1.7 1.3v4.2zm9.2 0.2c-0.9 0-1.6-0.3-2.1-0.9-0.4-0.6-0.7-1.4-0.7-2.5s0.3-1.9 0.8-2.5c0.4-0.6 1.1-0.9 2-0.9 0.8 0 1.5 0.3 2 0.9s0.7 1.4 0.7 2.5-0.2 1.9-0.7 2.5-1.2 0.9-2 0.9zm0-0.9c0.5 0 0.9-0.2 1.2-0.7 0.2-0.4 0.4-1 0.4-1.8s-0.2-1.4-0.4-1.8c-0.3-0.5-0.7-0.7-1.2-0.7s-0.9 0.2-1.2 0.7c-0.3 0.4-0.5 1-0.5 1.8s0.2 1.4 0.5 1.8c0.3 0.5 0.7 0.7 1.2 0.7zm8.7 0.7c-0.5 0.1-1.1 0.2-1.6 0.2-0.8 0-1.4-0.2-1.7-0.5-0.3-0.4-0.5-1-0.5-2v-3.1h-1.4v-0.9h1.4v-1.4h1.1v1.4h2.6v0.9h-2.6v3.3 0.8l0.3 0.3c0.2 0.2 0.6 0.3 1.1 0.3 0.4 0 0.8-0.1 1.3-0.2zm6.8-0.2c-0.7 0.3-1.4 0.4-2 0.4-1 0-1.8-0.3-2.3-0.9-0.5-0.5-0.8-1.4-0.8-2.4s0.3-1.9 0.8-2.5c0.5-0.7 1.1-1 1.9-1 0.9 0 1.4 0.3 1.8 0.8 0.4 0.6 0.6 1.4 0.6 2.5v0.4h-4c0.1 1.5 0.8 2.2 2.2 2.2 0.5 0 1.2-0.1 1.8-0.5zm-3.9-3.6h2.8v-0.1c0-1.2-0.5-1.8-1.3-1.8-0.5 0-0.8 0.2-1.1 0.5-0.2 0.3-0.4 0.8-0.4 1.4z" class="g4_1"/>
<path style="fill:#0070c0" d="m57.8 167.2 5.7 3.2-5.7 3.1v-1l4-2.1-4-2.2z" class="g4_1"/>
<path class="g1_1" style="stroke:#8f8f8f;fill:none" d="m330 587h256v-544h-256v544z" fill-rule="evenodd"/>
<path d="m350.9 60.2v0.9h-0.4c-0.5 0-0.9 0.1-1.1 0.2-0.3 0.2-0.4 0.4-0.4 0.8 0 0.1 0 0.3 0.1 0.5l0.1 0.9c0 0.2 0.1 0.5 0.1 0.7 0 0.8-0.4 1.4-1.1 1.6 0.7 0.3 1.1 0.8 1.1 1.7 0 0.2-0.1 0.4-0.1 0.7l-0.1 0.8c-0.1 0.2-0.1 0.4-0.1 0.6 0 0.3 0.1 0.6 0.4 0.7 0.2 0.2 0.6 0.2 1.1 0.2h0.4v0.9h-0.6c-0.7 0-1.3-0.1-1.7-0.4-0.3-0.3-0.5-0.8-0.5-1.3v-0.8l0.2-1.1v-0.4c0-0.8-0.3-1.1-1.1-1.1h-0.5v-0.9h0.5c0.8 0 1.1-0.4 1.1-1.1v-0.5l-0.2-1.1v-0.7c0-1.2 0.7-1.8 2.2-1.8z" class="g2_1"/>
<path d="m373.5 84.2l-0.3-3.2h1.4l-0.3 3.2zm2.7 0l-0.3-3.2h1.3l-0.3 3.2z" class="g7_1"/>
<path d="m378.5 91.5h7" class="g8_1"/>
<path d="m389.9 90.4v-1.2c-0.5 0.9-1.2 1.4-1.9 1.4s-1.2-0.3-1.6-0.9-0.5-1.3-0.5-2.3c0-1.1 0.2-1.9 0.6-2.6 0.5-0.7 1.1-1 1.8-1 0.6 0 1.2 0.3 1.6 0.9v-3.7h1.1v9.4zm0-4.8c-0.5-0.6-1-0.9-1.4-0.9-0.5 0-0.9 0.2-1.1 0.7-0.3 0.4-0.4 1.1-0.4 1.9 0 1.5 0.4 2.3 1.2 2.3 0.6 0 1.2-0.4 1.7-1.3zm8 4.6c-0.7 0.2-1.4 0.4-2 0.4-1 0-1.7-0.3-2.3-0.9-0.5-0.6-0.8-1.4-0.8-2.4s0.3-1.9 0.8-2.5c0.5-0.7 1.2-1 2-1s1.3 0.3 1.7 0.8 0.6 1.4 0.6 2.5v0.4h-4c0.1 1.5 0.8 2.2 2.2 2.2 0.5 0 1.2-0.2 1.8-0.5zm-3.9-3.6h2.8v-0.2c0-1.1-0.5-1.7-1.3-1.7-0.5 0-0.8 0.2-1.1 0.5-0.2 0.3-0.4 0.8-0.4 1.4zm10.1 3.6c-0.6 0.3-1.3 0.4-1.9 0.4-1 0-1.8-0.3-2.3-0.9-0.6-0.6-0.9-1.4-0.9-2.5s0.3-1.9 0.9-2.5c0.5-0.6 1.2-0.9 2.2-0.9 0.6 0 1.2 0.1 1.9 0.3v1c-0.7-0.3-1.3-0.4-1.8-0.4-0.6 0-1.1 0.2-1.5 0.7-0.4 0.4-0.5 1-0.5 1.8s0.2 1.4 0.6 1.8c0.3 0.5 0.9 0.7 1.6 0.7 0.5 0 1-0.1 1.7-0.4zm4.1 0.2v-8.5h-2.2v-0.9h3.3v9.4zm8.2-0.8c-0.6 0.6-1.3 0.9-1.9 0.9s-1-0.1-1.3-0.5c-0.4-0.3-0.6-0.7-0.6-1.3s0.3-1.2 0.8-1.6c0.6-0.4 1.3-0.6 2.2-0.6h0.6v-0.5c0-0.5-0.1-0.8-0.2-1-0.2-0.2-0.5-0.3-0.9-0.3-0.7 0-1.3 0.2-2 0.6v-1c0.8-0.3 1.5-0.5 2.1-0.5 0.8 0 1.3 0.2 1.6 0.5s0.5 0.9 0.5 1.7v2.7c0 0.4 0 0.6 0.1 0.8 0.1 0.1 0.2 0.2 0.4 0.2 0.1 0 0.2 0 0.4-0.1v0.8c-0.3 0.1-0.6 0.1-0.8 0.1-0.5 0-0.8-0.3-1-0.9zm-0.2-0.7v-1.6h-0.3c-1.4 0-2.2 0.4-2.2 1.3 0 0.3 0.1 0.5 0.3 0.7s0.4 0.3 0.8 0.3 0.9-0.2 1.4-0.7zm3.5 1.5v-6.4h1v1.2c0.6-0.9 1.3-1.4 2.2-1.4 0.3 0 0.7 0 1.1 0.2v1.8h-0.8v-0.9c-0.2 0-0.3-0.1-0.4-0.1-0.4 0-0.8 0.1-1.1 0.3-0.3 0.3-0.6 0.6-1 1.1v4.2zm9.7-0.8c-0.7 0.6-1.3 0.9-1.9 0.9s-1-0.1-1.4-0.5c-0.3-0.3-0.5-0.7-0.5-1.3s0.3-1.2 0.8-1.6c0.6-0.4 1.3-0.6 2.2-0.6h0.6v-0.5c0-0.5-0.1-0.8-0.3-1-0.1-0.2-0.4-0.3-0.9-0.3-0.6 0-1.2 0.2-1.9 0.6v-1c0.8-0.3 1.5-0.5 2.1-0.5 0.8 0 1.3 0.2 1.6 0.5s0.5 0.9 0.5 1.7v2.7c0 0.4 0 0.6 0.1 0.8 0.1 0.1 0.2 0.2 0.4 0.2 0.1 0 0.2 0 0.3-0.1l0.1 0.8c-0.3 0.1-0.6 0.1-0.8 0.1-0.5 0-0.8-0.3-1-0.9zm-0.2-0.7v-1.6h-0.3c-1.5 0-2.2 0.4-2.2 1.3 0 0.3 0.1 0.5 0.3 0.7s0.4 0.3 0.7 0.3c0.5 0 1-0.2 1.5-0.7zm8.5 1.5c-0.5 0.1-1.1 0.2-1.5 0.2-0.9 0-1.5-0.2-1.8-0.5-0.3-0.4-0.5-1-0.5-2v-3.1h-1.4v-0.9h1.4v-1.4h1.1v1.4h2.6v0.9h-2.6v3.3c0 0.4 0 0.6 0.1 0.8 0 0.1 0.1 0.2 0.2 0.3 0.3 0.2 0.6 0.3 1.1 0.3 0.4 0 0.9-0.1 1.3-0.2zm3.2 0v-5.6h-2.1v-0.8h3.2v6.4zm-0.1-7.9v-1.5h1.3v1.5zm7.3 8.1c-0.9 0-1.6-0.3-2.1-0.9-0.4-0.6-0.7-1.5-0.7-2.5 0-1.1 0.3-1.9 0.7-2.5 0.5-0.6 1.2-0.9 2.1-0.9 0.8 0 1.5 0.3 2 0.9s0.7 1.4 0.7 2.5c0 1-0.2 1.9-0.7 2.5s-1.2 0.9-2 0.9zm0-0.9c0.5 0 0.9-0.2 1.2-0.7 0.2-0.4 0.4-1 0.4-1.8s-0.2-1.4-0.4-1.9c-0.3-0.4-0.7-0.6-1.2-0.6s-0.9 0.2-1.2 0.6c-0.3 0.5-0.5 1.1-0.5 1.9s0.2 1.4 0.5 1.8c0.3 0.5 0.7 0.7 1.2 0.7zm4.5 0.7v-6.4h1.1v1.2c0.4-0.9 1.1-1.4 2-1.4 1.1 0 1.6 0.7 1.6 2.2v4.4h-1v-4.1c0-0.5-0.1-0.9-0.3-1.1-0.1-0.2-0.3-0.3-0.7-0.3-0.5 0-1.1 0.4-1.6 1.3v4.2z" class="g7_1"/>
<path d="m459.7 84.2l-0.3-3.2h1.3l-0.2 3.2zm2.6 0l-0.3-3.2h1.4l-0.3 3.2z" class="g7_1"/>
<path d="m467 85v-2h1v2zm0 5v-2h1v2z" class="g2_1"/>
<path d="m483.5 81v0.9h-0.5c-0.5 0-0.9 0.1-1.1 0.2-0.2 0.2-0.3 0.4-0.3 0.8v0.5l0.2 0.8v0.7c0 0.9-0.3 1.4-1 1.7 0.7 0.3 1 0.8 1 1.7v0.7l-0.2 0.8v0.5c0 0.4 0.1 0.6 0.3 0.8 0.2 0.1 0.6 0.2 1.1 0.2h0.5v0.9h-0.6c-0.7 0-1.3-0.2-1.7-0.4-0.4-0.3-0.6-0.8-0.6-1.3 0-0.3 0-0.5 0.1-0.8l0.2-1.1v-0.5c0-0.7-0.4-1.1-1.2-1.1h-0.5v-0.8h0.5c0.8 0 1.2-0.4 1.2-1.1v-0.5l-0.2-1.1c-0.1-0.3-0.1-0.5-0.1-0.8 0-1.1 0.8-1.7 2.3-1.7z" class="g2_1"/>
<path d="m400 105l-0.2-3.2h1.3l-0.3 3.2zm2.7 0l-0.3-3.2h1.3l-0.2 3.2z" class="g7_1"/>
<path d="m405.5 112.5h6" class="g8_1"/>
<path d="m416.2 110.4c-0.7 0.6-1.3 0.9-1.9 0.9s-1-0.2-1.4-0.5c-0.3-0.3-0.5-0.8-0.5-1.3 0-0.6 0.3-1.2 0.8-1.6 0.6-0.4 1.3-0.6 2.1-0.6h0.7v-0.6c0-0.4-0.1-0.7-0.3-0.9s-0.5-0.3-0.9-0.3c-0.6 0-1.2 0.2-1.9 0.5v-1c0.8-0.3 1.5-0.4 2.1-0.4 0.8 0 1.3 0.1 1.6 0.5 0.3 0.3 0.5 0.9 0.5 1.7v2.7c0 0.4 0 0.6 0.1 0.8 0.1 0.1 0.2 0.2 0.4 0.2 0.1 0 0.2 0 0.3-0.1l0.1 0.7c-0.3 0.2-0.6 0.2-0.8 0.2-0.5 0-0.9-0.3-1-0.9zm-0.2-0.7v-1.7h-0.3c-1.5 0-2.2 0.5-2.2 1.3 0 0.3 0.1 0.6 0.3 0.8s0.4 0.3 0.7 0.3c0.5 0 1-0.3 1.5-0.7zm8.5 1.5c-0.6 0.1-1.1 0.2-1.6 0.2-0.8 0-1.4-0.2-1.7-0.6-0.3-0.3-0.5-1-0.5-1.9v-3.1h-1.4v-0.9h1.4v-1.4h1.1v1.4h2.6v0.9h-2.6v3.3 0.7c0.1 0.2 0.2 0.3 0.3 0.4 0.2 0.2 0.6 0.3 1.1 0.3 0.4 0 0.8-0.1 1.3-0.2zm6.1 0c-0.5 0.1-1 0.2-1.6 0.2-0.8 0-1.4-0.2-1.7-0.6-0.3-0.3-0.5-1-0.5-1.9v-3.1h-1.4v-0.9h1.4v-1.4h1.1v1.4h2.6v0.9h-2.6v3.3 0.7c0.1 0.2 0.2 0.3 0.3 0.4 0.3 0.2 0.6 0.3 1.1 0.3 0.4 0 0.9-0.1 1.3-0.2zm2.6 0v-6.5h1.1v1.2c0.5-0.9 1.2-1.3 2.1-1.3 0.3 0 0.7 0 1.1 0.1v1.9h-0.8v-0.9c-0.2-0.1-0.3-0.1-0.4-0.1-0.4 0-0.8 0.1-1.1 0.3s-0.6 0.6-0.9 1.1v4.2zm8.3 0v-5.6h-2.2v-0.9h3.2v6.5zm-0.2-7.9v-1.5h1.4v1.5zm4.2 8v-9.5h1v4.1c0.5-0.9 1.2-1.3 1.9-1.3s1.2 0.3 1.6 0.8c0.4 0.6 0.6 1.4 0.6 2.4s-0.3 1.9-0.7 2.6c-0.5 0.6-1.1 1-1.8 1-0.6 0-1.1-0.3-1.6-0.9l-0.3 0.8zm1-1.7c0.5 0.6 1 0.9 1.5 0.9 0.4 0 0.8-0.3 1-0.7 0.3-0.5 0.4-1.1 0.4-1.9 0-1.6-0.4-2.3-1.2-2.3-0.6 0-1.2 0.4-1.7 1.2zm10.6-4.9v6.5h-1.1v-1.2c-0.5 0.9-1.1 1.4-2 1.4-1.1 0-1.7-0.8-1.7-2.2v-4.5h1.1v4.1c0 0.5 0.1 0.9 0.2 1.1 0.2 0.2 0.4 0.3 0.7 0.3 0.6 0 1.1-0.4 1.7-1.2v-4.3zm7.1 6.5c-0.5 0.1-1 0.2-1.5 0.2-0.9 0-1.5-0.2-1.8-0.6-0.3-0.3-0.5-1-0.5-1.9v-3.1h-1.4v-0.9h1.4v-1.4h1.1v1.4h2.6v0.9h-2.6v3.3c0 0.4 0 0.6 0.1 0.7 0 0.2 0.1 0.3 0.2 0.4 0.3 0.2 0.6 0.3 1.1 0.3 0.4 0 0.9-0.1 1.3-0.2zm6.1-0.3c-0.8 0.3-1.4 0.5-2 0.5-1 0-1.8-0.3-2.3-0.9-0.6-0.6-0.9-1.4-0.9-2.5 0-1 0.3-1.8 0.8-2.4 0.5-0.7 1.2-1 2-1s1.4 0.3 1.8 0.8 0.5 1.4 0.5 2.5v0.4h-3.9c0.1 1.4 0.8 2.2 2.1 2.2 0.6 0 1.2-0.2 1.9-0.5zm-4-3.5h2.8v-0.2c0-1.2-0.4-1.7-1.3-1.7-0.4 0-0.8 0.1-1 0.5-0.3 0.3-0.4 0.8-0.5 1.4zm6 3.5v-1c0.8 0.4 1.5 0.6 2.1 0.6 0.4 0 0.8-0.1 1.1-0.3 0.2-0.2 0.4-0.5 0.4-0.7 0-0.4-0.3-0.7-1-1l-1.2-0.4c-0.8-0.3-1.3-0.9-1.3-1.7 0-0.6 0.2-1 0.6-1.3 0.4-0.4 1-0.5 1.7-0.5 0.6 0 1.2 0.1 1.9 0.3v0.9c-0.7-0.2-1.3-0.3-1.9-0.3-0.4 0-0.7 0-0.9 0.2-0.3 0.1-0.4 0.4-0.4 0.6 0 0.3 0.3 0.6 0.8 0.8l1.4 0.5c0.5 0.2 0.8 0.4 1 0.7s0.3 0.6 0.3 1c0 0.7-0.2 1.1-0.6 1.5-0.5 0.4-1.1 0.6-1.9 0.6-0.7 0-1.4-0.2-2.1-0.5z" class="g7_1"/>
<path d="m479.6 105l-0.3-3.2h1.3l-0.3 3.2zm2.6 0l-0.3-3.2h1.4l-0.3 3.2z" class="g7_1"/>
<path d="m487 106v-2h1v2zm0 5v-2h1v2z" class="g2_1"/>
<path d="m503.3 101.8v0.9h-0.4c-0.5 0-0.9 0-1.1 0.2-0.2 0.1-0.3 0.4-0.3 0.7v0.6l0.1 0.8c0.1 0.3 0.1 0.5 0.1 0.7 0 0.9-0.4 1.4-1.1 1.7 0.7 0.2 1.1 0.8 1.1 1.7 0 0.1 0 0.4-0.1 0.6l-0.1 0.9v0.5c0 0.4 0.1 0.6 0.3 0.8 0.2 0.1 0.6 0.2 1.1 0.2h0.4v0.9h-0.5c-0.8 0-1.3-0.2-1.7-0.5s-0.6-0.7-0.6-1.2c0-0.3 0-0.6 0.1-0.9l0.2-1v-0.5c0-0.7-0.4-1.1-1.2-1.1h-0.5v-0.9h0.5c0.8 0 1.2-0.3 1.2-1.1v-0.4l-0.2-1.1c-0.1-0.3-0.1-0.6-0.1-0.8 0-1.1 0.7-1.7 2.3-1.7z" class="g2_1"/>
<path d="m426.5 125.8l-0.2-3.2h1.3l-0.3 3.2zm2.7 0l-0.3-3.2h1.3l-0.2 3.2z" class="g7_1"/>
<path d="m434.3 132l-2.4-6.5h1.1l1.9 5.2 2-5.2h1l-2.5 6.5zm10-0.3c-0.7 0.3-1.4 0.4-2 0.4-1 0-1.8-0.3-2.3-0.8-0.5-0.6-0.8-1.4-0.8-2.5 0-1 0.3-1.8 0.8-2.5 0.5-0.6 1.1-0.9 2-0.9 0.7 0 1.3 0.2 1.7 0.8 0.4 0.5 0.6 1.3 0.6 2.5v0.4h-4c0.1 1.4 0.8 2.2 2.2 2.2 0.5 0 1.2-0.2 1.8-0.5zm-3.9-3.5h2.8v-0.2c0-1.2-0.5-1.8-1.3-1.8-0.5 0-0.8 0.2-1.1 0.5-0.2 0.4-0.4 0.9-0.4 1.5zm5.8 3.8v-6.5h1.1v1.2c0.5-0.9 1.2-1.3 2.1-1.3 0.3 0 0.7 0 1.1 0.1v1.8h-0.8v-0.9h-0.4c-0.4 0-0.8 0.1-1.1 0.3s-0.6 0.6-0.9 1.1v4.2zm6.2-0.3v-1c0.8 0.4 1.6 0.6 2.2 0.6 0.4 0 0.7-0.2 1-0.3 0.3-0.2 0.4-0.5 0.4-0.8 0-0.4-0.3-0.7-1-0.9l-1.1-0.4c-0.9-0.3-1.3-0.9-1.3-1.7 0-0.6 0.2-1 0.6-1.4 0.4-0.3 0.9-0.4 1.7-0.4 0.5 0 1.2 0 1.9 0.2v1c-0.7-0.2-1.4-0.4-1.9-0.4-0.4 0-0.7 0.1-1 0.3-0.2 0.1-0.3 0.3-0.3 0.6s0.3 0.6 0.8 0.8l1.3 0.5c0.5 0.2 0.9 0.4 1.1 0.7s0.3 0.6 0.3 1c0 0.6-0.2 1.1-0.7 1.5-0.4 0.4-1 0.5-1.8 0.5-0.7 0-1.4-0.1-2.2-0.4zm9 0.3v-5.6h-2.2v-0.9h3.2v6.5zm-0.2-8v-1.4h1.4v1.4zm6.5 8.1c-0.8 0-1.5-0.3-2-0.9s-0.7-1.4-0.7-2.5c0-1 0.2-1.8 0.7-2.4s1.2-0.9 2-0.9c0.9 0 1.6 0.3 2 0.9 0.5 0.6 0.8 1.4 0.8 2.4 0 1.1-0.3 1.9-0.8 2.5-0.4 0.6-1.1 0.9-2 0.9zm0-0.8c0.5 0 0.9-0.3 1.2-0.7s0.4-1.1 0.4-1.9c0-0.7-0.1-1.4-0.4-1.8s-0.7-0.7-1.2-0.7-0.9 0.3-1.2 0.7-0.4 1.1-0.4 1.8c0 0.8 0.1 1.5 0.4 1.9s0.7 0.7 1.2 0.7zm4.6 0.7v-6.5h1v1.2c0.5-0.9 1.2-1.3 2-1.3 1.1 0 1.7 0.7 1.7 2.2v4.4h-1.1v-4.1c0-0.5-0.1-0.9-0.2-1.1s-0.4-0.3-0.7-0.3c-0.5 0-1.1 0.4-1.7 1.2v4.3z" class="g7_1"/>
<path d="m479.6 125.8l-0.3-3.2h1.3l-0.3 3.2zm2.6 0l-0.3-3.2h1.4l-0.3 3.2z" class="g7_1"/>
<path d="m487 127v-2h1v2zm0 4v-1h1v1z" class="g2_1"/>
<path d="m499.4 125.8l-0.2-3.2h1.3l-0.3 3.2zm2.7 0l-0.3-3.2h1.3l-0.2 3.2z" class="g6_1"/>
<path d="m505.5 132v-0.9h2.1v-6.9l-2.1 0.6v-0.8l3.1-1.1v8.2h2.2v0.9z" class="g6_1"/>
<path class="g6_1" d="m513 131h2v-1h-2v1z" fill-rule="evenodd"/>
<path d="m521 132.2c-0.8 0-1.4-0.4-1.9-1.3-0.5-0.8-0.8-1.9-0.8-3.3 0-1.5 0.3-2.6 0.8-3.4s1.1-1.3 1.9-1.3c0.9 0 1.5 0.5 2 1.3s0.8 1.9 0.8 3.4c0 1.4-0.3 2.5-0.8 3.3-0.5 0.9-1.1 1.3-2 1.3zm0-0.9c1.1 0 1.6-1.2 1.6-3.7s-0.5-3.8-1.6-3.8c-1 0-1.5 1.3-1.5 3.8s0.5 3.7 1.5 3.7z" class="g6_1"/>
<path d="m526 125.8l-0.3-3.2h1.3l-0.3 3.2zm2.6 0l-0.3-3.2h1.4l-0.3 3.2z" class="g6_1"/>
<path d="m533.5 133.9v-0.6c0.4 0 0.6-0.4 0.6-1.1l0.1-0.2h-0.7v-1.8h1.6v1.1c0 1.7-0.5 2.5-1.6 2.6z" class="g2_1"/>
<path d="m426.5 146.6l-0.2-3.3h1.3l-0.3 3.3zm2.7 0l-0.3-3.3h1.3l-0.2 3.3z" class="g7_1"/>
<path d="m437.5 152.5c-0.8 0.3-1.4 0.4-2.1 0.4-1 0-1.7-0.3-2.3-0.9-0.5-0.5-0.8-1.3-0.8-2.4 0-1 0.3-1.8 0.8-2.5 0.5-0.6 1.2-1 2-1s1.4 0.3 1.8 0.8c0.3 0.6 0.5 1.4 0.5 2.5v0.4h-4c0.1 1.5 0.8 2.2 2.2 2.2 0.6 0 1.2-0.1 1.9-0.4zm-4-3.6h2.8v-0.1c0-1.2-0.4-1.8-1.3-1.8-0.4 0-0.8 0.2-1 0.5-0.3 0.4-0.5 0.8-0.5 1.4zm5.9 3.9v-6.5h1.1v1.2c0.5-0.9 1.1-1.4 2-1.4 1.1 0 1.6 0.8 1.6 2.2v4.5h-1v-4.1c0-0.6-0.1-0.9-0.2-1.1-0.2-0.2-0.4-0.4-0.8-0.4-0.5 0-1 0.5-1.6 1.3v4.3zm11.1-0.3c-0.6 0.3-1.3 0.4-1.9 0.4-1 0-1.8-0.3-2.4-0.9-0.5-0.6-0.8-1.4-0.8-2.5 0-1 0.3-1.9 0.8-2.5 0.6-0.6 1.3-0.9 2.3-0.9 0.6 0 1.2 0.1 1.9 0.4v0.9c-0.7-0.2-1.3-0.4-1.8-0.4-0.6 0-1.1 0.2-1.5 0.7-0.4 0.4-0.5 1-0.5 1.8s0.2 1.4 0.5 1.9c0.4 0.4 1 0.6 1.7 0.6 0.5 0 1-0.1 1.7-0.4zm4.2 0.4c-0.8 0-1.5-0.3-2-0.9s-0.7-1.4-0.7-2.5c0-1 0.2-1.9 0.7-2.5s1.2-0.9 2-0.9c0.9 0 1.6 0.3 2.1 0.9 0.4 0.6 0.7 1.5 0.7 2.5 0 1.1-0.3 1.9-0.7 2.5-0.5 0.6-1.2 0.9-2.1 0.9zm0-0.9c0.5 0 0.9-0.2 1.2-0.6 0.3-0.5 0.5-1.1 0.5-1.9s-0.2-1.4-0.5-1.8c-0.3-0.5-0.7-0.7-1.2-0.7s-0.9 0.2-1.1 0.7c-0.3 0.4-0.5 1-0.5 1.8s0.2 1.4 0.5 1.9c0.2 0.4 0.6 0.6 1.1 0.6zm8.3 0.8v-1.3c-0.5 1-1.1 1.4-1.9 1.4-0.6 0-1.2-0.3-1.5-0.8-0.4-0.6-0.6-1.4-0.6-2.4s0.2-1.9 0.7-2.6c0.4-0.6 1-1 1.7-1s1.2 0.3 1.6 0.9v-3.7h1.1v9.5zm0-4.9c-0.5-0.6-1-0.9-1.4-0.9-0.5 0-0.9 0.2-1.1 0.7-0.3 0.4-0.4 1.1-0.4 1.9 0 1.5 0.4 2.3 1.2 2.3 0.6 0 1.2-0.4 1.7-1.2zm4.5 4.9v-5.6h-2.2v-0.9h3.2v6.5zm-0.2-8v-1.5h1.4v1.5zm5 8v-6.5h1v1.2c0.5-0.9 1.2-1.4 2-1.4 1.1 0 1.7 0.8 1.7 2.2v4.5h-1.1v-4.1c0-0.6-0.1-0.9-0.2-1.1s-0.4-0.4-0.7-0.4c-0.5 0-1.1 0.5-1.7 1.3v4.3zm7 2.1l0.1-1c0.6 0.3 1.2 0.5 1.8 0.5 1.1 0 1.7-0.6 1.7-1.8v-1.2c-0.4 0.9-1.1 1.4-1.9 1.4-0.7 0-1.2-0.3-1.6-0.9-0.4-0.5-0.6-1.3-0.6-2.3s0.3-1.8 0.7-2.5c0.5-0.6 1-1 1.8-1 0.5 0 1.1 0.3 1.7 0.9v-0.7h1v5.2c0 0.8-0.1 1.4-0.2 1.9-0.1 0.4-0.3 0.8-0.6 1.1-0.4 0.5-1.1 0.8-2 0.8-0.6 0-1.2-0.2-1.9-0.4zm3.6-4.4v-2.6c-0.5-0.6-1-0.9-1.5-0.9-0.4 0-0.8 0.2-1.1 0.7-0.2 0.4-0.3 1.1-0.3 1.9 0 0.6 0.1 1.2 0.3 1.6 0.2 0.3 0.5 0.5 0.9 0.5 0.7 0 1.2-0.4 1.7-1.2z" class="g7_1"/>
<path d="m486.2 146.6l-0.3-3.3h1.3l-0.2 3.3zm2.6 0l-0.2-3.3h1.3l-0.3 3.3z" class="g7_1"/>
<path d="m493 148v-2h2v2zm0 4v-2h2v2z" class="g2_1"/>
<path d="m506.1 146.6l-0.3-3.3h1.3l-0.2 3.3zm2.6 0l-0.3-3.3h1.4l-0.3 3.3z" class="g6_1"/>
<path d="m516.8 146.3v6.5h-1.1v-1.3c-0.5 1-1.2 1.4-2 1.4-1.1 0-1.6-0.7-1.6-2.2v-4.4h1v4.1c0 0.5 0.1 0.9 0.2 1.1 0.2 0.2 0.4 0.3 0.7 0.3 0.6 0 1.1-0.4 1.7-1.3v-4.2zm7.1 6.4c-0.5 0.2-1 0.2-1.5 0.2-0.9 0-1.5-0.2-1.8-0.5-0.3-0.4-0.5-1-0.5-2v-3.1h-1.4v-0.9h1.4v-1.4h1.1v1.4h2.6v0.9h-2.6v3.3 0.8c0.1 0.1 0.2 0.2 0.3 0.4 0.3 0.1 0.6 0.2 1.1 0.2 0.4 0 0.9 0 1.3-0.1zm2.6 0.1v-5.5h-1.6v-0.9h1.6v-0.7c0-0.9 0.2-1.5 0.5-1.9 0.4-0.4 1-0.6 1.9-0.6 0.6 0 1.1 0.1 1.6 0.2v1c-0.5-0.2-1-0.3-1.5-0.3-0.6 0-0.9 0.1-1.2 0.3-0.2 0.2-0.3 0.6-0.3 1.2v0.8h2.8v0.9h-2.8v5.5z" class="g6_1"/>
<path d="m532.5 149.5h4" class="g9_1"/>
<path d="m540 148c-0.8-0.6-1.1-1.3-1.1-2.1 0-0.7 0.2-1.2 0.6-1.6s1-0.6 1.7-0.6c0.6 0 1.1 0.2 1.5 0.5 0.3 0.3 0.5 0.8 0.5 1.4 0 0.9-0.5 1.7-1.4 2.3 0.7 0.4 1.1 0.8 1.4 1.2 0.2 0.4 0.3 0.8 0.3 1.3 0 0.8-0.2 1.4-0.7 1.9-0.5 0.4-1.1 0.7-1.9 0.7-0.7 0-1.3-0.3-1.7-0.7-0.5-0.5-0.7-1-0.7-1.8 0-1 0.5-1.9 1.5-2.5zm0.5 0.4c-0.6 0.6-1 1.3-1 2 0 0.5 0.2 0.9 0.4 1.2 0.3 0.3 0.7 0.5 1.1 0.5s0.8-0.1 1.1-0.4c0.2-0.3 0.4-0.6 0.4-1 0-0.7-0.4-1.3-1.3-1.8zm0.7-0.9c0.7-0.5 1.1-1 1.1-1.7 0-0.4-0.2-0.7-0.4-0.9s-0.5-0.3-0.8-0.3c-0.4 0-0.7 0.1-0.9 0.3s-0.3 0.5-0.3 0.9c0 0.5 0.3 1 1 1.5z" class="g6_1"/>
<path d="m545.8 146.6l-0.2-3.3h1.3l-0.3 3.3zm2.7 0l-0.3-3.3h1.3l-0.2 3.3z" class="g6_1"/>
<path d="m399.6 175.3v-0.9h0.4c0.5 0 0.9-0.1 1.1-0.2s0.3-0.4 0.3-0.8v-0.5l-0.1-0.8c-0.1-0.3-0.1-0.5-0.1-0.7 0-0.9 0.3-1.4 1-1.7-0.7-0.3-1-0.8-1-1.7 0-0.1 0-0.4 0.1-0.6l0.1-0.9v-0.5c0-0.4-0.1-0.6-0.3-0.8-0.2-0.1-0.6-0.2-1.1-0.2h-0.4v-0.9h0.5c0.8 0 1.3 0.2 1.7 0.5 0.4 0.2 0.6 0.7 0.6 1.2 0 0.3 0 0.5-0.1 0.8l-0.2 1.1v0.5c0 0.7 0.4 1.1 1.2 1.1h0.5v0.8h-0.5c-0.8 0-1.2 0.4-1.2 1.1v0.5l0.2 1.1c0.1 0.3 0.1 0.5 0.1 0.8 0 1.1-0.8 1.7-2.3 1.7z" class="g2_1"/>
<path d="m373 196.1v-0.9h0.5c0.5 0 0.9-0.1 1.1-0.2 0.2-0.2 0.3-0.4 0.3-0.8v-0.5l-0.2-0.8v-0.8c0-0.8 0.3-1.4 1-1.6-0.7-0.3-1-0.8-1-1.7v-0.7l0.2-0.8v-0.5c0-0.4-0.1-0.7-0.3-0.8s-0.6-0.2-1.1-0.2h-0.5v-0.9h0.6c0.8 0 1.3 0.1 1.7 0.4s0.6 0.8 0.6 1.3c0 0.2 0 0.5-0.1 0.8l-0.2 1.1v0.5c0 0.7 0.4 1 1.2 1h0.5v0.9h-0.5c-0.8 0-1.2 0.4-1.2 1.1v0.5l0.2 1.1c0.1 0.2 0.1 0.5 0.1 0.8 0 1.1-0.8 1.7-2.3 1.7zm8.3 0.1v-0.6c0.4 0 0.6-0.4 0.6-1l0.1-0.3h-0.7v-1.8h1.6v1.1c0 1.7-0.5 2.6-1.6 2.6z" class="g2_1"/>
<path d="m373.5 208.9l-0.3-3.2h1.4l-0.3 3.2zm2.7 0l-0.3-3.2h1.3l-0.3 3.2z" class="g7_1"/>
<path d="m379.5 215.1v-6.5h1.1v1.2c0.5-0.9 1.1-1.3 2-1.3 1.1 0 1.6 0.7 1.6 2.2v4.4h-1v-4.1c0-0.5-0.1-0.9-0.2-1.1-0.2-0.2-0.4-0.3-0.8-0.3-0.5 0-1 0.4-1.6 1.2v4.3zm9.2 0.1c-0.8 0-1.5-0.3-2-0.9s-0.7-1.4-0.7-2.4c0-1.1 0.2-1.9 0.7-2.5s1.2-0.9 2-0.9c0.9 0 1.6 0.3 2 0.9 0.5 0.6 0.8 1.4 0.8 2.5 0 1-0.3 1.8-0.8 2.4-0.4 0.6-1.1 0.9-2 0.9zm0-0.8c0.5 0 0.9-0.3 1.2-0.7s0.4-1.1 0.4-1.8c0-0.8-0.1-1.4-0.4-1.9-0.3-0.4-0.7-0.6-1.2-0.6s-0.9 0.2-1.2 0.6c-0.2 0.5-0.4 1.1-0.4 1.9 0 0.7 0.2 1.4 0.4 1.8 0.3 0.4 0.7 0.7 1.2 0.7zm8.8 0.7c-0.6 0.1-1.1 0.1-1.6 0.1-0.8 0-1.4-0.1-1.7-0.5-0.4-0.3-0.5-1-0.5-1.9v-3.2h-1.5v-0.8h1.5v-1.4h1v1.4h2.6v0.8h-2.6v3.4c0 0.3 0.1 0.6 0.1 0.7 0 0.2 0.1 0.3 0.3 0.4 0.2 0.2 0.6 0.3 1 0.3 0.5 0 0.9-0.1 1.4-0.2zm6.8-0.3c-0.7 0.3-1.4 0.4-2 0.4-1 0-1.8-0.2-2.3-0.8-0.6-0.6-0.8-1.4-0.8-2.5 0-1 0.2-1.8 0.7-2.5 0.6-0.6 1.2-0.9 2-0.9s1.4 0.2 1.8 0.8c0.4 0.5 0.6 1.4 0.6 2.5v0.4h-4c0.1 1.4 0.8 2.2 2.1 2.2 0.6 0 1.2-0.2 1.9-0.5zm-4-3.5h2.8v-0.2c0-1.2-0.4-1.7-1.3-1.7-0.4 0-0.7 0.1-1 0.5-0.3 0.3-0.4 0.8-0.5 1.4z" class="g7_1"/>
<path d="m406.6 208.9l-0.2-3.2h1.3l-0.3 3.2zm2.7 0l-0.3-3.2h1.4l-0.3 3.2z" class="g7_1"/>
<path d="m414 210v-2h1v2zm0 5v-2h1v2z" class="g2_1"/>
<path d="m430.4 205.7v0.9h-0.4c-0.5 0-0.9 0-1.1 0.2-0.2 0.1-0.3 0.4-0.3 0.7v0.6l0.1 0.8c0.1 0.3 0.1 0.5 0.1 0.7 0 0.9-0.4 1.4-1.1 1.7 0.7 0.2 1.1 0.8 1.1 1.7 0 0.1 0 0.4-0.1 0.6l-0.1 0.9v0.5c0 0.4 0.1 0.6 0.3 0.8 0.2 0.1 0.6 0.2 1.1 0.2h0.4v0.9h-0.5c-0.8 0-1.3-0.2-1.7-0.5s-0.6-0.7-0.6-1.3c0-0.2 0-0.5 0.1-0.8l0.2-1v-0.5c0-0.7-0.4-1.1-1.2-1.1h-0.5v-0.9h0.5c0.8 0 1.2-0.3 1.2-1.1v-0.4l-0.2-1.1c-0.1-0.3-0.1-0.6-0.1-0.8 0-1.1 0.7-1.7 2.3-1.7z" class="g2_1"/>
<path d="m400 229.7l-0.2-3.3h1.3l-0.3 3.3zm2.7 0l-0.3-3.3h1.3l-0.2 3.3z" class="g7_1"/>
<path d="m405.5 236.5h6" class="g8_1"/>
<path d="m416.2 235.1c-0.7 0.6-1.3 0.9-1.9 0.9s-1-0.2-1.4-0.5c-0.3-0.4-0.5-0.8-0.5-1.3 0-0.7 0.3-1.2 0.8-1.6 0.6-0.4 1.3-0.6 2.1-0.6h0.7v-0.6c0-0.5-0.1-0.8-0.3-1s-0.5-0.3-0.9-0.3c-0.6 0-1.2 0.2-1.9 0.6v-1c0.8-0.3 1.5-0.5 2.1-0.5 0.8 0 1.3 0.2 1.6 0.5 0.3 0.4 0.5 0.9 0.5 1.7v2.7c0 0.4 0 0.7 0.1 0.8 0.1 0.2 0.2 0.3 0.4 0.3 0.1 0 0.2-0.1 0.3-0.1l0.1 0.7c-0.3 0.1-0.6 0.2-0.8 0.2-0.5 0-0.9-0.3-1-0.9zm-0.2-0.8v-1.6h-0.3c-1.5 0-2.2 0.4-2.2 1.3 0 0.3 0.1 0.6 0.3 0.8 0.2 0.1 0.4 0.2 0.7 0.2 0.5 0 1-0.2 1.5-0.7zm8.5 1.6c-0.6 0.1-1.1 0.1-1.6 0.1-0.8 0-1.4-0.2-1.7-0.5s-0.5-1-0.5-1.9v-3.2h-1.4v-0.9h1.4v-1.4h1.1v1.4h2.6v0.9h-2.6v3.3 0.8c0.1 0.1 0.2 0.3 0.3 0.4 0.2 0.1 0.6 0.2 1.1 0.2 0.4 0 0.8 0 1.3-0.1zm6.1 0c-0.5 0.1-1 0.1-1.6 0.1-0.8 0-1.4-0.2-1.7-0.5s-0.5-1-0.5-1.9v-3.2h-1.4v-0.9h1.4v-1.4h1.1v1.4h2.6v0.9h-2.6v3.3 0.8c0.1 0.1 0.2 0.3 0.3 0.4 0.3 0.1 0.6 0.2 1.1 0.2 0.4 0 0.9 0 1.3-0.1zm2.6 0v-6.5h1.1v1.2c0.5-0.9 1.2-1.4 2.1-1.4 0.3 0 0.7 0.1 1.1 0.2v1.8h-0.8v-0.9h-0.4c-0.4 0-0.8 0.1-1.1 0.3s-0.6 0.6-0.9 1.1v4.2zm8.3 0v-5.6h-2.2v-0.9h3.2v6.5zm-0.2-8v-1.5h1.4v1.5zm4.2 8v-9.5h1v4.2c0.5-0.9 1.2-1.4 1.9-1.4s1.2 0.3 1.6 0.9 0.6 1.3 0.6 2.3c0 1.1-0.3 2-0.7 2.6-0.5 0.7-1.1 1-1.8 1-0.6 0-1.1-0.3-1.6-0.9l-0.3 0.8zm1-1.6c0.5 0.5 1 0.8 1.5 0.8 0.4 0 0.8-0.2 1-0.6 0.3-0.5 0.4-1.1 0.4-2 0-1.5-0.4-2.2-1.2-2.2-0.6 0-1.2 0.4-1.7 1.2zm10.6-4.9v6.5h-1.1v-1.2c-0.5 0.9-1.1 1.3-2 1.3-1.1 0-1.7-0.7-1.7-2.2v-4.4h1.1v4.1c0 0.5 0.1 0.9 0.2 1.1 0.2 0.2 0.4 0.3 0.7 0.3 0.6 0 1.1-0.4 1.7-1.3v-4.2zm7.1 6.5c-0.5 0.1-1 0.1-1.5 0.1-0.9 0-1.5-0.2-1.8-0.5s-0.5-1-0.5-1.9v-3.2h-1.4v-0.9h1.4v-1.4h1.1v1.4h2.6v0.9h-2.6v3.3c0 0.4 0 0.7 0.1 0.8 0 0.1 0.1 0.3 0.2 0.4 0.3 0.1 0.6 0.2 1.1 0.2 0.4 0 0.9 0 1.3-0.1zm6.1-0.3c-0.8 0.3-1.4 0.4-2 0.4-1 0-1.8-0.3-2.3-0.8-0.6-0.6-0.9-1.4-0.9-2.5 0-1 0.3-1.8 0.8-2.5 0.5-0.6 1.2-1 2-1s1.4 0.3 1.8 0.9c0.4 0.5 0.5 1.3 0.5 2.5v0.3h-3.9c0.1 1.5 0.8 2.2 2.1 2.2 0.6 0 1.2-0.1 1.9-0.4zm-4-3.5h2.8v-0.2c0-1.2-0.4-1.8-1.3-1.8-0.4 0-0.8 0.2-1 0.5-0.3 0.4-0.4 0.8-0.5 1.5zm6 3.5v-1.1c0.8 0.4 1.5 0.6 2.1 0.6 0.4 0 0.8-0.1 1.1-0.3 0.2-0.1 0.4-0.4 0.4-0.7 0-0.4-0.3-0.7-1-0.9l-1.2-0.4c-0.8-0.3-1.3-0.9-1.3-1.7 0-0.6 0.2-1 0.6-1.4 0.4-0.3 1-0.5 1.7-0.5 0.6 0 1.2 0.1 1.9 0.3v1c-0.7-0.2-1.3-0.4-1.9-0.4-0.4 0-0.7 0.1-0.9 0.3-0.3 0.1-0.4 0.3-0.4 0.6s0.3 0.6 0.8 0.8l1.4 0.5c0.5 0.2 0.8 0.4 1 0.7 0.2 0.2 0.3 0.6 0.3 1 0 0.6-0.2 1.1-0.6 1.5-0.5 0.3-1.1 0.5-1.9 0.5-0.7 0-1.4-0.1-2.1-0.4z" class="g7_1"/>
<path d="m479.6 229.7l-0.3-3.3h1.3l-0.3 3.3zm2.6 0l-0.3-3.3h1.4l-0.3 3.3z" class="g7_1"/>
<path d="m487 231v-2h1v2zm0 4v-1h1v1z" class="g2_1"/>
<path d="m503.3 226.4v0.9h-0.4c-0.5 0-0.9 0.1-1.1 0.2-0.2 0.2-0.3 0.4-0.3 0.8v0.5l0.1 0.9c0.1 0.3 0.1 0.5 0.1 0.7 0 0.8-0.4 1.4-1.1 1.6 0.7 0.3 1.1 0.9 1.1 1.7 0 0.2 0 0.4-0.1 0.7l-0.1 0.8v0.6c0 0.3 0.1 0.6 0.3 0.7 0.2 0.2 0.6 0.3 1.1 0.3h0.4v0.8h-0.5c-0.8 0-1.3-0.1-1.7-0.4s-0.6-0.7-0.6-1.3c0-0.2 0-0.5 0.1-0.8l0.2-1v-0.5c0-0.8-0.4-1.1-1.2-1.1h-0.5v-0.9h0.5c0.8 0 1.2-0.4 1.2-1.1v-0.5l-0.2-1c-0.1-0.3-0.1-0.6-0.1-0.8 0-1.2 0.7-1.8 2.3-1.8z" class="g2_1"/>
<path d="m426.5 250.5l-0.2-3.3h1.3l-0.3 3.3zm2.7 0l-0.3-3.3h1.3l-0.2 3.3z" class="g7_1"/>
<path d="m434.6 256.7v-5.7h-2.1v-0.8h3.2v6.5zm-0.1-8v-1.5h1.3v1.5zm4.4 8v-6.5h1v1.2c0.4-0.9 0.9-1.4 1.3-1.4 0.5 0 0.8 0.5 1 1.4 0.4-0.9 0.8-1.4 1.3-1.4 0.4 0 0.7 0.2 0.8 0.5 0.2 0.3 0.3 0.7 0.3 1.4v4.8h-0.9v-4.8c0-0.3-0.1-0.5-0.1-0.7-0.1-0.1-0.2-0.2-0.3-0.2-0.3 0-0.7 0.5-1.1 1.5v4.2h-0.9v-4.5c0-0.5 0-0.8-0.1-0.9 0-0.2-0.1-0.3-0.3-0.3-0.1 0-0.3 0.2-0.5 0.5-0.2 0.2-0.4 0.6-0.5 1v4.2zm6.6 2.3v-8.8h1.1v1.2c0.5-0.9 1.1-1.4 1.9-1.4 0.6 0 1.2 0.3 1.5 0.9 0.4 0.5 0.6 1.3 0.6 2.3 0 1.1-0.2 1.9-0.7 2.6-0.4 0.7-1 1-1.7 1s-1.2-0.3-1.6-0.9v3.1zm1.1-4c0.5 0.6 0.9 0.9 1.4 0.9s0.8-0.2 1.1-0.7c0.3-0.4 0.4-1.1 0.4-1.9 0-1.5-0.4-2.3-1.2-2.3-0.6 0-1.2 0.4-1.7 1.3zm8.1 1.8c-0.8 0-1.5-0.3-2-0.9s-0.7-1.4-0.7-2.5c0-1 0.2-1.9 0.7-2.5s1.2-0.9 2-0.9c0.9 0 1.6 0.3 2.1 0.9 0.4 0.6 0.7 1.5 0.7 2.5 0 1.1-0.3 1.9-0.7 2.5-0.5 0.6-1.2 0.9-2.1 0.9zm0-0.9c0.5 0 0.9-0.2 1.2-0.7 0.3-0.4 0.5-1 0.5-1.8s-0.2-1.4-0.5-1.8c-0.3-0.5-0.7-0.7-1.2-0.7s-0.9 0.2-1.1 0.7c-0.3 0.4-0.5 1-0.5 1.8s0.2 1.4 0.5 1.8c0.2 0.5 0.6 0.7 1.1 0.7zm5.3 0.8v-6.5h1v1.2c0.6-0.9 1.3-1.4 2.2-1.4 0.3 0 0.7 0.1 1.1 0.2v1.8h-0.8v-0.9c-0.2 0-0.3-0.1-0.5-0.1-0.4 0-0.7 0.2-1 0.4s-0.7 0.5-1 1v4.3zm10.3-0.1c-0.5 0.1-1 0.2-1.5 0.2-0.9 0-1.5-0.2-1.8-0.5-0.3-0.4-0.4-1-0.4-2v-3.1h-1.5v-0.9h1.5v-1.4h1v1.4h2.6v0.9h-2.6v3.3c0 0.4 0.1 0.6 0.1 0.8 0 0.1 0.1 0.2 0.3 0.3 0.2 0.2 0.6 0.3 1 0.3 0.5 0 0.9 0 1.3-0.1zm5.5-0.7c-0.7 0.6-1.3 0.9-1.9 0.9s-1-0.2-1.4-0.5c-0.3-0.4-0.5-0.8-0.5-1.3 0-0.7 0.3-1.2 0.8-1.6 0.6-0.5 1.3-0.7 2.2-0.7h0.6v-0.5c0-0.5-0.1-0.8-0.3-1-0.1-0.2-0.5-0.3-0.9-0.3-0.6 0-1.2 0.2-1.9 0.6v-1c0.8-0.3 1.5-0.5 2.1-0.5 0.8 0 1.3 0.2 1.6 0.5s0.5 0.9 0.5 1.7v2.7c0 0.4 0 0.7 0.1 0.8 0 0.2 0.2 0.2 0.4 0.2h0.3l0.1 0.7c-0.3 0.1-0.6 0.2-0.8 0.2-0.5 0-0.9-0.3-1-0.9zm-0.2-0.8v-1.6h-0.3c-1.5 0-2.2 0.4-2.2 1.3 0 0.3 0.1 0.5 0.3 0.7s0.4 0.3 0.7 0.3c0.5 0 1-0.2 1.5-0.7zm3.5 1.6v-6.5h1.1v1.2c0.5-0.9 1.1-1.4 2-1.4 1.1 0 1.6 0.8 1.6 2.2v4.5h-1v-4.2c0-0.5-0.1-0.8-0.2-1-0.2-0.3-0.4-0.4-0.7-0.4-0.6 0-1.1 0.5-1.7 1.3v4.3zm11.1-0.3c-0.6 0.3-1.2 0.4-1.9 0.4-1 0-1.8-0.3-2.3-0.9-0.6-0.6-0.9-1.4-0.9-2.5s0.3-1.9 0.9-2.5c0.5-0.6 1.3-0.9 2.2-0.9 0.6 0 1.3 0.1 1.9 0.3v1c-0.7-0.3-1.3-0.4-1.8-0.4-0.6 0-1.1 0.2-1.5 0.7-0.3 0.4-0.5 1-0.5 1.8s0.2 1.4 0.6 1.8c0.4 0.5 0.9 0.7 1.6 0.7 0.5 0 1.1-0.1 1.7-0.4zm6.8 0c-0.7 0.3-1.4 0.4-2 0.4-1 0-1.7-0.3-2.3-0.9-0.5-0.5-0.8-1.4-0.8-2.4s0.3-1.9 0.8-2.5c0.5-0.7 1.2-1 2-1s1.4 0.3 1.7 0.8c0.4 0.6 0.6 1.4 0.6 2.5v0.4h-4c0.1 1.5 0.8 2.2 2.2 2.2 0.5 0 1.2-0.1 1.8-0.4zm-3.9-3.6h2.8v-0.1c0-1.2-0.5-1.8-1.3-1.8-0.5 0-0.8 0.2-1.1 0.5-0.2 0.3-0.4 0.8-0.4 1.4z" class="g7_1"/>
<path d="m499.4 250.5l-0.2-3.3h1.3l-0.3 3.3zm2.7 0l-0.3-3.3h1.3l-0.2 3.3z" class="g7_1"/>
<path d="m506 251v-1h2v1zm0 5v-2h2v2z" class="g2_1"/>
<path d="m519.3 250.5l-0.2-3.3h1.3l-0.3 3.3zm2.7 0l-0.3-3.3h1.3l-0.2 3.3z" class="g6_1"/>
<path d="m525.3 256.7v-9.5h1.1v3 1.2c0.5-0.9 1.1-1.4 2-1.4 1.1 0 1.6 0.8 1.6 2.2v4.5h-1v-4.2c0-0.5-0.1-0.8-0.2-1-0.2-0.3-0.4-0.4-0.7-0.4-0.6 0-1.1 0.5-1.7 1.3v4.3zm9 0v-5.7h-2.1v-0.8h3.1v6.5zm-0.2-8v-1.5h1.4v1.5zm4.4 10.1l0.1-1c0.6 0.3 1.2 0.5 1.8 0.5 1.1 0 1.7-0.6 1.7-1.8v-1.2c-0.4 0.9-1.1 1.4-1.9 1.4-0.7 0-1.2-0.3-1.6-0.9s-0.6-1.3-0.6-2.3 0.2-1.8 0.7-2.5c0.4-0.7 1-1 1.8-1 0.5 0 1.1 0.3 1.6 0.9v-0.7h1v5.2c0 0.8 0 1.4-0.1 1.8-0.1 0.5-0.3 0.8-0.6 1.2-0.4 0.5-1.1 0.8-2.1 0.8-0.5 0-1.1-0.2-1.8-0.4zm3.6-4.5v-2.5c-0.5-0.6-1-0.9-1.5-0.9s-0.8 0.2-1.1 0.7c-0.2 0.4-0.4 1-0.4 1.8 0 0.7 0.1 1.3 0.4 1.6 0.2 0.4 0.5 0.6 0.9 0.6 0.6 0 1.2-0.4 1.7-1.3zm3.1 2.4v-9.5h1.1v3 1.2c0.4-0.9 1.1-1.4 1.9-1.4 1.1 0 1.7 0.8 1.7 2.2v4.5h-1.1v-4.2c0-0.5 0-0.8-0.2-1-0.1-0.3-0.3-0.4-0.7-0.4-0.5 0-1.1 0.5-1.6 1.3v4.3z" class="g6_1"/>
<path d="m552.5 250.5l-0.3-3.3h1.3l-0.2 3.3zm2.6 0l-0.3-3.3h1.4l-0.3 3.3z" class="g6_1"/>
<path d="m560 258.6v-0.6c0.4-0.1 0.6-0.4 0.6-1.1l0.1-0.2h-0.7v-1.8h1.6v1c0 1.7-0.5 2.6-1.6 2.7z" class="g2_1"/>
<path d="m426.5 271.2l-0.2-3.2h1.3l-0.3 3.2zm2.7 0l-0.3-3.2h1.3l-0.2 3.2z" class="g7_1"/>
<path d="m434.7 277.4v-8.5h-2.2v-0.9h3.3v9.4zm7.1 0.2c-0.9 0-1.6-0.3-2.1-0.9-0.4-0.6-0.7-1.5-0.7-2.5 0-1.1 0.3-1.9 0.7-2.5 0.5-0.6 1.2-0.9 2.1-0.9 0.8 0 1.5 0.3 2 0.9s0.7 1.4 0.7 2.5c0 1-0.2 1.9-0.7 2.5s-1.2 0.9-2 0.9zm0-0.9c0.5 0 0.9-0.2 1.1-0.7 0.3-0.4 0.5-1 0.5-1.8s-0.2-1.4-0.5-1.9c-0.2-0.4-0.6-0.6-1.1-0.6s-0.9 0.2-1.2 0.6c-0.3 0.5-0.5 1.1-0.5 1.9s0.2 1.4 0.5 1.8c0.3 0.5 0.7 0.7 1.2 0.7zm3.9 2.9l0.1-1c0.6 0.3 1.2 0.4 1.8 0.4 1.1 0 1.7-0.5 1.7-1.8v-1.1c-0.4 0.9-1.1 1.3-1.9 1.3-0.7 0-1.2-0.3-1.6-0.8-0.4-0.6-0.6-1.3-0.6-2.3s0.2-1.9 0.7-2.5c0.5-0.7 1-1 1.8-1 0.5 0 1.1 0.3 1.6 0.9v-0.7h1v5.1c0 0.9 0 1.5-0.1 1.9-0.1 0.5-0.3 0.8-0.6 1.2-0.4 0.5-1.1 0.7-2 0.7-0.6 0-1.2-0.1-1.9-0.3zm3.6-4.5v-2.5c-0.5-0.6-1-0.9-1.5-0.9s-0.8 0.2-1.1 0.7c-0.2 0.4-0.4 1-0.4 1.8 0 0.7 0.1 1.2 0.4 1.6 0.2 0.4 0.5 0.6 0.9 0.6 0.6 0 1.2-0.4 1.7-1.3zm3.3 4.5l0.1-1c0.6 0.3 1.2 0.4 1.8 0.4 1.1 0 1.6-0.5 1.6-1.8l0.1-1.1c-0.4 0.9-1.1 1.3-1.9 1.3-0.7 0-1.2-0.3-1.6-0.8-0.4-0.6-0.6-1.3-0.6-2.3s0.2-1.9 0.7-2.5c0.4-0.7 1-1 1.7-1 0.6 0 1.2 0.3 1.7 0.9v-0.7h1v5.1c0 0.9 0 1.5-0.1 1.9-0.1 0.5-0.3 0.8-0.6 1.2-0.4 0.5-1.1 0.7-2.1 0.7-0.5 0-1.1-0.1-1.8-0.3zm3.6-4.5v-2.5c-0.5-0.6-1-0.9-1.5-0.9s-0.8 0.2-1.1 0.7c-0.3 0.4-0.4 1-0.4 1.8 0 0.7 0.1 1.2 0.4 1.6 0.2 0.4 0.5 0.6 0.9 0.6 0.6 0 1.2-0.4 1.7-1.3zm8 2.1c-0.7 0.2-1.4 0.4-2 0.4-1 0-1.8-0.3-2.3-0.9-0.6-0.6-0.8-1.4-0.8-2.4 0-1.1 0.2-1.9 0.7-2.5 0.6-0.7 1.2-1 2-1s1.4 0.3 1.8 0.8 0.6 1.4 0.6 2.5v0.4h-4c0.1 1.5 0.8 2.2 2.1 2.2 0.6 0 1.2-0.2 1.9-0.5zm-4-3.6h2.8v-0.2c0-1.1-0.4-1.7-1.3-1.7-0.4 0-0.8 0.2-1 0.5-0.3 0.3-0.4 0.8-0.5 1.4zm8.9 3.8v-1.2c-0.5 0.9-1.1 1.4-1.9 1.4-0.6 0-1.2-0.3-1.5-0.9-0.4-0.6-0.6-1.3-0.6-2.3 0-1.1 0.2-1.9 0.7-2.6 0.4-0.7 1-1 1.7-1s1.2 0.3 1.6 0.9v-3.7h1.1v9.4zm0-4.8c-0.5-0.6-0.9-0.9-1.4-0.9s-0.8 0.2-1.1 0.7c-0.2 0.4-0.4 1.1-0.4 1.9 0 1.5 0.4 2.3 1.3 2.3 0.5 0 1.1-0.4 1.6-1.3z" class="g7_1"/>
<path d="m472.9 271.2l-0.2-3.2h1.3l-0.3 3.2zm2.7 0l-0.3-3.2h1.3l-0.2 3.2z" class="g7_1"/>
<path d="m480 272v-2h2v2zm0 5v-2h2v2z" class="g2_1"/>
<path d="m492.8 271.2l-0.3-3.2h1.4l-0.3 3.2zm2.7 0l-0.3-3.2h1.3l-0.2 3.2z" class="g6_1"/>
<path d="m503.8 277.4c-0.6 0.1-1.1 0.2-1.6 0.2-0.8 0-1.4-0.2-1.7-0.5-0.4-0.4-0.5-1-0.5-2v-3.1h-1.5v-0.9h1.5v-1.4h1v1.4h2.6v0.9h-2.6v3.3c0 0.4 0.1 0.6 0.1 0.8 0.1 0.1 0.1 0.2 0.3 0.3 0.2 0.2 0.6 0.3 1.1 0.3 0.4 0 0.8-0.1 1.3-0.2zm2.6 0v-6.4h1v1.2c0.6-0.9 1.3-1.4 2.2-1.4 0.3 0 0.7 0 1.1 0.2v1.8h-0.8v-0.9c-0.2 0-0.3-0.1-0.4-0.1-0.4 0-0.8 0.1-1.1 0.3-0.3 0.3-0.6 0.6-1 1.1v4.2zm10.1-6.4v6.4h-1.1v-1.2c-0.5 0.9-1.1 1.4-2 1.4-1.1 0-1.6-0.8-1.6-2.2v-4.4h1v4.1c0 0.5 0.1 0.8 0.2 1 0.2 0.3 0.4 0.4 0.8 0.4 0.5 0 1-0.5 1.6-1.3v-4.2zm7.1 6.2c-0.7 0.2-1.4 0.4-2 0.4-1 0-1.8-0.3-2.3-0.9-0.6-0.6-0.8-1.4-0.8-2.4 0-1.1 0.2-1.9 0.7-2.5 0.6-0.7 1.2-1 2-1s1.4 0.3 1.8 0.8 0.6 1.4 0.6 2.5v0.4h-4c0.1 1.5 0.8 2.2 2.1 2.2 0.6 0 1.2-0.2 1.9-0.5zm-4-3.6h2.8v-0.2c0-1.1-0.4-1.7-1.3-1.7-0.4 0-0.7 0.2-1 0.5s-0.4 0.8-0.5 1.4z" class="g6_1"/>
<path d="m526 271.2l-0.3-3.2h1.3l-0.3 3.2zm2.6 0l-0.3-3.2h1.4l-0.3 3.2z" class="g6_1"/>
<path d="m399.6 300v-0.9h0.4c0.5 0 0.9-0.1 1.1-0.2 0.2-0.2 0.3-0.4 0.3-0.8v-0.5l-0.1-0.9c-0.1-0.3-0.1-0.5-0.1-0.7 0-0.8 0.3-1.4 1-1.6-0.7-0.3-1-0.8-1-1.7 0-0.2 0-0.4 0.1-0.7l0.1-0.8v-0.6c0-0.3-0.1-0.6-0.3-0.7-0.2-0.2-0.6-0.2-1.1-0.2h-0.4v-0.9h0.5c0.8 0 1.3 0.1 1.7 0.4s0.6 0.7 0.6 1.3c0 0.2 0 0.5-0.1 0.8l-0.2 1.1v0.4c0 0.8 0.4 1.1 1.2 1.1h0.5v0.9h-0.5c-0.8 0-1.2 0.4-1.2 1.1v0.5l0.2 1c0.1 0.3 0.1 0.6 0.1 0.9 0 1.1-0.8 1.7-2.3 1.7zm8.2 0.1v-0.6c0.4 0 0.6-0.4 0.7-1v-0.3h-0.7v-1.8h1.6v1.1c0 1.7-0.5 2.6-1.6 2.6z" class="g2_1"/>
<path d="m400 312.8l-0.2-3.2h1.3l-0.3 3.2zm2.7 0l-0.3-3.2h1.3l-0.2 3.2z" class="g7_1"/>
<path d="m411 319c-0.6 0.1-1.1 0.1-1.6 0.1-0.8 0-1.4-0.1-1.7-0.5-0.3-0.3-0.5-1-0.5-1.9v-3.2h-1.5v-0.9h1.5v-1.3h1.1v1.3h2.6v0.9h-2.6v3.3 0.8c0.1 0.1 0.2 0.3 0.3 0.4 0.2 0.2 0.6 0.3 1.1 0.3 0.4 0 0.8-0.1 1.3-0.2zm4 0v-5.6h-2.1v-0.9h3.1v6.5zm-0.1-8v-1.4h1.3v1.4zm9.1 8c-0.6 0.1-1.1 0.1-1.6 0.1-0.8 0-1.4-0.1-1.7-0.5-0.3-0.3-0.5-1-0.5-1.9v-3.2h-1.5v-0.9h1.5v-1.3h1.1v1.3h2.5v0.9h-2.5v3.3 0.8c0.1 0.1 0.1 0.3 0.3 0.4 0.2 0.2 0.6 0.3 1 0.3 0.5 0 0.9-0.1 1.4-0.2zm4.1 0v-8.6h-2.2v-0.8h3.3v9.4zm9.6-0.3c-0.7 0.3-1.4 0.4-2 0.4-1 0-1.8-0.3-2.3-0.8-0.6-0.6-0.9-1.4-0.9-2.5 0-1 0.3-1.8 0.8-2.5 0.5-0.6 1.2-0.9 2-0.9s1.4 0.2 1.8 0.8c0.4 0.5 0.5 1.3 0.5 2.5v0.4h-3.9c0.1 1.4 0.8 2.2 2.1 2.2 0.6 0 1.2-0.2 1.9-0.5zm-4-3.5h2.8v-0.2c0-1.2-0.4-1.8-1.3-1.8-0.4 0-0.8 0.2-1 0.5-0.3 0.4-0.4 0.9-0.5 1.5z" class="g7_1"/>
<path d="m439.8 312.8l-0.3-3.2h1.3l-0.2 3.2zm2.6 0l-0.2-3.2h1.3l-0.3 3.2z" class="g7_1"/>
<path d="m447 314v-2h1v2zm0 4v-1h1v1z" class="g2_1"/>
<path d="m463.6 309.6v0.8h-0.4c-0.6 0-1 0.1-1.2 0.3-0.2 0.1-0.3 0.4-0.3 0.7 0 0.1 0 0.3 0.1 0.6l0.1 0.8v0.7c0 0.8-0.3 1.4-1 1.7 0.7 0.2 1 0.8 1 1.6v0.7l-0.1 0.8c-0.1 0.3-0.1 0.5-0.1 0.6 0 0.3 0.1 0.6 0.3 0.7 0.2 0.2 0.6 0.3 1.2 0.3h0.4v0.8h-0.6c-0.7 0-1.3-0.1-1.7-0.4s-0.6-0.7-0.6-1.3c0-0.2 0.1-0.5 0.1-0.8l0.2-1v-0.5c0-0.7-0.4-1.1-1.2-1.1h-0.5v-0.9h0.5c0.8 0 1.2-0.4 1.2-1.1v-0.5l-0.2-1c0-0.3-0.1-0.6-0.1-0.8 0-1.2 0.8-1.7 2.3-1.7z" class="g2_1"/>
<path d="m426.5 333.6l-0.2-3.3h1.3l-0.3 3.3zm2.7 0l-0.3-3.3h1.3l-0.2 3.3z" class="g7_1"/>
<path d="m431.5 340.5h7" class="g8_1"/>
<path d="m444.1 339.7c-0.5 0.2-1 0.2-1.5 0.2-0.9 0-1.5-0.2-1.8-0.5-0.3-0.4-0.4-1-0.4-2v-3.1h-1.5v-0.9h1.5v-1.4h1v1.4h2.6v0.9h-2.6v3.3c0 0.4 0 0.6 0.1 0.8 0 0.1 0.1 0.2 0.2 0.4 0.3 0.1 0.6 0.2 1.1 0.2 0.4 0 0.9 0 1.3-0.1zm6.9-0.2c-0.8 0.3-1.4 0.4-2 0.4-1.1 0-1.8-0.3-2.4-0.9-0.5-0.5-0.8-1.3-0.8-2.4 0-1 0.3-1.8 0.8-2.5 0.5-0.6 1.2-1 2-1s1.4 0.3 1.8 0.8c0.3 0.6 0.5 1.4 0.5 2.5v0.4h-3.9c0 1.5 0.7 2.2 2.1 2.2 0.6 0 1.2-0.1 1.9-0.4zm-4-3.6h2.8v-0.1c0-1.2-0.4-1.8-1.3-1.8-0.4 0-0.8 0.2-1 0.5-0.3 0.4-0.5 0.8-0.5 1.4zm4.7 3.9l2.2-3.3-2.2-3.2h1.3l1.6 2.4 1.5-2.4h1.1l-2 3.2 2.2 3.3h-1.3l-1.7-2.5-1.7 2.5zm12.3-0.1c-0.5 0.2-1.1 0.2-1.6 0.2-0.8 0-1.4-0.2-1.7-0.5-0.3-0.4-0.5-1-0.5-2v-3.1h-1.4v-0.9h1.4v-1.4h1.1v1.4h2.5v0.9h-2.5v3.3 0.8c0.1 0.1 0.2 0.2 0.3 0.4 0.2 0.1 0.6 0.2 1.1 0.2 0.4 0 0.8 0 1.3-0.1z" class="g7_1"/>
<path d="m466.3 333.6l-0.3-3.3h1.4l-0.3 3.3zm2.7 0l-0.3-3.3h1.3l-0.3 3.3z" class="g7_1"/>
<path d="m473 335v-2h2v2zm0 4v-2h2v2z" class="g2_1"/>
<path d="m486.2 333.6l-0.3-3.3h1.3l-0.2 3.3zm2.6 0l-0.2-3.3h1.3l-0.3 3.3z" class="g6_1"/>
<path d="m492 339.8v-7.7h1.1v3.4h2.9v-3.4h1v7.7h-1v-3.5h-2.9v3.5zm10.6-0.8c-0.7 0.6-1.3 0.9-1.9 0.9s-1-0.2-1.4-0.5c-0.3-0.4-0.5-0.8-0.5-1.3 0-0.7 0.3-1.2 0.8-1.6 0.6-0.5 1.3-0.6 2.2-0.6h0.6v-0.6c0-0.5-0.1-0.8-0.3-1-0.1-0.2-0.5-0.3-0.9-0.3-0.6 0-1.2 0.2-1.9 0.6v-1c0.8-0.3 1.5-0.5 2.1-0.5 0.8 0 1.3 0.2 1.6 0.5 0.3 0.4 0.5 0.9 0.5 1.7v2.7c0 0.4 0 0.7 0.1 0.8 0.1 0.2 0.2 0.2 0.4 0.2h0.3l0.1 0.7c-0.3 0.1-0.6 0.2-0.8 0.2-0.5 0-0.8-0.3-1-0.9zm-0.2-0.8v-1.6h-0.3c-1.5 0-2.2 0.4-2.2 1.3 0 0.3 0.1 0.5 0.3 0.7s0.4 0.3 0.7 0.3c0.5 0 1-0.2 1.5-0.7zm2.8 3.9v-8.8h1v1.2c0.5-0.9 1.2-1.4 1.9-1.4s1.2 0.3 1.6 0.9 0.6 1.3 0.6 2.3c0 1.1-0.3 1.9-0.7 2.6-0.5 0.7-1 1-1.8 1-0.6 0-1.1-0.3-1.6-0.9v3.1zm1-4c0.5 0.6 1 0.9 1.5 0.9 0.4 0 0.8-0.2 1.1-0.7 0.2-0.4 0.3-1.1 0.3-1.9 0-1.5-0.4-2.3-1.2-2.3-0.6 0-1.2 0.5-1.7 1.3zm5.8 4v-8.8h1.1v1.2c0.5-0.9 1.2-1.4 1.9-1.4s1.2 0.3 1.6 0.9 0.5 1.3 0.5 2.3c0 1.1-0.2 1.9-0.6 2.6-0.5 0.7-1.1 1-1.8 1-0.6 0-1.2-0.3-1.6-0.9v3.1zm1.1-4c0.5 0.6 1 0.9 1.5 0.9 0.4 0 0.8-0.2 1-0.7 0.3-0.4 0.4-1.1 0.4-1.9 0-1.5-0.4-2.3-1.2-2.3-0.6 0-1.2 0.5-1.7 1.3zm5.6 4v-0.9h0.4c0.5 0 0.7 0 0.9-0.2 0.2-0.1 0.4-0.4 0.6-0.9l0.3-0.6-2.5-6.2h1.1l1.9 4.8 1.9-4.8h1l-2.9 7.3c-0.3 0.6-0.5 0.9-0.9 1.2-0.3 0.2-0.7 0.3-1.3 0.3z" class="g6_1"/>
<path d="m526 333.6l-0.3-3.3h1.3l-0.3 3.3zm2.6 0l-0.3-3.3h1.4l-0.3 3.3z" class="g6_1"/>
<path d="m399.6 362.3v-0.9h0.4c0.5 0 0.9-0.1 1.1-0.2s0.3-0.4 0.3-0.8v-0.5l-0.1-0.8c-0.1-0.3-0.1-0.5-0.1-0.7 0-0.9 0.3-1.4 1-1.7-0.7-0.3-1-0.8-1-1.7 0-0.1 0-0.4 0.1-0.6l0.1-0.9v-0.5c0-0.4-0.1-0.6-0.3-0.8-0.2-0.1-0.6-0.2-1.1-0.2h-0.4v-0.9h0.5c0.8 0 1.3 0.2 1.7 0.5 0.4 0.2 0.6 0.7 0.6 1.2 0 0.3 0 0.5-0.1 0.8l-0.2 1.1v0.5c0 0.7 0.4 1.1 1.2 1.1h0.5v0.8h-0.5c-0.8 0-1.2 0.4-1.2 1.1v0.5l0.2 1.1c0.1 0.3 0.1 0.5 0.1 0.8 0 1.1-0.8 1.7-2.3 1.7zm8.2 0.1v-0.5c0.4-0.1 0.6-0.4 0.7-1.1v-0.3h-0.7v-1.7h1.6v1c0 1.7-0.5 2.6-1.6 2.6z" class="g2_1"/>
<path d="m400 375.1l-0.2-3.2h1.3l-0.3 3.2zm2.7 0l-0.3-3.2h1.3l-0.2 3.2z" class="g7_1"/>
<path d="m411 381.3c-0.6 0.1-1.1 0.2-1.6 0.2-0.8 0-1.4-0.2-1.7-0.5-0.3-0.4-0.5-1-0.5-2v-3.1h-1.5v-0.9h1.5v-1.4h1.1v1.4h2.6v0.9h-2.6v3.3 0.7c0.1 0.2 0.2 0.3 0.3 0.4 0.2 0.2 0.6 0.3 1.1 0.3 0.4 0 0.8-0.1 1.3-0.2zm4.2 0.2c-0.8 0-1.5-0.3-2-0.9s-0.7-1.5-0.7-2.5c0-1.1 0.2-1.9 0.7-2.5s1.2-0.9 2-0.9c0.9 0 1.6 0.3 2.1 0.9s0.7 1.4 0.7 2.5c0 1-0.2 1.9-0.7 2.5s-1.2 0.9-2.1 0.9zm0-0.9c0.6 0 1-0.2 1.2-0.7 0.3-0.4 0.5-1 0.5-1.8s-0.2-1.4-0.5-1.9c-0.2-0.4-0.6-0.6-1.2-0.6-0.5 0-0.9 0.2-1.1 0.6-0.3 0.5-0.5 1.1-0.5 1.9s0.2 1.4 0.5 1.8c0.2 0.5 0.6 0.7 1.1 0.7zm7.6 0.7v-1.2c-0.6 0.9-1.2 1.4-1.9 1.4s-1.2-0.3-1.6-0.9-0.6-1.3-0.6-2.3c0-1.1 0.2-1.9 0.7-2.6 0.4-0.7 1-1 1.8-1 0.6 0 1.1 0.3 1.6 0.9v-3.7h1v9.4zm0-4.8c-0.5-0.6-1-0.9-1.5-0.9-0.4 0-0.8 0.2-1.1 0.7-0.2 0.4-0.4 1-0.4 1.9 0 1.5 0.5 2.3 1.3 2.3 0.6 0 1.1-0.4 1.7-1.3zm5.4 5c-0.8 0-1.5-0.3-2-0.9s-0.7-1.5-0.7-2.5c0-1.1 0.2-1.9 0.7-2.5s1.2-0.9 2-0.9c0.9 0 1.6 0.3 2.1 0.9 0.4 0.6 0.7 1.4 0.7 2.5 0 1-0.3 1.9-0.7 2.5-0.5 0.6-1.2 0.9-2.1 0.9zm0-0.9c0.5 0 0.9-0.2 1.2-0.7 0.3-0.4 0.5-1 0.5-1.8s-0.2-1.4-0.5-1.9c-0.3-0.4-0.7-0.6-1.2-0.6s-0.9 0.2-1.2 0.6c-0.2 0.5-0.4 1.1-0.4 1.9s0.2 1.4 0.4 1.8c0.3 0.5 0.7 0.7 1.2 0.7z" class="g7_1"/>
<path d="m433.2 375.1l-0.3-3.2h1.3l-0.2 3.2zm2.6 0l-0.3-3.2h1.4l-0.3 3.2z" class="g7_1"/>
<path d="m440 376v-2h2v2zm0 5v-2h2v2zm13 2v-12h3v1h-2v10h2v1z" class="g2_1"/>
<path d="m430.4 392.7v0.9h-0.4c-0.5 0-0.9 0-1.1 0.2-0.2 0.1-0.3 0.4-0.3 0.7v0.6l0.1 0.8c0.1 0.3 0.1 0.5 0.1 0.7 0 0.9-0.4 1.4-1.1 1.7 0.7 0.2 1.1 0.8 1.1 1.7 0 0.1 0 0.4-0.1 0.6l-0.1 0.9v0.5c0 0.4 0.1 0.6 0.3 0.8 0.2 0.1 0.6 0.2 1.1 0.2h0.4v0.9h-0.5c-0.8 0-1.3-0.2-1.7-0.5s-0.6-0.7-0.6-1.3c0-0.2 0-0.5 0.1-0.8l0.2-1v-0.5c0-0.7-0.4-1.1-1.2-1.1h-0.5v-0.9h0.5c0.8 0 1.2-0.3 1.2-1.1v-0.4l-0.2-1.1c-0.1-0.3-0.1-0.6-0.1-0.8 0-1.2 0.7-1.7 2.3-1.7z" class="g2_1"/>
<path d="m453 416.7l-0.2-3.3h1.3l-0.3 3.3zm2.7 0l-0.3-3.3h1.3l-0.2 3.3z" class="g7_1"/>
<path d="m458.5 423.5h6" class="g8_1"/>
<path d="m470.6 422.9c-0.5 0.1-1 0.1-1.5 0.1-0.9 0-1.5-0.2-1.8-0.5s-0.4-1-0.4-1.9v-3.2h-1.5v-0.9h1.5v-1.4h1v1.4h2.6v0.9h-2.6v3.3c0 0.4 0 0.7 0.1 0.8 0 0.1 0.1 0.3 0.2 0.4 0.3 0.1 0.6 0.2 1.1 0.2 0.4 0 0.9 0 1.3-0.1zm6.9-0.3c-0.8 0.3-1.4 0.4-2 0.4-1 0-1.8-0.3-2.3-0.8-0.6-0.6-0.9-1.4-0.9-2.5 0-1 0.3-1.8 0.8-2.5 0.5-0.6 1.2-1 2-1s1.4 0.3 1.8 0.9c0.3 0.5 0.5 1.3 0.5 2.5v0.3h-3.9c0 1.5 0.8 2.2 2.1 2.2 0.6 0 1.2-0.1 1.9-0.4zm-4-3.5h2.8v-0.2c0-1.2-0.4-1.8-1.3-1.8-0.4 0-0.8 0.2-1 0.5-0.3 0.4-0.5 0.8-0.5 1.5zm4.7 3.8l2.2-3.3-2.2-3.2h1.3l1.6 2.4 1.5-2.4h1.1l-2 3.2 2.2 3.3h-1.3l-1.7-2.5-1.6 2.5zm12.3 0c-0.5 0.1-1.1 0.1-1.5 0.1-0.9 0-1.5-0.2-1.8-0.5s-0.5-1-0.5-1.9v-3.2h-1.4v-0.9h1.4v-1.4h1.1v1.4h2.6v0.9h-2.6v3.3 0.8c0.1 0.1 0.2 0.3 0.3 0.4 0.3 0.1 0.6 0.2 1.1 0.2 0.4 0 0.9 0 1.3-0.1z" class="g7_1"/>
<path d="m492.8 416.7l-0.3-3.3h1.4l-0.3 3.3zm2.7 0l-0.3-3.3h1.3l-0.2 3.3z" class="g7_1"/>
<path d="m500 418v-2h1v2zm0 4v-1h1v1z" class="g2_1"/>
<path d="m512.7 416.7l-0.3-3.3h1.4l-0.3 3.3zm2.7 0l-0.3-3.3h1.3l-0.3 3.3z" class="g6_1"/>
<path d="m518.8 422.9l-1-7.7h0.9l0.9 6.4 1-4.8h1l1 4.7 0.9-6.3h0.8l-1.2 7.7h-1.1l-1-4.5-0.9 4.5zm9.1 0.1c-0.8 0-1.5-0.3-2-0.9s-0.7-1.4-0.7-2.5c0-1 0.2-1.8 0.7-2.5 0.5-0.6 1.2-0.9 2-0.9 0.9 0 1.6 0.3 2 0.9 0.5 0.7 0.8 1.5 0.8 2.5 0 1.1-0.3 1.9-0.8 2.5-0.4 0.6-1.1 0.9-2 0.9zm0-0.9c0.5 0 0.9-0.2 1.2-0.6 0.3-0.5 0.4-1.1 0.4-1.9s-0.1-1.4-0.4-1.8c-0.3-0.5-0.7-0.7-1.2-0.7s-0.9 0.2-1.2 0.7c-0.3 0.4-0.4 1-0.4 1.8s0.1 1.4 0.4 1.9c0.3 0.4 0.7 0.6 1.2 0.6zm4.5 0.8v-6.5h1v1.2c0.6-0.9 1.3-1.4 2.2-1.4 0.3 0 0.7 0.1 1.1 0.2v1.8h-0.8v-0.9h-0.4c-0.5 0-0.8 0.1-1.1 0.3s-0.6 0.6-1 1.1v4.2zm6.3 0v-9.5h1.1v6.1l2.4-3.1h1.2l-2.3 2.9 2.9 3.6h-1.5l-2.7-3.4v3.4z" class="g6_1"/>
<path d="m545.8 416.7l-0.2-3.3h1.3l-0.3 3.3zm2.7 0l-0.3-3.3h1.3l-0.2 3.3z" class="g6_1"/>
<path d="m426.1 445.4v-0.9h0.4c0.5 0 0.9 0 1.1-0.2 0.2-0.1 0.3-0.4 0.3-0.7v-0.6l-0.1-0.8c-0.1-0.3-0.1-0.5-0.1-0.7 0-0.9 0.4-1.4 1.1-1.7-0.7-0.2-1.1-0.8-1.1-1.6 0-0.2 0-0.5 0.1-0.7l0.1-0.9v-0.5c0-0.4-0.1-0.6-0.3-0.8-0.2-0.1-0.6-0.2-1.1-0.2h-0.4v-0.9h0.5c0.8 0 1.3 0.2 1.7 0.5s0.6 0.7 0.6 1.2c0 0.3 0 0.6-0.1 0.8l-0.2 1.1v0.5c0 0.7 0.4 1.1 1.2 1.1h0.5v0.9h-0.5c-0.8 0-1.2 0.3-1.2 1.1v0.4l0.2 1.1c0.1 0.3 0.1 0.6 0.1 0.8 0 1.1-0.7 1.7-2.3 1.7zm8.2 0.2v-0.6c0.4-0.1 0.6-0.4 0.7-1.1v-0.2h-0.7v-1.8h1.6v1c0 1.7-0.5 2.6-1.6 2.7z" class="g2_1"/>
<path d="m430.4 455v0.9h-0.4c-0.5 0-0.9 0.1-1.1 0.2-0.2 0.2-0.3 0.4-0.3 0.8v0.5l0.1 0.8c0.1 0.3 0.1 0.5 0.1 0.7 0 0.9-0.4 1.4-1.1 1.7 0.7 0.3 1.1 0.8 1.1 1.7 0 0.2 0 0.4-0.1 0.7l-0.1 0.8v0.5c0 0.4 0.1 0.6 0.3 0.8 0.2 0.1 0.6 0.2 1.1 0.2h0.4v0.9h-0.5c-0.8 0-1.3-0.2-1.7-0.5-0.4-0.2-0.6-0.7-0.6-1.2 0-0.3 0-0.5 0.1-0.8l0.2-1.1v-0.5c0-0.7-0.4-1.1-1.2-1.1h-0.5v-0.8h0.5c0.8 0 1.2-0.4 1.2-1.1v-0.5l-0.2-1.1c-0.1-0.3-0.1-0.5-0.1-0.8 0-1.1 0.7-1.7 2.3-1.7z" class="g2_1"/>
<path d="m453 479l-0.2-3.2h1.3l-0.3 3.2zm2.7 0l-0.3-3.2h1.3l-0.2 3.2z" class="g7_1"/>
<path d="m458.5 486.5h6" class="g8_1"/>
<path d="m470.6 485.2c-0.5 0.1-1 0.2-1.5 0.2-0.9 0-1.5-0.2-1.8-0.6-0.3-0.3-0.4-1-0.4-1.9v-3.1h-1.5v-0.9h1.5v-1.4h1v1.4h2.6v0.9h-2.6v3.3c0 0.4 0 0.6 0.1 0.7 0 0.2 0.1 0.3 0.2 0.4 0.3 0.2 0.6 0.3 1.1 0.3 0.4 0 0.9-0.1 1.3-0.2zm6.9-0.3c-0.8 0.3-1.4 0.5-2 0.5-1 0-1.8-0.3-2.3-0.9-0.6-0.6-0.9-1.4-0.9-2.5 0-1 0.3-1.8 0.8-2.4 0.5-0.7 1.2-1 2-1s1.4 0.3 1.8 0.8c0.3 0.5 0.5 1.4 0.5 2.5v0.4h-3.9c0 1.4 0.8 2.2 2.1 2.2 0.6 0 1.2-0.2 1.9-0.5zm-4-3.5h2.8v-0.2c0-1.2-0.4-1.7-1.3-1.7-0.4 0-0.8 0.1-1 0.5-0.3 0.3-0.5 0.8-0.5 1.4zm4.7 3.8l2.2-3.3-2.2-3.2h1.3l1.6 2.4 1.5-2.4h1.1l-2 3.2 2.2 3.3h-1.3l-1.7-2.5-1.6 2.5zm12.3 0c-0.5 0.1-1.1 0.2-1.5 0.2-0.9 0-1.5-0.2-1.8-0.6-0.3-0.3-0.5-1-0.5-1.9v-3.1h-1.4v-0.9h1.4v-1.4h1.1v1.4h2.6v0.9h-2.6v3.3 0.7c0.1 0.2 0.2 0.3 0.3 0.4 0.3 0.2 0.6 0.3 1.1 0.3 0.4 0 0.9-0.1 1.3-0.2z" class="g7_1"/>
<path d="m492.8 479l-0.3-3.2h1.4l-0.3 3.2zm2.7 0l-0.3-3.2h1.3l-0.2 3.2z" class="g7_1"/>
<path d="m500 480v-2h1v2zm0 5v-2h1v2z" class="g2_1"/>
<path d="m512.7 479l-0.3-3.2h1.4l-0.3 3.2zm2.7 0l-0.3-3.2h1.3l-0.3 3.2z" class="g6_1"/>
<path d="m519 485.2v-7.6h2.2c0.8 0 1.4 0 1.7 0.2 0.7 0.3 1.1 1 1.1 1.9 0 0.8-0.3 1.5-0.9 1.9-0.6 0.5-1.3 0.7-2.3 0.7h-0.8v2.9zm1-3.8h0.7c1.4 0 2.1-0.5 2.1-1.7 0-0.4-0.1-0.8-0.4-1s-0.7-0.3-1.3-0.3h-1.1zm7.8 3.8v-8.5h-2.3v-0.9h3.3v9.4zm7.4-0.8c-0.6 0.6-1.3 0.9-1.9 0.9-0.5 0-1-0.2-1.3-0.5-0.4-0.3-0.6-0.8-0.6-1.3 0-0.6 0.3-1.2 0.8-1.6 0.6-0.4 1.3-0.6 2.2-0.6h0.6v-0.6c0-0.4-0.1-0.7-0.2-0.9-0.2-0.2-0.5-0.3-0.9-0.3-0.7 0-1.3 0.1-1.9 0.5v-1c0.7-0.3 1.4-0.4 2.1-0.4s1.2 0.1 1.5 0.5c0.3 0.3 0.5 0.9 0.5 1.7v2.7c0 0.4 0 0.6 0.1 0.8 0.1 0.1 0.2 0.2 0.4 0.2 0.1 0 0.2 0 0.4-0.1l0.1 0.7c-0.4 0.2-0.7 0.2-0.8 0.2-0.6 0-0.9-0.3-1.1-0.9zm-0.2-0.7v-1.7h-0.3c-1.4 0-2.2 0.5-2.2 1.3 0 0.3 0.1 0.6 0.3 0.8s0.5 0.3 0.8 0.3c0.4 0 0.9-0.3 1.4-0.7zm3.4 3.9v-0.9h0.4c0.4 0 0.7-0.1 0.9-0.2 0.1-0.2 0.3-0.5 0.5-1l0.3-0.6-2.4-6.2h1l1.9 4.8 2-4.8h0.9l-2.9 7.3c-0.2 0.6-0.5 1-0.8 1.2-0.4 0.3-0.8 0.4-1.4 0.4z" class="g6_1"/>
<path d="m545.8 479l-0.2-3.2h1.3l-0.3 3.2zm2.7 0l-0.3-3.2h1.3l-0.2 3.2z" class="g6_1"/>
<path d="m426.1 507.7v-0.8h0.4c0.5 0 0.9-0.1 1.1-0.3 0.2-0.1 0.3-0.4 0.3-0.7v-0.6l-0.1-0.8c-0.1-0.3-0.1-0.5-0.1-0.7 0-0.8 0.4-1.4 1.1-1.7-0.7-0.2-1.1-0.8-1.1-1.6 0-0.2 0-0.4 0.1-0.7l0.1-0.8v-0.6c0-0.3-0.1-0.6-0.3-0.7-0.2-0.2-0.6-0.3-1.1-0.3h-0.4v-0.8h0.5c0.8 0 1.3 0.1 1.7 0.4s0.6 0.7 0.6 1.3c0 0.2 0 0.5-0.1 0.8l-0.2 1v0.5c0 0.7 0.4 1.1 1.2 1.1h0.5v0.9h-0.5c-0.8 0-1.2 0.4-1.2 1.1v0.5l0.2 1c0.1 0.3 0.1 0.6 0.1 0.8 0 1.2-0.7 1.7-2.3 1.7z" class="g2_1"/>
<path d="m402 517v11h-3v-1h2v-9h-2v-1z" class="g2_1"/>
<path d="m373 549.3v-0.9h0.5c0.5 0 0.9 0 1.1-0.2 0.2-0.1 0.3-0.4 0.3-0.8v-0.5l-0.2-0.8v-0.7c0-0.9 0.3-1.4 1-1.7-0.7-0.3-1-0.8-1-1.7v-0.6l0.2-0.9v-0.5c0-0.4-0.1-0.6-0.3-0.8-0.2-0.1-0.6-0.2-1.1-0.2h-0.5v-0.9h0.6c0.8 0 1.3 0.2 1.7 0.5 0.4 0.2 0.6 0.7 0.6 1.2 0 0.3 0 0.5-0.1 0.8l-0.2 1.1v0.5c0 0.7 0.4 1.1 1.2 1.1h0.5v0.8h-0.5c-0.8 0-1.2 0.4-1.2 1.1v0.5l0.2 1.1c0.1 0.3 0.1 0.5 0.1 0.8 0 1.1-0.8 1.7-2.3 1.7z" class="g2_1"/>
<path d="m346.5 570.1v-0.9h0.4c0.6 0 1-0.1 1.2-0.2 0.2-0.2 0.3-0.4 0.3-0.8 0-0.1 0-0.3-0.1-0.5l-0.1-0.8v-0.8c0-0.8 0.3-1.4 1-1.6-0.7-0.3-1-0.8-1-1.7v-0.7l0.1-0.8c0.1-0.2 0.1-0.4 0.1-0.6 0-0.3-0.1-0.6-0.3-0.7s-0.6-0.2-1.2-0.2h-0.4v-0.9h0.6c0.7 0 1.3 0.1 1.7 0.4s0.6 0.8 0.6 1.3c0 0.2-0.1 0.5-0.1 0.8l-0.2 1.1v0.5c0 0.7 0.4 1 1.2 1h0.5v0.9h-0.5c-0.8 0-1.2 0.4-1.2 1.1v0.5l0.2 1.1c0 0.2 0.1 0.5 0.1 0.8 0 1.1-0.8 1.7-2.3 1.7z" class="g2_1"/>
<path style="stroke:#8f8f8f;stroke-width:.99806;fill:none" d="m628 1101.9h322v-1059.9h-322v1059.9z" class="g1_1"/>
<path d="m649.4 59.8v0.9h-0.5c-0.5 0-0.9 0.1-1.1 0.2-0.2 0.2-0.3 0.4-0.3 0.8v0.5l0.1 0.9c0.1 0.2 0.1 0.5 0.1 0.7 0 0.8-0.3 1.4-1.1 1.6 0.8 0.3 1.1 0.8 1.1 1.7 0 0.2 0 0.4-0.1 0.7l-0.1 0.8v0.6c0 0.3 0.1 0.6 0.3 0.7 0.2 0.2 0.6 0.2 1.1 0.2h0.5v0.9h-0.6c-0.8 0-1.3-0.1-1.7-0.4s-0.6-0.7-0.6-1.3c0-0.2 0-0.5 0.1-0.8l0.2-1.1v-0.4c0-0.8-0.4-1.1-1.2-1.1h-0.5v-0.9h0.5c0.8 0 1.2-0.4 1.2-1.1v-0.5l-0.2-1c-0.1-0.3-0.1-0.6-0.1-0.8 0-1.2 0.8-1.8 2.3-1.8z" class="g2_1"/>
<path style="fill:#7030a0" d="m671.9 83.8-0.2-3.2h1.3l-0.3 3.2zm2.7 0-0.3-3.2h1.4l-0.3 3.2z" class="g7_1"/>
<path style="fill:#7030a0" d="m681.7 90v-1.2c-0.5 0.9-1.1 1.4-1.9 1.4-0.7 0-1.2-0.3-1.6-0.9-0.3-0.5-0.5-1.3-0.5-2.3 0-1.1 0.2-1.9 0.7-2.6 0.4-0.7 1-1 1.7-1 0.6 0 1.2 0.3 1.6 0.9v-3.7h1.1v9.4zm0-4.8c-0.5-0.6-1-0.9-1.4-0.9-0.5 0-0.9 0.2-1.1 0.7-0.3 0.4-0.4 1.1-0.4 1.9 0 1.5 0.4 2.3 1.2 2.3 0.6 0 1.2-0.4 1.7-1.3zm8.1 4.6c-0.8 0.2-1.4 0.4-2.1 0.4-1 0-1.7-0.3-2.3-0.9-0.5-0.6-0.8-1.4-0.8-2.4s0.3-1.9 0.8-2.5c0.5-0.7 1.2-1 2-1s1.4 0.3 1.8 0.8c0.3 0.5 0.5 1.4 0.5 2.5v0.4h-4c0.1 1.5 0.8 2.2 2.2 2.2 0.5 0 1.2-0.2 1.9-0.5zm-4-3.6h2.8v-0.2c0-1.1-0.4-1.7-1.3-1.7-0.4 0-0.8 0.2-1.1 0.5-0.2 0.3-0.4 0.8-0.4 1.4zm10.1 3.6c-0.6 0.3-1.2 0.4-1.9 0.4-1 0-1.8-0.3-2.3-0.9-0.6-0.6-0.9-1.4-0.9-2.5s0.3-1.9 0.9-2.5c0.5-0.6 1.3-0.9 2.2-0.9 0.6 0 1.3 0.1 1.9 0.3v1c-0.7-0.3-1.3-0.4-1.8-0.4-0.6 0-1.1 0.2-1.5 0.7-0.3 0.4-0.5 1-0.5 1.8s0.2 1.4 0.6 1.8c0.3 0.5 0.9 0.7 1.6 0.7 0.5 0 1.1-0.1 1.7-0.4zm4.1 0.2v-8.5h-2.2v-0.9h3.3v9.4zm8.2-0.7c-0.6 0.5-1.3 0.8-1.9 0.8-0.5 0-1-0.1-1.3-0.5-0.4-0.3-0.5-0.7-0.5-1.2 0-0.7 0.2-1.3 0.8-1.7 0.5-0.4 1.2-0.6 2.1-0.6h0.6v-0.5c0-0.5-0.1-0.8-0.2-1-0.2-0.2-0.5-0.3-0.9-0.3-0.7 0-1.3 0.2-1.9 0.6v-1c0.7-0.3 1.4-0.5 2.1-0.5s1.2 0.2 1.5 0.5c0.4 0.3 0.5 0.9 0.5 1.7v2.7c0 0.4 0 0.7 0.1 0.8s0.2 0.2 0.4 0.2h0.4l0.1 0.7c-0.4 0.1-0.7 0.1-0.8 0.1-0.6 0-0.9-0.3-1.1-0.8zm-0.2-0.8v-1.6h-0.3c-1.4 0-2.2 0.4-2.2 1.3 0 0.3 0.1 0.5 0.3 0.7s0.5 0.3 0.8 0.3c0.4 0 0.9-0.2 1.4-0.7zm3.5 1.5v-6.4h1v1.2c0.6-0.9 1.3-1.4 2.2-1.4 0.3 0 0.7 0.1 1.1 0.2v1.8h-0.8v-0.9c-0.2 0-0.3-0.1-0.4-0.1-0.4 0-0.8 0.1-1.1 0.3-0.3 0.3-0.6 0.6-1 1.1v4.2zm9.7-0.7c-0.7 0.5-1.3 0.8-1.9 0.8s-1-0.1-1.3-0.5c-0.4-0.3-0.6-0.7-0.6-1.2 0-0.7 0.3-1.3 0.8-1.7 0.6-0.4 1.3-0.6 2.2-0.6h0.6v-0.5c0-0.5-0.1-0.8-0.3-1-0.1-0.2-0.4-0.3-0.9-0.3-0.6 0-1.2 0.2-1.9 0.6v-1c0.8-0.3 1.5-0.5 2.2-0.5s1.2 0.2 1.5 0.5 0.5 0.9 0.5 1.7v2.7c0 0.4 0 0.7 0.1 0.8s0.2 0.2 0.4 0.2h0.4l0.1 0.7c-0.4 0.1-0.7 0.1-0.9 0.1-0.5 0-0.8-0.3-1-0.8zm-0.2-0.8v-1.6h-0.3c-1.4 0-2.2 0.4-2.2 1.3 0 0.3 0.1 0.5 0.3 0.7s0.4 0.3 0.8 0.3 0.9-0.2 1.4-0.7zm8.5 1.5c-0.5 0.1-1 0.2-1.5 0.2-0.9 0-1.5-0.2-1.8-0.5-0.3-0.4-0.5-1-0.5-2v-3.1h-1.4v-0.9h1.4v-1.4h1.1v1.4h2.6v0.9h-2.6v3.3c0 0.4 0 0.6 0.1 0.8 0 0.1 0.1 0.2 0.2 0.3 0.3 0.2 0.6 0.3 1.1 0.3 0.4 0 0.9-0.1 1.3-0.2zm3.2 0v-5.6h-2.1v-0.8h3.2v6.4zm-0.1-7.9v-1.5h1.3v1.5zm7.3 8.1c-0.9 0-1.5-0.3-2-0.9s-0.8-1.5-0.8-2.5c0-1.1 0.3-1.9 0.8-2.5s1.1-0.9 2-0.9c0.8 0 1.5 0.3 2 0.9s0.7 1.4 0.7 2.5c0 1-0.2 1.9-0.7 2.5s-1.2 0.9-2 0.9zm0-0.9c0.5 0 0.9-0.2 1.2-0.7 0.3-0.4 0.4-1 0.4-1.8s-0.1-1.4-0.4-1.8c-0.3-0.5-0.7-0.7-1.2-0.7s-0.9 0.2-1.2 0.7c-0.3 0.4-0.4 1-0.4 1.8s0.1 1.4 0.4 1.8c0.3 0.5 0.7 0.7 1.2 0.7zm4.5 0.7v-6.4h1.1v1.2c0.5-0.9 1.1-1.4 2-1.4 1.1 0 1.6 0.7 1.6 2.2v4.4h-1v-4.1c0-0.5-0.1-0.8-0.2-1.1-0.2-0.2-0.4-0.3-0.8-0.3-0.5 0-1 0.4-1.6 1.3v4.2z" class="g7_1"/>
<path style="fill:#7030a0" d="m751.5 83.8-0.3-3.2h1.3l-0.2 3.2zm2.6 0-0.2-3.2h1.3l-0.3 3.2z" class="g7_1"/>
<path d="m759 85v-2h1v2zm0 5v-2h1v2z" class="g2_1"/>
<path d="m775.3 80.6v0.9h-0.4c-0.6 0-1 0.1-1.2 0.2-0.2 0.2-0.3 0.4-0.3 0.8 0 0.1 0 0.3 0.1 0.5l0.1 0.8v0.7c0 0.9-0.3 1.5-1 1.7 0.7 0.3 1 0.8 1 1.7v0.7l-0.1 0.8c-0.1 0.2-0.1 0.4-0.1 0.5 0 0.4 0.1 0.7 0.3 0.8s0.6 0.2 1.2 0.2h0.4v0.9h-0.6c-0.7 0-1.3-0.1-1.7-0.4s-0.6-0.8-0.6-1.3c0-0.3 0.1-0.5 0.1-0.8l0.2-1.1v-0.5c0-0.7-0.4-1.1-1.2-1.1h-0.5v-0.8h0.5c0.8 0 1.2-0.4 1.2-1.1v-0.5l-0.2-1.1c0-0.3-0.1-0.5-0.1-0.8 0-1.1 0.8-1.7 2.3-1.7z" class="g2_1"/>
<path style="fill:#7030a0" d="m698.5 104.6-0.3-3.2h1.3l-0.2 3.2zm2.6 0-0.3-3.2h1.4l-0.3 3.2z" class="g7_1"/>
<path style="fill:#7030a0" d="m708 110c-0.7 0.6-1.3 0.9-1.9 0.9s-1-0.2-1.3-0.5c-0.4-0.3-0.6-0.8-0.6-1.3 0-0.6 0.3-1.2 0.8-1.6 0.6-0.4 1.3-0.6 2.2-0.6h0.6v-0.6c0-0.4-0.1-0.7-0.3-0.9-0.1-0.2-0.4-0.3-0.9-0.3-0.6 0-1.2 0.2-1.9 0.5v-1c0.8-0.3 1.5-0.4 2.1-0.4 0.8 0 1.3 0.1 1.6 0.5 0.3 0.3 0.5 0.9 0.5 1.7v2.7c0 0.4 0 0.6 0.1 0.8 0.1 0.1 0.2 0.2 0.4 0.2 0.1 0 0.2 0 0.3-0.1l0.1 0.7c-0.3 0.2-0.6 0.2-0.8 0.2-0.5 0-0.8-0.3-1-0.9zm-0.2-0.7v-1.7h-0.3c-1.5 0-2.2 0.5-2.2 1.3 0 0.4 0.1 0.6 0.3 0.8s0.4 0.3 0.7 0.3c0.5 0 1-0.3 1.5-0.7zm8.5 1.5c-0.5 0.1-1.1 0.2-1.5 0.2-0.9 0-1.5-0.2-1.8-0.6-0.3-0.3-0.5-0.9-0.5-1.9v-3.1h-1.4v-0.9h1.4v-1.4h1.1v1.4h2.6v0.9h-2.6v3.3 0.8l0.3 0.3c0.3 0.2 0.6 0.3 1.1 0.3 0.4 0 0.9-0.1 1.3-0.2zm6.1 0c-0.5 0.1-1 0.2-1.5 0.2-0.9 0-1.5-0.2-1.8-0.6-0.3-0.3-0.5-0.9-0.5-1.9v-3.1h-1.4v-0.9h1.4v-1.4h1.1v1.4h2.6v0.9h-2.6v3.3c0 0.4 0 0.6 0.1 0.8 0 0.1 0.1 0.2 0.2 0.3 0.3 0.2 0.6 0.3 1.1 0.3 0.4 0 0.9-0.1 1.3-0.2zm2.6 0v-6.5h1.1v1.3c0.5-1 1.2-1.4 2.1-1.4 0.4 0 0.7 0 1.1 0.1v1.9h-0.8v-0.9c-0.1-0.1-0.3-0.1-0.4-0.1-0.4 0-0.8 0.1-1.1 0.3s-0.6 0.6-0.9 1.1v4.2zm8.3 0v-5.6h-2.1v-0.9h3.1v6.5zm-0.1-7.9v-1.5h1.3v1.5zm4.1 8v-9.5h1v4.2c0.6-1 1.2-1.4 1.9-1.4s1.2 0.3 1.6 0.8c0.4 0.6 0.6 1.4 0.6 2.4s-0.3 1.9-0.7 2.6c-0.5 0.6-1 1-1.8 1-0.6 0-1.1-0.3-1.6-0.9l-0.2 0.8zm1-1.7c0.5 0.6 1 0.9 1.5 0.9s0.8-0.3 1.1-0.7c0.2-0.5 0.3-1.1 0.3-1.9 0-1.5-0.4-2.3-1.2-2.3-0.6 0-1.1 0.4-1.7 1.2zm10.6-4.9v6.5h-1.1v-1.2c-0.5 0.9-1.1 1.4-2 1.4-1.1 0-1.6-0.8-1.6-2.2v-4.5h1v4.1c0 0.5 0.1 0.9 0.2 1.1 0.2 0.2 0.4 0.3 0.8 0.3 0.5 0 1-0.4 1.6-1.2v-4.3zm7.1 6.5c-0.5 0.1-1 0.2-1.5 0.2-0.9 0-1.5-0.2-1.8-0.6-0.3-0.3-0.5-0.9-0.5-1.9v-3.1h-1.4v-0.9h1.4v-1.4h1.1v1.4h2.6v0.9h-2.6v3.3c0 0.4 0 0.6 0.1 0.8 0 0.1 0.1 0.2 0.2 0.3 0.3 0.2 0.6 0.3 1.1 0.3 0.4 0 0.9-0.1 1.3-0.2zm6.1-0.3c-0.7 0.3-1.4 0.5-2 0.5-1 0-1.8-0.3-2.3-0.9-0.6-0.6-0.8-1.4-0.8-2.5 0-1 0.2-1.8 0.7-2.4 0.6-0.7 1.2-1 2-1s1.4 0.3 1.8 0.8 0.6 1.4 0.6 2.5v0.4h-4c0.1 1.4 0.8 2.2 2.1 2.2 0.6 0 1.2-0.2 1.9-0.5zm-4-3.5h2.8v-0.2c0-1.1-0.4-1.7-1.3-1.7-0.4 0-0.7 0.1-1 0.5-0.3 0.3-0.4 0.8-0.5 1.4zm6 3.5v-1c0.8 0.4 1.5 0.6 2.1 0.6 0.4 0 0.8-0.1 1.1-0.3s0.4-0.4 0.4-0.7c0-0.4-0.3-0.7-1-1l-1.1-0.4c-0.9-0.3-1.4-0.9-1.4-1.7 0-0.6 0.2-1 0.6-1.3 0.4-0.4 1-0.5 1.7-0.5 0.6 0 1.2 0.1 1.9 0.3v0.9c-0.7-0.2-1.3-0.3-1.9-0.3-0.4 0-0.7 0-0.9 0.2s-0.3 0.4-0.3 0.6c0 0.4 0.2 0.6 0.7 0.8l1.4 0.5c0.5 0.2 0.8 0.4 1 0.7s0.3 0.6 0.3 1c0 0.7-0.2 1.1-0.6 1.5-0.5 0.4-1.1 0.6-1.9 0.6-0.6 0-1.3-0.2-2.1-0.5z" class="g7_1"/>
<path style="fill:#7030a0" d="m771.4 104.6-0.3-3.2h1.3l-0.2 3.2zm2.6 0-0.3-3.2h1.4l-0.3 3.2z" class="g7_1"/>
<path d="m778 106v-2h2v2zm0 4v-1h2v1z" class="g2_1"/>
<path d="m795.2 101.4v0.9h-0.5c-0.5 0-0.9 0-1.1 0.2-0.2 0.1-0.3 0.4-0.3 0.7v0.6l0.2 0.8v0.7c0 0.9-0.3 1.4-1 1.7 0.7 0.2 1 0.8 1 1.7v0.6l-0.2 0.9v0.5c0 0.4 0.1 0.6 0.3 0.8 0.2 0.1 0.6 0.2 1.1 0.2h0.5v0.9h-0.6c-0.8 0-1.3-0.2-1.7-0.5s-0.6-0.7-0.6-1.2c0-0.3 0-0.5 0.1-0.9l0.2-1v-0.5c0-0.7-0.4-1.1-1.2-1.1h-0.5v-0.9h0.5c0.8 0 1.2-0.3 1.2-1.1v-0.4l-0.2-1.1c-0.1-0.3-0.1-0.6-0.1-0.8 0-1.1 0.8-1.7 2.3-1.7z" class="g2_1"/>
<path style="fill:#7030a0" d="m725 125.4-0.3-3.2h1.3l-0.2 3.2zm2.6 0-0.2-3.2h1.3l-0.3 3.2z" class="g7_1"/>
<path style="fill:#7030a0" d="m732.8 131.6-2.5-6.5h1.1l2 5.2 2-5.2h0.9l-2.5 6.5zm10-0.3c-0.8 0.3-1.4 0.4-2 0.4-1 0-1.8-0.3-2.3-0.8-0.6-0.6-0.9-1.4-0.9-2.5 0-1 0.3-1.8 0.8-2.5 0.5-0.6 1.2-0.9 2-0.9s1.4 0.2 1.8 0.8c0.3 0.5 0.5 1.3 0.5 2.5v0.4h-3.9c0.1 1.4 0.8 2.2 2.1 2.2 0.6 0 1.2-0.2 1.9-0.5zm-4-3.5h2.8v-0.2c0-1.2-0.4-1.8-1.3-1.8-0.4 0-0.8 0.2-1 0.5-0.3 0.4-0.4 0.9-0.5 1.5zm5.9 3.8v-6.5h1v1.2c0.5-0.9 1.3-1.3 2.2-1.3 0.3 0 0.7 0 1.1 0.1v1.9h-0.8v-0.9c-0.2-0.1-0.3-0.1-0.5-0.1-0.4 0-0.7 0.1-1 0.3s-0.7 0.6-1 1.1v4.2zm6.2-0.3v-1c0.8 0.4 1.5 0.6 2.1 0.6 0.4 0 0.8-0.1 1.1-0.3 0.2-0.2 0.4-0.5 0.4-0.8 0-0.4-0.3-0.7-1-0.9l-1.1-0.4c-0.9-0.3-1.4-0.9-1.4-1.7 0-0.6 0.2-1 0.6-1.4 0.4-0.3 1-0.4 1.7-0.4 0.6 0 1.2 0.1 1.9 0.2v1c-0.7-0.2-1.3-0.4-1.9-0.4-0.4 0-0.7 0.1-0.9 0.3-0.2 0.1-0.4 0.3-0.4 0.6s0.3 0.6 0.8 0.8l1.4 0.5c0.4 0.2 0.8 0.4 1 0.7s0.3 0.6 0.3 1c0 0.6-0.2 1.1-0.6 1.5-0.5 0.4-1.1 0.5-1.9 0.5-0.6 0-1.4-0.1-2.1-0.4zm8.9 0.3v-5.6h-2.1v-0.9h3.2v6.5zm-0.1-8v-1.4h1.3v1.4zm6.5 8.1c-0.9 0-1.6-0.3-2-0.9-0.5-0.6-0.8-1.4-0.8-2.5 0-1 0.3-1.8 0.8-2.4s1.1-0.9 2-0.9c0.8 0 1.5 0.3 2 0.9s0.7 1.4 0.7 2.4c0 1.1-0.2 1.9-0.7 2.5s-1.2 0.9-2 0.9zm0-0.8c0.5 0 0.9-0.3 1.2-0.7 0.2-0.4 0.4-1.1 0.4-1.9 0-0.7-0.2-1.3-0.4-1.8-0.3-0.4-0.7-0.7-1.2-0.7s-0.9 0.3-1.2 0.7c-0.3 0.5-0.5 1.1-0.5 1.8 0 0.8 0.2 1.5 0.5 1.9s0.7 0.7 1.2 0.7zm4.5 0.7v-6.5h1.1v1.2c0.4-0.9 1.1-1.3 2-1.3 1.1 0 1.6 0.7 1.6 2.2v4.4h-1v-4.1c0-0.5-0.1-0.9-0.3-1.1-0.1-0.2-0.3-0.3-0.7-0.3-0.5 0-1 0.4-1.6 1.3v4.2z" class="g7_1"/>
<path style="fill:#7030a0" d="m778 125.4-0.3-3.2h1.4l-0.3 3.2zm2.7 0-0.3-3.2h1.3l-0.3 3.2z" class="g7_1"/>
<path d="m785 126v-1h2v1zm0 5v-2h2v2z" class="g2_1"/>
<path style="fill:#ea700d" d="m797.9 125.4-0.3-3.2h1.3l-0.2 3.2zm2.6 0-0.2-3.2h1.3l-0.3 3.2z" class="g6_1"/>
<path style="fill:#ea700d" d="m803.9 131.6v-0.9h2.1v-6.9l-2.1 0.6v-0.8l3.2-1.1v8.2h2.1v0.9z" class="g6_1"/>
<path style="fill:#ea700d;fill-rule:evenodd" d="m812 131h1v-2h-1v2z" class="g6_1"/>
<path style="fill:#ea700d" d="m819.5 131.8c-0.8 0-1.5-0.4-2-1.3-0.5-0.8-0.7-1.9-0.7-3.3s0.2-2.6 0.7-3.4 1.2-1.3 2-1.3 1.5 0.5 2 1.3 0.7 2 0.7 3.4-0.2 2.5-0.7 3.3c-0.5 0.9-1.2 1.3-2 1.3zm0-0.9c1 0 1.6-1.2 1.6-3.7s-0.6-3.8-1.6-3.8c-1.1 0-1.6 1.3-1.6 3.8s0.5 3.7 1.6 3.7z" class="g6_1"/>
<path style="fill:#ea700d" d="m824.4 125.4-0.3-3.2h1.4l-0.3 3.2zm2.6 0-0.2-3.2h1.3l-0.3 3.2z" class="g6_1"/>
<path d="m832 133.5v-0.6c0.3 0 0.5-0.4 0.6-1v-0.3h-0.6v-1.8h1.5v1.1c0 1.7-0.5 2.5-1.5 2.6z" class="g2_1"/>
<path style="fill:#7030a0" d="m725 146.2-0.3-3.3h1.3l-0.2 3.3zm2.6 0-0.2-3.3h1.3l-0.3 3.3z" class="g7_1"/>
<path style="fill:#7030a0" d="m735.9 152.1c-0.7 0.3-1.4 0.4-2 0.4-1 0-1.8-0.3-2.3-0.8-0.6-0.6-0.8-1.4-0.8-2.5 0-1 0.2-1.8 0.7-2.5 0.6-0.6 1.2-1 2-1s1.4 0.3 1.8 0.8c0.4 0.6 0.6 1.4 0.6 2.5v0.4h-4c0.1 1.5 0.8 2.2 2.1 2.2 0.6 0 1.2-0.1 1.9-0.4zm-4-3.6h2.8v-0.1c0-1.2-0.4-1.8-1.3-1.8-0.4 0-0.7 0.2-1 0.5-0.3 0.4-0.4 0.8-0.5 1.4zm6 3.9v-6.5h1v1.2c0.5-0.9 1.2-1.4 2-1.4 1.1 0 1.7 0.8 1.7 2.2v4.5h-1.1v-4.1c0-0.5-0.1-0.9-0.2-1.1s-0.4-0.3-0.7-0.3c-0.5 0-1.1 0.4-1.7 1.2v4.3zm11-0.2c-0.6 0.2-1.2 0.3-1.9 0.3-1 0-1.7-0.3-2.3-0.9-0.5-0.6-0.8-1.4-0.8-2.5 0-1 0.2-1.9 0.8-2.5 0.5-0.6 1.3-0.9 2.2-0.9 0.7 0 1.3 0.1 1.9 0.4v0.9c-0.7-0.2-1.3-0.4-1.8-0.4-0.6 0-1.1 0.2-1.5 0.7-0.3 0.4-0.5 1-0.5 1.8s0.2 1.4 0.6 1.9c0.4 0.4 0.9 0.6 1.6 0.6 0.5 0 1.1-0.1 1.7-0.4zm4.3 0.3c-0.9 0-1.5-0.3-2-0.9s-0.8-1.4-0.8-2.5c0-1 0.3-1.9 0.8-2.4 0.5-0.7 1.1-1 2-1 0.8 0 1.5 0.3 2 1 0.5 0.5 0.7 1.4 0.7 2.4 0 1.1-0.2 1.9-0.7 2.5s-1.2 0.9-2 0.9zm0-0.9c0.5 0 0.9-0.2 1.2-0.6 0.3-0.5 0.4-1.1 0.4-1.9s-0.1-1.4-0.4-1.8c-0.3-0.5-0.7-0.7-1.2-0.7s-0.9 0.2-1.2 0.7c-0.3 0.4-0.4 1-0.4 1.8s0.1 1.4 0.4 1.9c0.3 0.4 0.7 0.6 1.2 0.6zm8.3 0.8v-1.3c-0.5 1-1.2 1.4-1.9 1.4s-1.2-0.3-1.6-0.8c-0.4-0.6-0.6-1.4-0.6-2.4s0.3-1.9 0.7-2.6c0.5-0.6 1-1 1.8-1 0.6 0 1.1 0.3 1.6 0.9v-3.7h1v9.5zm0-4.9c-0.5-0.6-1-0.9-1.5-0.9-0.4 0-0.8 0.2-1.1 0.7-0.2 0.5-0.3 1.1-0.3 1.9 0 1.5 0.4 2.3 1.2 2.3 0.6 0 1.1-0.4 1.7-1.2zm4.4 4.9v-5.6h-2.1v-0.9h3.2v6.5zm-0.1-8v-1.5h1.3v1.5zm4.9 8v-6.5h1.1v1.2c0.4-0.9 1.1-1.4 2-1.4 1.1 0 1.6 0.8 1.6 2.2v4.5h-1v-4.1c0-0.5-0.1-0.9-0.3-1.1-0.1-0.2-0.3-0.3-0.7-0.3-0.5 0-1 0.4-1.6 1.2v4.3zm7 2.1 0.2-1c0.6 0.3 1.2 0.5 1.7 0.5 1.2 0 1.7-0.6 1.7-1.8l0.1-1.2c-0.5 0.9-1.1 1.4-2 1.4-0.6 0-1.1-0.3-1.5-0.9-0.4-0.5-0.6-1.3-0.6-2.3s0.2-1.8 0.6-2.5c0.5-0.6 1.1-1 1.8-1 0.6 0 1.1 0.3 1.7 0.9v-0.7h1v5.2c0 0.8-0.1 1.4-0.2 1.9-0.1 0.4-0.2 0.8-0.5 1.1-0.5 0.5-1.1 0.8-2.1 0.8-0.5 0-1.2-0.1-1.9-0.4zm3.6-4.4v-2.6c-0.4-0.6-0.9-0.9-1.4-0.9s-0.9 0.2-1.1 0.7c-0.3 0.4-0.4 1.1-0.4 1.9 0 0.6 0.1 1.2 0.3 1.6 0.3 0.3 0.6 0.5 1 0.5 0.6 0 1.2-0.4 1.6-1.2z" class="g7_1"/>
<path style="fill:#7030a0" d="m784.6 146.2-0.2-3.3h1.3l-0.3 3.3zm2.7 0-0.3-3.3h1.3l-0.2 3.3z" class="g7_1"/>
<path d="m792 147v-2h1v2zm0 5v-2h1v2z" class="g2_1"/>
<path style="fill:#ea700d" d="m804.5 146.2-0.3-3.3h1.4l-0.3 3.3zm2.7 0-0.3-3.3h1.3l-0.2 3.3z" class="g6_1"/>
<path style="fill:#ea700d" d="m815.2 145.9v6.5h-1.1v-1.3c-0.4 1-1.1 1.4-2 1.4-1.1 0-1.6-0.7-1.6-2.2v-4.4h1v4.1c0 0.5 0.1 0.9 0.3 1.1 0.1 0.2 0.3 0.3 0.7 0.3 0.5 0 1.1-0.4 1.6-1.3v-4.2zm7.1 6.5c-0.5 0.1-1 0.1-1.5 0.1-0.9 0-1.5-0.2-1.8-0.5s-0.4-1-0.4-2v-3.1h-1.5v-0.9h1.5v-1.4h1v1.4h2.6v0.9h-2.6v3.3c0 0.4 0.1 0.7 0.1 0.8s0.1 0.3 0.3 0.4 0.6 0.2 1 0.2c0.5 0 0.9 0 1.3-0.1zm2.6 0v-5.5h-1.6v-0.9h1.6v-0.6c0-1 0.2-1.6 0.6-2s1-0.6 1.9-0.6c0.5 0 1.1 0.1 1.6 0.2v1c-0.5-0.2-1.1-0.3-1.6-0.3s-0.9 0.1-1.1 0.3c-0.2 0.3-0.3 0.6-0.3 1.2v0.8h2.8v0.9h-2.8v5.5z" class="g6_1"/>
<path style="stroke:#ea700d;fill:none" d="m830.5 149.5h4" class="g9_1"/>
<path style="fill:#ea700d" d="m838.4 147.6c-0.7-0.6-1.1-1.3-1.1-2.1 0-0.7 0.2-1.2 0.6-1.6 0.5-0.4 1-0.6 1.7-0.6 0.6 0 1.2 0.2 1.5 0.5 0.4 0.3 0.5 0.8 0.5 1.4 0 0.9-0.4 1.7-1.3 2.3 0.6 0.4 1 0.8 1.3 1.2 0.2 0.4 0.4 0.8 0.4 1.3 0 0.8-0.3 1.4-0.8 1.9-0.4 0.4-1.1 0.7-1.8 0.7-0.8 0-1.4-0.2-1.8-0.7-0.5-0.4-0.7-1-0.7-1.7 0-1.1 0.5-2 1.5-2.6zm0.6 0.4c-0.7 0.7-1 1.3-1 2 0 0.5 0.1 0.9 0.4 1.2s0.6 0.5 1.1 0.5c0.4 0 0.7-0.1 1-0.4s0.4-0.6 0.4-1c0-0.7-0.4-1.3-1.2-1.8zm0.7-0.9c0.7-0.5 1-1 1-1.7 0-0.4-0.1-0.7-0.3-0.9-0.3-0.2-0.5-0.3-0.9-0.3s-0.7 0.1-0.9 0.3-0.3 0.5-0.3 0.9c0 0.5 0.4 1 1.1 1.5z" class="g6_1"/>
<path style="fill:#ea700d" d="m844.3 146.2-0.3-3.3h1.3l-0.2 3.3zm2.6 0-0.3-3.3h1.4l-0.3 3.3z" class="g6_1"/>
<path d="m698 174.9v-0.9h0.4c0.5 0 0.9 0 1.1-0.2 0.3-0.1 0.4-0.4 0.4-0.7 0-0.2 0-0.4-0.1-0.6l-0.1-0.8c-0.1-0.3-0.1-0.5-0.1-0.7 0-0.9 0.4-1.4 1.1-1.7-0.7-0.2-1.1-0.8-1.1-1.7 0-0.1 0-0.4 0.1-0.6l0.1-0.9c0.1-0.2 0.1-0.4 0.1-0.5 0-0.4-0.1-0.6-0.4-0.8-0.2-0.1-0.6-0.2-1.1-0.2h-0.4v-0.9h0.6c0.7 0 1.3 0.2 1.7 0.5 0.3 0.3 0.5 0.7 0.5 1.2v0.9l-0.2 1c0 0.2-0.1 0.3-0.1 0.5 0 0.7 0.4 1.1 1.3 1.1h0.4v0.9h-0.4c-0.9 0-1.3 0.3-1.3 1.1 0 0.1 0.1 0.3 0.1 0.4l0.2 1.1v0.8c0 1.1-0.7 1.7-2.2 1.7z" class="g2_1"/>
<path d="m671.5 195.7v-0.9h0.4c0.5 0 0.9-0.1 1.1-0.2 0.2-0.2 0.4-0.4 0.4-0.8 0-0.1-0.1-0.3-0.1-0.5l-0.1-0.8c-0.1-0.3-0.1-0.5-0.1-0.7 0-0.9 0.4-1.5 1.1-1.7-0.7-0.3-1.1-0.8-1.1-1.7 0-0.2 0-0.4 0.1-0.7l0.1-0.8c0-0.2 0.1-0.4 0.1-0.5 0-0.4-0.2-0.7-0.4-0.8s-0.6-0.2-1.1-0.2h-0.4v-0.9h0.6c0.7 0 1.3 0.1 1.7 0.4 0.3 0.3 0.5 0.8 0.5 1.3v0.8l-0.2 1.1c-0.1 0.1-0.1 0.3-0.1 0.5 0 0.7 0.4 1 1.2 1h0.5v0.9h-0.5c-0.8 0-1.2 0.4-1.2 1.1 0 0.2 0 0.4 0.1 0.5l0.2 1.1v0.8c0 1.1-0.7 1.7-2.2 1.7zm8.3 0.1v-0.6c0.3 0 0.5-0.4 0.6-1v-0.3h-0.6v-1.8h1.5v1.1c0 1.7-0.5 2.6-1.5 2.6z" class="g2_1"/>
<path style="fill:#7030a0" d="m671.9 208.5-0.2-3.2h1.3l-0.3 3.2zm2.7 0-0.3-3.2h1.4l-0.3 3.2z" class="g7_1"/>
<path style="fill:#7030a0" d="m682.9 214.4c-0.7 0.3-1.4 0.5-2 0.5-1 0-1.8-0.3-2.4-0.9-0.5-0.6-0.8-1.4-0.8-2.5 0-1 0.3-1.8 0.8-2.5 0.5-0.6 1.2-0.9 2-0.9s1.4 0.2 1.8 0.8c0.4 0.5 0.5 1.4 0.5 2.5v0.4h-3.9c0 1.4 0.8 2.2 2.1 2.2 0.6 0 1.2-0.2 1.9-0.5zm-4-3.5h2.8v-0.2c0-1.2-0.4-1.7-1.3-1.7-0.4 0-0.8 0.1-1 0.5-0.3 0.3-0.4 0.8-0.5 1.4zm8.1 3.8v-8.5h-2.2v-0.9h3.3v9.4zm8.9-0.3c-0.8 0.3-1.4 0.5-2 0.5-1.1 0-1.8-0.3-2.4-0.9-0.5-0.6-0.8-1.4-0.8-2.5 0-1 0.3-1.8 0.8-2.5 0.5-0.6 1.2-0.9 2-0.9s1.4 0.2 1.8 0.8c0.3 0.5 0.5 1.4 0.5 2.5v0.4h-3.9c0 1.4 0.7 2.2 2.1 2.2 0.6 0 1.2-0.2 1.9-0.5zm-4-3.5h2.8v-0.2c0-1.2-0.4-1.7-1.3-1.7-0.4 0-0.8 0.1-1 0.5-0.3 0.3-0.5 0.8-0.5 1.4zm5.4 3.8v-6.5h1v1.2c0.4-0.9 0.9-1.3 1.3-1.3 0.5 0 0.8 0.4 1 1.3 0.4-0.9 0.8-1.3 1.3-1.3 0.4 0 0.7 0.1 0.8 0.4 0.2 0.3 0.3 0.8 0.3 1.5v4.7h-1v-4.7-0.7c-0.1-0.1-0.2-0.2-0.3-0.2-0.3 0-0.7 0.5-1.1 1.4v4.2h-0.9v-4.5c0-0.4 0-0.7-0.1-0.9 0-0.1-0.1-0.2-0.2-0.2-0.2 0-0.4 0.1-0.6 0.4s-0.4 0.6-0.5 1v4.2zm12.3-0.3c-0.7 0.3-1.4 0.5-2 0.5-1 0-1.8-0.3-2.3-0.9s-0.8-1.4-0.8-2.5c0-1 0.2-1.8 0.8-2.5 0.5-0.6 1.1-0.9 1.9-0.9s1.4 0.2 1.8 0.8c0.4 0.5 0.6 1.4 0.6 2.5v0.4h-4c0.1 1.4 0.8 2.2 2.1 2.2 0.6 0 1.2-0.2 1.9-0.5zm-4-3.5h2.8v-0.2c0-1.2-0.4-1.7-1.3-1.7-0.4 0-0.7 0.1-1 0.5-0.2 0.3-0.4 0.8-0.5 1.4zm5.2 3.8v-6.5h1.1v1.2c0.5-0.9 1.1-1.3 2-1.3 1.1 0 1.6 0.7 1.6 2.2v4.4h-1v-4.1c0-0.5-0.1-0.9-0.2-1.1-0.2-0.2-0.4-0.3-0.8-0.3-0.5 0-1 0.4-1.6 1.3v4.2zm11.8 0c-0.5 0.1-1 0.2-1.5 0.2-0.9 0-1.5-0.2-1.8-0.6-0.3-0.3-0.4-1-0.4-1.9v-3.2h-1.5v-0.8h1.5v-1.4h1v1.4h2.6v0.8h-2.6v3.4c0 0.3 0 0.6 0.1 0.7 0 0.2 0.1 0.3 0.2 0.4 0.3 0.2 0.7 0.3 1.1 0.3 0.5 0 0.9-0.1 1.3-0.2zm2-0.3v-1c0.8 0.4 1.5 0.6 2.1 0.6 0.4 0 0.8-0.1 1.1-0.3s0.4-0.5 0.4-0.8-0.3-0.6-1-0.9l-1.1-0.4c-0.9-0.3-1.4-0.9-1.4-1.7 0-0.6 0.2-1 0.6-1.3 0.4-0.4 1-0.5 1.7-0.5 0.6 0 1.2 0.1 1.9 0.3v0.9c-0.7-0.2-1.3-0.3-1.9-0.3-0.4 0-0.7 0-0.9 0.2s-0.3 0.3-0.3 0.6 0.2 0.6 0.7 0.8l1.4 0.5c0.5 0.2 0.8 0.4 1 0.7s0.4 0.6 0.4 1c0 0.6-0.3 1.1-0.7 1.5-0.5 0.4-1.1 0.6-1.9 0.6-0.6 0-1.4-0.2-2.1-0.5z" class="g7_1"/>
<path style="fill:#7030a0" d="m731.6 208.5-0.3-3.2h1.4l-0.3 3.2zm2.7 0-0.3-3.2h1.3l-0.3 3.2z" class="g7_1"/>
<path d="m739 209v-1h1v1zm0 5v-2h1v2zm13 2v-11h3v1h-3v9h3v1z" class="g2_1"/>
<path d="m702.4 226.1v0.8h-0.5c-0.5 0-0.9 0.1-1.1 0.2-0.2 0.2-0.3 0.4-0.3 0.8v0.6l0.2 0.8v0.7c0 0.8-0.3 1.4-1 1.6 0.7 0.3 1 0.9 1 1.7v0.7l-0.2 0.8v0.6c0 0.4 0.1 0.6 0.3 0.7 0.2 0.2 0.6 0.3 1.1 0.3h0.5v0.8h-0.6c-0.7 0-1.3-0.1-1.7-0.4s-0.6-0.7-0.6-1.3c0-0.2 0.1-0.5 0.1-0.8l0.2-1v-0.5c0-0.7-0.4-1.1-1.2-1.1h-0.5v-0.9h0.5c0.8 0 1.2-0.4 1.2-1.1v-0.5l-0.2-1c0-0.3-0.1-0.6-0.1-0.8 0-1.2 0.8-1.7 2.3-1.7z" class="g2_1"/>
<path style="fill:#7030a0" d="m725 250.1-0.3-3.3h1.3l-0.2 3.3zm2.6 0-0.2-3.3h1.3l-0.3 3.3z" class="g7_1"/>
<path style="fill:#7030a0" d="m735.9 256.3c-0.5 0-1 0.1-1.5 0.1-0.9 0-1.5-0.2-1.8-0.5s-0.4-1-0.4-2v-3.1h-1.5v-0.9h1.5v-1.4h1v1.4h2.6v0.9h-2.6v3.3c0 0.4 0 0.6 0.1 0.8 0 0.1 0.1 0.3 0.2 0.3 0.3 0.2 0.6 0.3 1.1 0.3s0.9 0 1.3-0.1zm1.7 2.3v-0.9h0.5c0.4 0 0.7 0 0.9-0.2 0.1-0.1 0.3-0.4 0.5-0.9l0.3-0.6-2.5-6.2h1.1l1.9 4.8 2-4.8h0.9l-2.9 7.3c-0.2 0.6-0.5 1-0.8 1.2-0.4 0.2-0.8 0.3-1.4 0.3zm6.4 0v-8.8h1v1.2c0.5-0.9 1.2-1.4 1.9-1.4s1.2 0.3 1.6 0.9c0.4 0.5 0.6 1.3 0.6 2.3 0 1.1-0.3 1.9-0.7 2.6-0.5 0.7-1.1 1-1.8 1-0.6 0-1.2-0.3-1.6-0.9v3.1zm1-4c0.5 0.6 1 0.9 1.5 0.9 0.4 0 0.8-0.2 1-0.7 0.3-0.4 0.4-1.1 0.4-1.9 0-1.5-0.4-2.3-1.2-2.3-0.6 0-1.2 0.4-1.7 1.3zm10.8 1.4c-0.8 0.3-1.4 0.4-2.1 0.4-0.9 0-1.7-0.3-2.3-0.8-0.5-0.6-0.8-1.5-0.8-2.5s0.3-1.8 0.8-2.5c0.5-0.6 1.2-1 2-1s1.4 0.3 1.8 0.8c0.3 0.6 0.5 1.4 0.5 2.5v0.4h-3.9c0 1.5 0.8 2.2 2.1 2.2 0.6 0 1.2-0.1 1.9-0.4zm-4-3.6h2.8v-0.1c0-1.2-0.4-1.8-1.3-1.8-0.4 0-0.8 0.2-1 0.5-0.3 0.4-0.5 0.8-0.5 1.4z" class="g7_1"/>
<path style="fill:#7030a0" d="m758.1 250.1-0.3-3.3h1.4l-0.3 3.3zm2.7 0-0.3-3.3h1.3l-0.2 3.3z" class="g7_1"/>
<path d="m765 251v-2h2v2zm0 5v-2h2v2z" class="g2_1"/>
<path style="fill:#ea700d" d="m778 250.1-0.3-3.3h1.4l-0.3 3.3zm2.7 0-0.3-3.3h1.3l-0.3 3.3z" class="g6_1"/>
<path style="fill:#ea700d" d="m788.9 256c-0.7 0.3-1.4 0.4-2 0.4-1 0-1.8-0.3-2.3-0.8-0.5-0.6-0.8-1.5-0.8-2.5s0.2-1.8 0.8-2.5c0.5-0.6 1.1-1 1.9-1s1.4 0.3 1.8 0.8c0.4 0.6 0.6 1.4 0.6 2.5v0.4h-4c0.1 1.5 0.8 2.2 2.2 2.2 0.5 0 1.1-0.1 1.8-0.4zm-4-3.6h2.9v-0.1c0-1.2-0.5-1.8-1.3-1.8-0.5 0-0.8 0.2-1.1 0.5-0.2 0.4-0.4 0.8-0.5 1.4zm8.2 3.9v-8.6h-2.3v-0.9h3.3v9.5zm8.8-0.3c-0.7 0.3-1.4 0.4-2 0.4-1 0-1.8-0.3-2.3-0.8-0.6-0.6-0.8-1.5-0.8-2.5s0.2-1.8 0.7-2.5c0.6-0.6 1.2-1 2-1s1.4 0.3 1.8 0.8c0.4 0.6 0.6 1.4 0.6 2.5v0.4h-4c0.1 1.5 0.8 2.2 2.1 2.2 0.6 0 1.2-0.1 1.9-0.4zm-4-3.6h2.9v-0.1c0-1.2-0.5-1.8-1.4-1.8-0.4 0-0.7 0.2-1 0.5-0.3 0.4-0.4 0.8-0.5 1.4zm5.5 3.9v-6.5h0.9v1.2c0.5-0.9 0.9-1.4 1.3-1.4 0.5 0 0.9 0.5 1 1.4h0.1c0.4-0.9 0.8-1.4 1.3-1.4 0.3 0 0.6 0.2 0.8 0.5 0.1 0.3 0.2 0.7 0.2 1.4v4.8h-0.9v-4.7c0-0.4 0-0.6-0.1-0.8 0-0.1-0.1-0.2-0.2-0.2-0.4 0-0.7 0.5-1.1 1.5v4.2h-0.9v-4.5c0-0.5-0.1-0.8-0.1-0.9-0.1-0.2-0.2-0.2-0.3-0.2-0.2 0-0.3 0.1-0.5 0.4-0.2 0.2-0.4 0.6-0.6 1v4.2zm12.3-0.3c-0.8 0.3-1.4 0.4-2 0.4-1.1 0-1.8-0.3-2.4-0.8-0.5-0.6-0.8-1.5-0.8-2.5s0.3-1.8 0.8-2.5c0.5-0.6 1.2-1 2-1s1.4 0.3 1.8 0.8c0.3 0.6 0.5 1.4 0.5 2.5v0.4h-4c0.1 1.5 0.8 2.2 2.2 2.2 0.6 0 1.2-0.1 1.9-0.4zm-4-3.6h2.8v-0.1c0-1.2-0.4-1.8-1.3-1.8-0.4 0-0.8 0.2-1 0.5-0.3 0.4-0.5 0.8-0.5 1.4zm5.2 3.9v-6.5h1v1.2c0.5-0.9 1.2-1.4 2-1.4 1.1 0 1.7 0.8 1.7 2.2v4.5h-1.1v-4.2c0-0.5-0.1-0.8-0.2-1-0.2-0.3-0.4-0.3-0.7-0.3-0.6 0-1.1 0.4-1.7 1.2v4.3zm11.8 0c-0.6 0-1.1 0.1-1.6 0.1-0.8 0-1.4-0.2-1.7-0.5s-0.5-1-0.5-2v-3.1h-1.4v-0.9h1.4v-1.4h1.1v1.4h2.6v0.9h-2.6v3.3 0.8c0.1 0.1 0.2 0.3 0.3 0.3 0.2 0.2 0.6 0.3 1.1 0.3 0.4 0 0.8 0 1.3-0.1z" class="g6_1"/>
<path style="fill:#ea700d" d="m831 250.1-0.2-3.3h1.3l-0.3 3.3zm2.7 0-0.3-3.3h1.3l-0.2 3.3z" class="g6_1"/>
<path d="m838.6 258.2v-0.6c0.3-0.1 0.5-0.4 0.6-1.1v-0.2h-0.6v-1.8h1.6v1.1c0 1.6-0.6 2.5-1.6 2.6z" class="g2_1"/>
<path style="fill:#7030a0" d="m725 270.8-0.3-3.2h1.3l-0.2 3.2zm2.6 0-0.2-3.2h1.3l-0.3 3.2z" class="g7_1"/>
<path style="fill:#7030a0" d="m731 277v-6.4h1.1v1.2c0.4-0.9 1.1-1.4 1.9-1.4 1.1 0 1.7 0.7 1.7 2.2v4.4h-1.1v-4.1c0-0.5 0-0.8-0.2-1.1-0.1-0.2-0.4-0.3-0.7-0.3-0.5 0-1.1 0.4-1.6 1.3v4.2zm10.4-0.7c-0.7 0.5-1.3 0.8-2 0.8-0.5 0-0.9-0.1-1.3-0.5-0.3-0.3-0.5-0.7-0.5-1.2 0-0.7 0.3-1.3 0.8-1.7 0.6-0.4 1.3-0.6 2.1-0.6h0.7v-0.5c0-0.5-0.1-0.8-0.3-1s-0.5-0.3-0.9-0.3c-0.6 0-1.2 0.2-1.9 0.6v-1c0.8-0.3 1.5-0.5 2.1-0.5 0.8 0 1.3 0.2 1.6 0.5s0.5 0.9 0.5 1.7v2.7c0 0.4 0 0.7 0.1 0.8s0.2 0.2 0.4 0.2h0.3l0.1 0.7c-0.3 0.1-0.6 0.1-0.8 0.1-0.5 0-0.8-0.3-1-0.8zm-0.2-0.8v-1.6h-0.3c-1.5 0-2.2 0.4-2.2 1.3 0 0.3 0.1 0.5 0.3 0.7s0.4 0.3 0.7 0.3c0.5 0 1-0.2 1.5-0.7zm2.3 1.5v-6.4h0.9v1.2c0.5-0.9 0.9-1.4 1.3-1.4 0.5 0 0.9 0.5 1 1.4h0.1c0.3-0.9 0.8-1.4 1.3-1.4 0.4 0 0.6 0.2 0.8 0.5 0.1 0.2 0.2 0.7 0.2 1.4v4.7h-0.9v-4.7c0-0.3 0-0.6-0.1-0.7 0-0.1-0.1-0.2-0.2-0.2-0.4 0-0.7 0.5-1.1 1.4v4.2h-1v-4.4-0.9c-0.1-0.2-0.2-0.3-0.3-0.3-0.2 0-0.3 0.2-0.5 0.4-0.2 0.3-0.4 0.6-0.6 1.1v4.1zm12.3-0.2c-0.8 0.2-1.4 0.4-2.1 0.4-0.9 0-1.7-0.3-2.3-0.9-0.5-0.6-0.8-1.4-0.8-2.4s0.3-1.9 0.8-2.5c0.5-0.7 1.2-1 2-1s1.4 0.3 1.8 0.8c0.3 0.5 0.5 1.4 0.5 2.5v0.4h-3.9c0 1.5 0.8 2.2 2.1 2.2 0.6 0 1.2-0.2 1.9-0.5zm-4-3.6h2.8v-0.2c0-1.1-0.4-1.7-1.3-1.7-0.4 0-0.8 0.2-1 0.5-0.3 0.3-0.5 0.8-0.5 1.4z" class="g7_1"/>
<path style="fill:#7030a0" d="m758.1 270.8-0.3-3.2h1.4l-0.3 3.2zm2.7 0-0.3-3.2h1.3l-0.2 3.2z" class="g7_1"/>
<path d="m765 272v-2h2v2zm0 5v-2h2v2z" class="g2_1"/>
<path style="fill:#ea700d" d="m778 270.8-0.3-3.2h1.4l-0.3 3.2zm2.7 0-0.3-3.2h1.3l-0.3 3.2z" class="g6_1"/>
<path style="fill:#ea700d" d="m784 277v-6.4h1.1v1.2c0.5-0.9 1.1-1.4 2-1.4 1.1 0 1.6 0.7 1.6 2.2v4.4h-1v-4.1c0-0.5-0.1-0.8-0.3-1.1-0.1-0.2-0.3-0.3-0.7-0.3-0.5 0-1.1 0.4-1.6 1.3v4.2zm9.2 0.2c-0.8 0-1.5-0.3-2-0.9s-0.7-1.5-0.7-2.5c0-1.1 0.2-1.9 0.7-2.5s1.2-0.9 2-0.9c0.9 0 1.6 0.3 2 0.9 0.5 0.6 0.8 1.4 0.8 2.5 0 1-0.3 1.9-0.8 2.5-0.4 0.6-1.1 0.9-2 0.9zm0-0.9c0.5 0 0.9-0.2 1.2-0.7 0.3-0.4 0.4-1 0.4-1.8s-0.1-1.4-0.4-1.8c-0.3-0.5-0.7-0.7-1.2-0.7s-0.9 0.2-1.2 0.7c-0.3 0.4-0.4 1-0.4 1.8s0.1 1.4 0.4 1.8c0.3 0.5 0.7 0.7 1.2 0.7zm8.7 0.7c-0.5 0.1-1 0.2-1.5 0.2-0.9 0-1.4-0.2-1.8-0.5-0.3-0.4-0.4-1-0.4-2v-3.1h-1.5v-0.9h1.5v-1.4h1v1.4h2.6v0.9h-2.6v3.3c0 0.4 0.1 0.6 0.1 0.8 0 0.1 0.1 0.2 0.3 0.3 0.2 0.2 0.6 0.3 1 0.3 0.5 0 0.9-0.1 1.3-0.2zm6.9-0.2c-0.7 0.2-1.4 0.4-2 0.4-1 0-1.8-0.3-2.3-0.9-0.6-0.6-0.8-1.4-0.8-2.4s0.2-1.9 0.7-2.5c0.5-0.7 1.2-1 2-1s1.4 0.3 1.8 0.8 0.5 1.4 0.5 2.5v0.4h-3.9c0 1.5 0.8 2.2 2.1 2.2 0.6 0 1.2-0.2 1.9-0.5zm-4-3.6h2.8v-0.2c0-1.1-0.4-1.7-1.3-1.7-0.4 0-0.8 0.2-1 0.5-0.3 0.3-0.4 0.8-0.5 1.4z" class="g6_1"/>
<path style="fill:#ea700d" d="m811.1 270.8-0.2-3.2h1.3l-0.3 3.2zm2.7 0-0.3-3.2h1.3l-0.2 3.2z" class="g6_1"/>
<path d="m818.7 278.9v-0.5c0.4-0.1 0.6-0.5 0.6-1.1v-0.3h-0.6v-1.7h1.6v1c0 1.7-0.6 2.6-1.6 2.6z" class="g2_1"/>
<path style="fill:#7030a0" d="m725 291.6-0.3-3.2h1.3l-0.2 3.2zm2.6 0-0.2-3.2h1.3l-0.3 3.2z" class="g7_1"/>
<path style="fill:#7030a0" d="m734.5 297c-0.6 0.6-1.3 0.9-1.9 0.9s-1-0.2-1.3-0.5c-0.4-0.3-0.6-0.8-0.6-1.3 0-0.6 0.3-1.2 0.8-1.6 0.6-0.4 1.3-0.6 2.2-0.6h0.6v-0.6c0-0.4-0.1-0.7-0.2-0.9-0.2-0.2-0.5-0.3-0.9-0.3-0.7 0-1.3 0.2-2 0.5v-1c0.8-0.3 1.5-0.4 2.2-0.4s1.2 0.1 1.5 0.5c0.3 0.3 0.5 0.9 0.5 1.7v2.7c0 0.4 0 0.6 0.1 0.8 0.1 0.1 0.2 0.2 0.4 0.2 0.1 0 0.2 0 0.4-0.1l0.1 0.7c-0.4 0.2-0.7 0.2-0.8 0.2-0.6 0-0.9-0.3-1.1-0.9zm-0.2-0.7v-1.7h-0.3c-1.4 0-2.2 0.5-2.2 1.3 0 0.4 0.1 0.6 0.3 0.8s0.5 0.3 0.8 0.3c0.4 0 0.9-0.3 1.4-0.7zm8.5 1.5c-0.5 0.1-1 0.2-1.5 0.2-0.9 0-1.5-0.2-1.8-0.6-0.3-0.3-0.5-1-0.5-1.9v-3.1h-1.4v-0.9h1.4v-1.4h1.1v1.4h2.6v0.9h-2.6v3.3c0 0.4 0 0.6 0.1 0.7 0 0.2 0.1 0.3 0.2 0.4 0.3 0.2 0.6 0.3 1.1 0.3 0.4 0 0.9-0.1 1.3-0.2zm6.1 0c-0.5 0.1-1 0.2-1.5 0.2-0.9 0-1.5-0.2-1.8-0.6-0.3-0.3-0.5-1-0.5-1.9v-3.1h-1.4v-0.9h1.4v-1.4h1.1v1.4h2.6v0.9h-2.6v3.3c0 0.4 0 0.6 0.1 0.7 0 0.2 0.1 0.3 0.2 0.4 0.3 0.2 0.6 0.3 1.1 0.3 0.4 0 0.9-0.1 1.3-0.2zm2.6 0v-6.5h1.1v1.3c0.5-1 1.2-1.4 2.2-1.4 0.3 0 0.6 0 1 0.1v1.9h-0.8v-0.9c-0.1-0.1-0.3-0.1-0.4-0.1-0.4 0-0.7 0.1-1.1 0.3-0.3 0.2-0.6 0.6-0.9 1.1v4.2zm8.3 0v-5.6h-2.1v-0.9h3.2v6.5zm-0.1-7.9v-1.5h1.3v1.5zm4.1 8v-9.5h1v4.2c0.6-1 1.2-1.4 1.9-1.4s1.2 0.3 1.6 0.8c0.4 0.6 0.6 1.4 0.6 2.4s-0.2 1.9-0.7 2.6c-0.4 0.6-1 1-1.8 1-0.6 0-1.1-0.3-1.6-0.9l-0.2 0.8zm1-1.7c0.5 0.6 1 0.9 1.5 0.9s0.8-0.3 1.1-0.7c0.2-0.5 0.4-1.1 0.4-1.9 0-1.5-0.5-2.3-1.3-2.3-0.6 0-1.1 0.4-1.7 1.2zm10.6-4.9v6.5h-1.1v-1.2c-0.5 0.9-1.1 1.4-2 1.4-1.1 0-1.6-0.8-1.6-2.2v-4.5h1v4.1c0 0.5 0.1 0.9 0.2 1.1 0.2 0.2 0.4 0.3 0.8 0.3 0.5 0 1-0.4 1.6-1.2v-4.3zm7.1 6.5c-0.5 0.1-1 0.2-1.5 0.2-0.9 0-1.5-0.2-1.8-0.6-0.3-0.3-0.4-1-0.4-1.9v-3.1h-1.5v-0.9h1.5v-1.4h1v1.4h2.6v0.9h-2.6v3.3c0 0.4 0 0.6 0.1 0.7 0 0.2 0.1 0.3 0.2 0.4 0.3 0.2 0.6 0.3 1.1 0.3s0.9-0.1 1.3-0.2zm6.1-0.2c-0.7 0.2-1.4 0.4-2 0.4-1 0-1.8-0.3-2.3-0.9s-0.8-1.4-0.8-2.5c0-1 0.2-1.8 0.8-2.4 0.5-0.7 1.1-1 1.9-1s1.4 0.3 1.8 0.8 0.6 1.4 0.6 2.5v0.4h-4c0.1 1.4 0.8 2.2 2.1 2.2 0.6 0 1.2-0.2 1.9-0.5zm-4-3.6h2.8v-0.2c0-1.1-0.4-1.7-1.3-1.7-0.4 0-0.7 0.1-1 0.5-0.3 0.3-0.4 0.8-0.5 1.4zm6 3.6v-1.1c0.8 0.4 1.5 0.6 2.1 0.6 0.4 0 0.8-0.1 1.1-0.3s0.4-0.5 0.4-0.7c0-0.4-0.3-0.7-1-1l-1.1-0.4c-0.9-0.3-1.4-0.9-1.4-1.7 0-0.6 0.2-1 0.6-1.3 0.4-0.4 1-0.5 1.7-0.5 0.6 0 1.2 0.1 2 0.3v0.9c-0.8-0.2-1.4-0.3-2-0.3-0.4 0-0.7 0-0.9 0.2s-0.3 0.4-0.3 0.6c0 0.4 0.2 0.6 0.8 0.8l1.3 0.5c0.5 0.2 0.8 0.4 1 0.7s0.4 0.6 0.4 1c0 0.7-0.3 1.1-0.7 1.5-0.5 0.4-1.1 0.6-1.8 0.6s-1.4-0.2-2.2-0.4z" class="g7_1"/>
<path style="fill:#7030a0" d="m797.9 291.6-0.3-3.2h1.3l-0.2 3.2zm2.6 0-0.2-3.2h1.3l-0.3 3.2z" class="g7_1"/>
<path d="m805 293v-2h2v2zm0 4v-1h2v1z" class="g2_1"/>
<path d="m821.7 288.4v0.9h-0.5c-0.5 0-0.9 0-1.1 0.2-0.2 0.1-0.3 0.4-0.3 0.7v0.6l0.2 0.8v0.7c0 0.9-0.3 1.4-1 1.7 0.7 0.2 1 0.8 1 1.7v0.6l-0.2 0.9v0.5c0 0.4 0.1 0.6 0.3 0.8 0.2 0.1 0.6 0.2 1.1 0.2h0.5v0.9h-0.6c-0.7 0-1.3-0.2-1.7-0.5s-0.6-0.7-0.6-1.2c0-0.3 0-0.5 0.1-0.9l0.2-1v-0.5c0-0.7-0.4-1.1-1.2-1.1h-0.5v-0.9h0.5c0.8 0 1.2-0.3 1.2-1.1v-0.4l-0.2-1.1c-0.1-0.3-0.1-0.6-0.1-0.8 0-1.1 0.8-1.7 2.3-1.7z" class="g2_1"/>
<path style="fill:#7030a0" d="m751.5 312.4-0.3-3.2h1.3l-0.2 3.2zm2.6 0-0.2-3.2h1.3l-0.3 3.2z" class="g7_1"/>
<path style="fill:#7030a0" d="m759.6 318.6v-5.6h-2.2v-0.9h3.2v6.5zm-0.2-8v-1.4h1.4v1.4zm4.5 8v-6.5h0.9v1.2c0.5-0.9 0.9-1.3 1.3-1.3 0.6 0 0.9 0.4 1 1.3h0.1c0.4-0.9 0.8-1.3 1.3-1.3 0.4 0 0.6 0.1 0.8 0.4s0.2 0.8 0.2 1.4v4.8h-0.9v-4.7c0-0.4 0-0.6-0.1-0.7 0-0.2-0.1-0.2-0.2-0.2-0.4 0-0.7 0.5-1.1 1.4v4.2h-1v-4.5-0.9c-0.1-0.1-0.2-0.2-0.3-0.2s-0.3 0.1-0.5 0.4-0.4 0.6-0.6 1v4.2zm6.6 2.3v-8.8h1v1.2c0.5-0.9 1.2-1.3 1.9-1.3s1.2 0.2 1.6 0.8 0.6 1.4 0.6 2.3c0 1.1-0.3 2-0.7 2.6-0.5 0.7-1 1-1.8 1-0.6 0-1.1-0.2-1.6-0.8v3zm1-3.9c0.5 0.6 1 0.9 1.5 0.9 0.4 0 0.8-0.3 1.1-0.7 0.2-0.5 0.3-1.1 0.3-1.9 0-1.6-0.4-2.3-1.2-2.3-0.6 0-1.2 0.4-1.7 1.2zm8.2 1.7c-0.9 0-1.5-0.3-2-0.9s-0.7-1.4-0.7-2.5c0-1 0.2-1.8 0.7-2.4s1.1-0.9 2-0.9 1.5 0.3 2 0.9 0.8 1.4 0.8 2.4c0 1.1-0.3 1.9-0.8 2.5s-1.1 0.9-2 0.9zm0-0.8c0.5 0 0.9-0.3 1.2-0.7s0.4-1.1 0.4-1.9c0-0.7-0.1-1.3-0.4-1.8-0.3-0.4-0.7-0.7-1.2-0.7s-0.9 0.3-1.2 0.7c-0.3 0.5-0.4 1.1-0.4 1.8 0 0.8 0.1 1.5 0.4 1.9s0.7 0.7 1.2 0.7zm5.2 0.7v-6.5h1.1v1.2c0.5-0.9 1.2-1.3 2.1-1.3 0.4 0 0.7 0 1.1 0.1v1.9h-0.8v-0.9c-0.1-0.1-0.3-0.1-0.4-0.1-0.4 0-0.8 0.1-1.1 0.3s-0.6 0.6-0.9 1.1v4.2zm10.4 0c-0.5 0.1-1.1 0.1-1.5 0.1-0.9 0-1.5-0.1-1.8-0.5-0.3-0.3-0.5-1-0.5-1.9v-3.2h-1.4v-0.8h1.4v-1.4h1.1v1.4h2.6v0.8h-2.6v3.4 0.7c0.1 0.2 0.2 0.3 0.3 0.4 0.2 0.2 0.6 0.3 1.1 0.3 0.4 0 0.9-0.1 1.3-0.2zm5.4-0.8c-0.6 0.6-1.3 0.9-1.9 0.9-0.5 0-1-0.2-1.3-0.5s-0.5-0.8-0.5-1.3c0-0.7 0.2-1.2 0.8-1.6 0.5-0.4 1.2-0.6 2.1-0.6h0.7v-0.6c0-0.4-0.1-0.8-0.3-1-0.2-0.1-0.5-0.3-0.9-0.3-0.6 0-1.3 0.2-1.9 0.6v-1c0.7-0.3 1.4-0.4 2.1-0.4s1.3 0.1 1.6 0.4c0.3 0.4 0.4 0.9 0.4 1.7v2.8c0 0.3 0.1 0.6 0.1 0.8 0.1 0.1 0.2 0.2 0.5 0.2 0 0 0.1-0.1 0.3-0.1l0.1 0.7c-0.4 0.1-0.6 0.2-0.8 0.2-0.5 0-0.9-0.3-1.1-0.9zm-0.1-0.8v-1.6h-0.3c-1.5 0-2.2 0.4-2.2 1.3 0 0.3 0.1 0.6 0.2 0.8 0.2 0.2 0.5 0.3 0.8 0.3 0.4 0 0.9-0.3 1.5-0.8zm3.5 1.6v-6.5h1.1v1.2c0.4-0.9 1.1-1.3 1.9-1.3 1.1 0 1.7 0.7 1.7 2.2v4.4h-1.1v-4.1c0-0.5 0-0.9-0.2-1.1-0.1-0.2-0.3-0.3-0.7-0.3-0.5 0-1.1 0.4-1.6 1.3v4.2zm11-0.2c-0.6 0.2-1.2 0.3-1.8 0.3-1 0-1.8-0.2-2.4-0.8-0.5-0.6-0.8-1.5-0.8-2.6 0-1 0.3-1.8 0.8-2.4 0.6-0.6 1.3-0.9 2.3-0.9 0.6 0 1.2 0.1 1.8 0.3v1c-0.6-0.3-1.2-0.5-1.7-0.5-0.7 0-1.2 0.3-1.5 0.7-0.4 0.5-0.6 1.1-0.6 1.8 0 0.8 0.2 1.4 0.6 1.9 0.4 0.4 0.9 0.7 1.6 0.7 0.5 0 1.1-0.2 1.7-0.4zm6.9-0.1c-0.7 0.3-1.4 0.4-2 0.4-1 0-1.8-0.2-2.3-0.8-0.6-0.6-0.8-1.4-0.8-2.5 0-1 0.2-1.8 0.7-2.5 0.6-0.6 1.2-0.9 2-0.9s1.4 0.2 1.8 0.8c0.4 0.5 0.6 1.3 0.6 2.5v0.4h-4c0.1 1.4 0.8 2.2 2.1 2.2 0.6 0 1.2-0.2 1.9-0.5zm-4-3.5h2.8v-0.2c0-1.2-0.4-1.8-1.3-1.8-0.4 0-0.7 0.2-1 0.5-0.3 0.4-0.4 0.9-0.5 1.5z" class="g7_1"/>
<path style="fill:#7030a0" d="m824.4 312.4-0.3-3.2h1.4l-0.3 3.2zm2.6 0-0.2-3.2h1.3l-0.3 3.2z" class="g7_1"/>
<path d="m831 313v-1h2v1zm0 5v-2h2v2z" class="g2_1"/>
<path style="fill:#ea700d" d="m844.3 312.4-0.3-3.2h1.3l-0.2 3.2zm2.6 0-0.3-3.2h1.4l-0.3 3.2z" class="g6_1"/>
<path style="fill:#ea700d" d="m850.3 318.6v-9.4h1v2.9 1.2c0.5-0.9 1.2-1.3 2-1.3 1.1 0 1.7 0.7 1.7 2.2v4.4h-1.1v-4.1c0-0.5 0-0.9-0.2-1.1-0.1-0.2-0.4-0.3-0.7-0.3-0.5 0-1.1 0.4-1.7 1.3v4.2zm8.9 0v-5.6h-2.1v-0.9h3.2v6.5zm-0.1-8v-1.4h1.3v1.4zm4.3 10.2 0.1-1c0.7 0.3 1.3 0.4 1.8 0.4 1.2 0 1.7-0.6 1.7-1.8l0.1-1.2c-0.5 0.9-1.1 1.4-2 1.4-0.6 0-1.2-0.3-1.6-0.9-0.3-0.5-0.5-1.3-0.5-2.2 0-1.1 0.2-1.9 0.6-2.6 0.5-0.6 1.1-0.9 1.8-0.9 0.6 0 1.1 0.3 1.7 0.8v-0.7h1v5.2c0 0.8-0.1 1.5-0.2 1.9s-0.3 0.8-0.5 1.1c-0.5 0.5-1.2 0.8-2.1 0.8-0.5 0-1.2-0.1-1.9-0.3zm3.6-4.5v-2.6c-0.4-0.6-0.9-0.9-1.5-0.9-0.4 0-0.8 0.3-1 0.7-0.3 0.5-0.4 1.1-0.4 1.9 0 0.7 0.1 1.2 0.3 1.6s0.6 0.6 1 0.6c0.6 0 1.1-0.5 1.6-1.3zm3.1 2.3v-9.4h1.1v2.9 1.2c0.5-0.9 1.2-1.3 2-1.3 1.1 0 1.7 0.7 1.7 2.2v4.4h-1.1v-4.1c0-0.5-0.1-0.9-0.2-1.1-0.2-0.2-0.4-0.3-0.7-0.3-0.6 0-1.1 0.4-1.7 1.3v4.2z" class="g6_1"/>
<path style="fill:#ea700d" d="m877.4 312.4-0.3-3.2h1.4l-0.3 3.2zm2.7 0-0.3-3.2h1.3l-0.2 3.2z" class="g6_1"/>
<path d="m885 320.5v-0.6c0.3 0 0.5-0.4 0.6-1v-0.3h-0.6v-1.8h1.6v1.1c0 1.7-0.6 2.5-1.6 2.6z" class="g2_1"/>
<path style="fill:#7030a0" d="m751.5 333.2-0.3-3.3h1.3l-0.2 3.3zm2.6 0-0.2-3.3h1.3l-0.3 3.3z" class="g7_1"/>
<path style="fill:#7030a0" d="m759.7 339.4v-8.6h-2.3v-0.9h3.4v9.5zm7 0.1c-0.8 0-1.5-0.3-2-0.9s-0.7-1.4-0.7-2.5c0-1 0.2-1.9 0.7-2.4 0.5-0.7 1.2-1 2-1 0.9 0 1.5 0.3 2 1 0.5 0.5 0.8 1.4 0.8 2.4 0 1.1-0.3 1.9-0.8 2.5s-1.1 0.9-2 0.9zm0-0.9c0.5 0 0.9-0.2 1.2-0.6 0.3-0.5 0.4-1.1 0.4-1.9s-0.1-1.4-0.4-1.8c-0.3-0.5-0.7-0.7-1.2-0.7s-0.9 0.2-1.2 0.7c-0.3 0.4-0.4 1-0.4 1.8s0.1 1.4 0.4 1.9c0.3 0.4 0.7 0.6 1.2 0.6zm3.9 2.9 0.2-1c0.6 0.3 1.2 0.5 1.7 0.5 1.2 0 1.7-0.6 1.7-1.8l0.1-1.2c-0.5 0.9-1.1 1.4-2 1.4-0.6 0-1.2-0.3-1.6-0.9-0.3-0.5-0.5-1.3-0.5-2.3s0.2-1.8 0.7-2.5c0.4-0.6 1-1 1.7-1 0.6 0 1.1 0.3 1.7 0.9v-0.7h1v5.2c0 0.8-0.1 1.4-0.2 1.9-0.1 0.4-0.2 0.8-0.5 1.1-0.5 0.5-1.1 0.8-2.1 0.8-0.5 0-1.2-0.1-1.9-0.4zm3.6-4.4v-2.6c-0.4-0.6-0.9-0.9-1.4-0.9s-0.9 0.2-1.1 0.7c-0.3 0.4-0.4 1.1-0.4 1.9 0 0.6 0.1 1.2 0.3 1.6 0.3 0.3 0.6 0.5 1 0.5 0.6 0 1.2-0.4 1.6-1.2zm3.3 4.4 0.1-1c0.7 0.3 1.3 0.5 1.8 0.5 1.1 0 1.7-0.6 1.7-1.8v-1.2c-0.4 0.9-1 1.4-1.9 1.4-0.6 0-1.2-0.3-1.6-0.9-0.4-0.5-0.6-1.3-0.6-2.3s0.3-1.8 0.7-2.5c0.5-0.6 1.1-1 1.8-1 0.6 0 1.1 0.3 1.7 0.9v-0.7h1v5.2c0 0.8-0.1 1.4-0.2 1.9-0.1 0.4-0.3 0.8-0.5 1.1-0.5 0.5-1.2 0.8-2.1 0.8-0.6 0-1.2-0.1-1.9-0.4zm3.6-4.4v-2.6c-0.5-0.6-1-0.9-1.5-0.9-0.4 0-0.8 0.2-1 0.7-0.3 0.4-0.4 1.1-0.4 1.9 0 0.6 0.1 1.2 0.3 1.6 0.2 0.3 0.5 0.5 1 0.5 0.6 0 1.1-0.4 1.6-1.2zm8.1 2c-0.8 0.3-1.4 0.4-2.1 0.4-1 0-1.7-0.3-2.3-0.8-0.5-0.6-0.8-1.4-0.8-2.5 0-1 0.3-1.8 0.8-2.5 0.5-0.6 1.2-1 2-1s1.4 0.3 1.7 0.8c0.4 0.6 0.6 1.4 0.6 2.5v0.4h-4c0.1 1.5 0.8 2.2 2.2 2.2 0.5 0 1.2-0.1 1.9-0.4zm-4-3.6h2.8v-0.1c0-1.2-0.4-1.8-1.3-1.8-0.4 0-0.8 0.2-1.1 0.5-0.2 0.4-0.4 0.8-0.4 1.4zm8.9 3.9v-1.3c-0.5 1-1.2 1.4-1.9 1.4s-1.2-0.3-1.6-0.8c-0.4-0.6-0.6-1.4-0.6-2.4s0.3-1.9 0.7-2.6c0.5-0.6 1.1-1 1.8-1 0.6 0 1.2 0.3 1.6 0.9v-3.7h1v9.5zm0-4.9c-0.5-0.6-1-0.9-1.5-0.9-0.4 0-0.8 0.2-1 0.7-0.3 0.5-0.4 1.1-0.4 1.9 0 1.5 0.4 2.3 1.2 2.3 0.6 0 1.2-0.4 1.7-1.2z" class="g7_1"/>
<path style="fill:#7030a0" d="m797.9 333.2-0.3-3.3h1.3l-0.2 3.3zm2.6 0-0.2-3.3h1.3l-0.3 3.3z" class="g7_1"/>
<path d="m805 334v-2h2v2zm0 5v-2h2v2z" class="g2_1"/>
<path style="fill:#ea700d" d="m817.8 333.2-0.3-3.3h1.3l-0.2 3.3zm2.6 0-0.3-3.3h1.4l-0.3 3.3z" class="g6_1"/>
<path style="fill:#ea700d" d="m828.7 339.4c-0.5 0.1-1 0.1-1.5 0.1-0.9 0-1.5-0.2-1.8-0.5-0.3-0.4-0.4-1-0.4-2v-3.1h-1.5v-0.9h1.5v-1.4h1v1.4h2.6v0.9h-2.6v3.3c0 0.4 0 0.7 0.1 0.8 0 0.1 0.1 0.3 0.2 0.4 0.3 0.1 0.6 0.2 1.1 0.2 0.4 0 0.9 0 1.3-0.1zm2.6 0v-6.5h1.1v1.2c0.5-0.9 1.2-1.4 2.2-1.4 0.3 0 0.6 0.1 1 0.2v1.8h-0.8v-0.9h-0.4c-0.4 0-0.8 0.1-1.1 0.3s-0.6 0.5-0.9 1v4.3zm10.1-6.5v6.5h-1v-1.3c-0.5 1-1.2 1.4-2 1.4-1.1 0-1.7-0.7-1.7-2.2v-4.4h1.1v4.1c0 0.5 0.1 0.9 0.2 1.1s0.4 0.3 0.7 0.3c0.5 0 1.1-0.4 1.7-1.3v-4.2zm7.2 6.2c-0.8 0.3-1.4 0.4-2.1 0.4-1 0-1.7-0.3-2.3-0.8-0.5-0.6-0.8-1.4-0.8-2.5 0-1 0.3-1.8 0.8-2.5 0.5-0.6 1.2-1 2-1s1.4 0.3 1.7 0.8c0.4 0.6 0.6 1.4 0.6 2.5v0.4h-4c0.1 1.5 0.8 2.2 2.2 2.2 0.5 0 1.2-0.1 1.9-0.4zm-4-3.6h2.8v-0.1c0-1.2-0.4-1.8-1.3-1.8-0.4 0-0.8 0.2-1.1 0.5-0.2 0.4-0.4 0.8-0.4 1.4z" class="g6_1"/>
<path style="fill:#ea700d" d="m850.9 333.2-0.3-3.3h1.4l-0.3 3.3zm2.7 0-0.3-3.3h1.3l-0.2 3.3z" class="g6_1"/>
<path d="m724.5 361.9v-0.9h0.4c0.6 0 0.9 0 1.2-0.2 0.2-0.1 0.3-0.4 0.3-0.7 0-0.2 0-0.4-0.1-0.6l-0.1-0.8c0-0.3-0.1-0.5-0.1-0.7 0-0.9 0.4-1.4 1.1-1.7-0.7-0.2-1.1-0.8-1.1-1.7 0-0.1 0.1-0.4 0.1-0.6l0.1-0.9c0.1-0.2 0.1-0.4 0.1-0.5 0-0.4-0.1-0.6-0.4-0.8-0.2-0.1-0.5-0.2-1.1-0.2h-0.4v-0.9h0.6c0.7 0 1.3 0.2 1.7 0.5s0.5 0.7 0.5 1.2v0.8l-0.2 1.1v0.5c0 0.7 0.4 1.1 1.2 1.1h0.5v0.9h-0.5c-0.8 0-1.2 0.3-1.2 1.1v0.4l0.2 1.1v0.8c0 1.1-0.7 1.7-2.2 1.7zm8.3 0.2v-0.6c0.3-0.1 0.6-0.4 0.6-1.1v-0.3h-0.6v-1.7h1.6v1c0 1.7-0.6 2.6-1.6 2.7z" class="g2_1"/>
<path style="fill:#7030a0" d="m725 374.7-0.3-3.2h1.3l-0.2 3.2zm2.6 0-0.2-3.2h1.3l-0.3 3.2z" class="g7_1"/>
<path style="fill:#7030a0" d="m735.9 380.7c-0.7 0.2-1.4 0.4-2 0.4-1 0-1.8-0.3-2.3-0.9-0.6-0.6-0.8-1.4-0.8-2.4s0.2-1.9 0.7-2.5c0.6-0.7 1.2-1 2-1s1.4 0.3 1.8 0.8 0.6 1.4 0.6 2.5v0.4h-4c0.1 1.5 0.8 2.2 2.1 2.2 0.6 0 1.2-0.2 1.9-0.5zm-4-3.6h2.8v-0.2c0-1.1-0.4-1.7-1.3-1.7-0.4 0-0.7 0.1-1 0.5-0.3 0.3-0.4 0.8-0.5 1.4zm8.2 3.8v-8.5h-2.3v-0.9h3.3v9.4zm8.8-0.2c-0.7 0.2-1.4 0.4-2 0.4-1 0-1.8-0.3-2.3-0.9-0.6-0.6-0.8-1.4-0.8-2.4s0.2-1.9 0.7-2.5c0.6-0.7 1.2-1 2-1s1.4 0.3 1.8 0.8 0.6 1.4 0.6 2.5v0.4h-4c0.1 1.5 0.8 2.2 2.1 2.2 0.6 0 1.2-0.2 1.9-0.5zm-4-3.6h2.8v-0.2c0-1.1-0.4-1.7-1.3-1.7-0.4 0-0.8 0.1-1 0.5-0.3 0.3-0.4 0.8-0.5 1.4zm5.5 3.8v-6.5h0.9v1.3c0.5-1 0.9-1.4 1.3-1.4 0.5 0 0.9 0.4 1 1.4h0.1c0.3-1 0.8-1.4 1.3-1.4 0.3 0 0.6 0.1 0.8 0.4 0.1 0.3 0.2 0.8 0.2 1.5v4.7h-0.9v-4.7c0-0.3-0.1-0.6-0.1-0.7s-0.1-0.2-0.3-0.2c-0.3 0-0.7 0.5-1 1.4v4.2h-1v-4.5c0-0.4 0-0.7-0.1-0.9 0-0.1-0.1-0.2-0.2-0.2-0.2 0-0.3 0.2-0.6 0.4-0.2 0.3-0.3 0.6-0.5 1.1v4.1zm12.2-0.2c-0.7 0.2-1.4 0.4-2 0.4-1 0-1.8-0.3-2.3-0.9s-0.8-1.4-0.8-2.4 0.3-1.9 0.8-2.5c0.5-0.7 1.2-1 2-1s1.4 0.3 1.7 0.8c0.4 0.5 0.6 1.4 0.6 2.5v0.4h-4c0.1 1.5 0.8 2.2 2.2 2.2 0.5 0 1.2-0.2 1.8-0.5zm-3.9-3.6h2.8v-0.2c0-1.1-0.5-1.7-1.3-1.7-0.5 0-0.8 0.1-1.1 0.5-0.2 0.3-0.4 0.8-0.4 1.4zm5.1 3.8v-6.5h1.1v1.3c0.5-1 1.1-1.4 2-1.4 1.1 0 1.6 0.7 1.6 2.2v4.4h-1v-4.1c0-0.5-0.1-0.9-0.2-1.1-0.2-0.2-0.4-0.3-0.7-0.3-0.6 0-1.1 0.4-1.7 1.3v4.2zm11.9 0c-0.6 0.1-1.1 0.2-1.6 0.2-0.8 0-1.4-0.2-1.7-0.5-0.4-0.4-0.5-1-0.5-2v-3.1h-1.5v-0.9h1.5v-1.4h1v1.4h2.6v0.9h-2.6v3.3c0 0.4 0.1 0.6 0.1 0.8 0 0.1 0.1 0.2 0.3 0.3 0.2 0.2 0.6 0.3 1 0.3 0.5 0 0.9-0.1 1.4-0.2zm1.9-0.2v-1.1c0.8 0.4 1.5 0.6 2.1 0.6 0.5 0 0.8-0.1 1.1-0.3s0.4-0.4 0.4-0.7c0-0.4-0.3-0.7-1-1l-1.1-0.4c-0.9-0.3-1.3-0.9-1.3-1.6 0-0.6 0.2-1.1 0.6-1.4s0.9-0.5 1.7-0.5c0.5 0 1.1 0.1 1.9 0.3v0.9c-0.7-0.2-1.4-0.3-1.9-0.3-0.4 0-0.7 0.1-1 0.2-0.2 0.2-0.3 0.4-0.3 0.6 0 0.4 0.2 0.6 0.8 0.8l1.3 0.5c0.5 0.2 0.8 0.5 1 0.7 0.3 0.3 0.4 0.6 0.4 1.1 0 0.6-0.3 1.1-0.7 1.4-0.5 0.4-1.1 0.6-1.8 0.6s-1.4-0.2-2.2-0.4z" class="g7_1"/>
<path style="fill:#7030a0" d="m784.6 374.7-0.2-3.2h1.3l-0.3 3.2zm2.7 0-0.3-3.2h1.3l-0.2 3.2z" class="g7_1"/>
<path d="m792 376v-2h1v2zm0 4v-1h1v1zm13 2v-11h3v1h-3v9h3v1z" class="g2_1"/>
<path d="m755.4 392.3v0.9h-0.4c-0.6 0-0.9 0-1.2 0.2-0.2 0.1-0.3 0.4-0.3 0.7 0 0.2 0 0.3 0.1 0.6l0.1 0.8v0.7c0 0.9-0.3 1.4-1 1.7 0.7 0.2 1 0.8 1 1.7v0.6l-0.1 0.9c-0.1 0.2-0.1 0.4-0.1 0.5 0 0.4 0.1 0.6 0.3 0.8 0.3 0.1 0.6 0.2 1.2 0.2h0.4v0.9h-0.6c-0.7 0-1.3-0.2-1.7-0.5s-0.6-0.7-0.6-1.3c0-0.2 0.1-0.5 0.1-0.8l0.2-1v-0.5c0-0.7-0.4-1.1-1.2-1.1h-0.5v-0.9h0.5c0.8 0 1.2-0.3 1.2-1.1v-0.4l-0.2-1.1c0-0.3-0.1-0.6-0.1-0.8 0-1.1 0.8-1.7 2.3-1.7z" class="g2_1"/>
<path style="fill:#7030a0" d="m778 416.3-0.3-3.3h1.4l-0.3 3.3zm2.7 0-0.3-3.3h1.3l-0.3 3.3z" class="g7_1"/>
<path style="fill:#7030a0" d="m788.9 422.5c-0.5 0.1-1 0.1-1.5 0.1-0.9 0-1.4-0.1-1.8-0.5-0.3-0.3-0.4-1-0.4-1.9v-3.2h-1.5v-0.8h1.5v-1.5h1v1.5h2.6v0.8h-2.6v3.4c0 0.3 0.1 0.6 0.1 0.7 0 0.2 0.1 0.3 0.3 0.4 0.2 0.2 0.6 0.2 1 0.2 0.5 0 0.9 0 1.3-0.1zm1.8 2.3v-0.9h0.4c0.4 0 0.7 0 0.9-0.2 0.2-0.1 0.4-0.4 0.6-0.9l0.2-0.6-2.4-6.2h1.1l1.9 4.8 1.9-4.8h0.9l-2.9 7.3c-0.2 0.6-0.5 1-0.8 1.2s-0.8 0.3-1.4 0.3zm6.3 0v-8.8h1v1.2c0.6-0.9 1.2-1.4 1.9-1.4s1.2 0.3 1.6 0.9 0.6 1.3 0.6 2.3c0 1.1-0.2 2-0.7 2.6-0.4 0.7-1 1-1.8 1-0.6 0-1.1-0.3-1.6-0.9v3.1zm1-3.9c0.5 0.6 1 0.8 1.5 0.8s0.8-0.2 1.1-0.6c0.2-0.5 0.4-1.1 0.4-2 0-1.5-0.5-2.2-1.3-2.2-0.6 0-1.1 0.4-1.7 1.2zm10.8 1.3c-0.7 0.3-1.4 0.4-2 0.4-1 0-1.8-0.3-2.3-0.8-0.6-0.6-0.8-1.4-0.8-2.5 0-1 0.2-1.8 0.7-2.5 0.5-0.6 1.2-1 2-1s1.4 0.3 1.8 0.9c0.4 0.5 0.5 1.3 0.5 2.5v0.3h-3.9c0 1.5 0.8 2.2 2.1 2.2 0.6 0 1.2-0.1 1.9-0.4zm-4-3.5h2.8v-0.2c0-1.2-0.4-1.8-1.3-1.8-0.4 0-0.8 0.2-1 0.5-0.3 0.4-0.4 0.8-0.5 1.5z" class="g7_1"/>
<path style="fill:#7030a0" d="m811.1 416.3-0.2-3.3h1.3l-0.3 3.3zm2.7 0-0.3-3.3h1.3l-0.2 3.3z" class="g7_1"/>
<path d="m818 417v-2h2v2zm0 5v-2h2v2z" class="g2_1"/>
<path style="fill:#ea700d" d="m831 416.3-0.2-3.3h1.3l-0.3 3.3zm2.7 0-0.3-3.3h1.3l-0.2 3.3z" class="g6_1"/>
<path style="fill:#ea700d" d="m842 422.2c-0.8 0.3-1.5 0.4-2.1 0.4-1 0-1.7-0.3-2.3-0.8-0.5-0.6-0.8-1.4-0.8-2.5 0-1 0.3-1.8 0.8-2.5 0.5-0.6 1.2-1 2-1s1.4 0.3 1.7 0.9c0.4 0.5 0.6 1.3 0.6 2.5v0.3h-4c0.1 1.5 0.8 2.2 2.2 2.2 0.5 0 1.2-0.1 1.9-0.4zm-4-3.5h2.8v-0.2c0-1.2-0.4-1.8-1.3-1.8-0.5 0-0.8 0.2-1.1 0.5-0.2 0.4-0.4 0.8-0.4 1.5zm8.1 3.8v-8.6h-2.2v-0.9h3.3v9.5zm8.8-0.3c-0.7 0.3-1.4 0.4-2 0.4-1 0-1.8-0.3-2.3-0.8-0.5-0.6-0.8-1.4-0.8-2.5 0-1 0.3-1.8 0.8-2.5 0.5-0.6 1.2-1 1.9-1 0.9 0 1.5 0.3 1.8 0.9 0.4 0.5 0.6 1.3 0.6 2.5v0.3h-4c0.1 1.5 0.8 2.2 2.2 2.2 0.5 0 1.2-0.1 1.8-0.4zm-3.9-3.5h2.8v-0.2c0-1.2-0.5-1.8-1.3-1.8-0.5 0-0.8 0.2-1.1 0.5-0.2 0.4-0.4 0.8-0.4 1.5zm5.4 3.8v-6.5h0.9v1.2c0.5-0.9 0.9-1.4 1.3-1.4 0.6 0 0.9 0.5 1.1 1.4 0.4-0.9 0.8-1.4 1.3-1.4 0.4 0 0.6 0.2 0.8 0.5s0.3 0.8 0.3 1.4v4.8h-1v-4.7-0.7c-0.1-0.2-0.2-0.2-0.3-0.2-0.4 0-0.7 0.4-1.1 1.4v4.2h-0.9v-4.5c0-0.5 0-0.7-0.1-0.9 0-0.2-0.1-0.2-0.3-0.2-0.1 0-0.3 0.1-0.5 0.4s-0.4 0.6-0.6 1v4.2zm12.3-0.3c-0.8 0.3-1.4 0.4-2 0.4-1 0-1.8-0.3-2.3-0.8-0.6-0.6-0.9-1.4-0.9-2.5 0-1 0.3-1.8 0.8-2.5 0.5-0.6 1.2-1 2-1s1.4 0.3 1.8 0.9c0.4 0.5 0.6 1.3 0.6 2.5v0.3h-4c0.1 1.5 0.8 2.2 2.1 2.2 0.6 0 1.2-0.1 1.9-0.4zm-4-3.5h2.8v-0.2c0-1.2-0.4-1.8-1.3-1.8-0.4 0-0.8 0.2-1 0.5-0.3 0.4-0.4 0.8-0.5 1.5zm5.2 3.8v-6.5h1v1.2c0.5-0.9 1.2-1.4 2-1.4 1.1 0 1.7 0.8 1.7 2.2v4.5h-1.1v-4.1c0-0.5 0-0.9-0.2-1.1-0.1-0.2-0.4-0.3-0.7-0.3-0.5 0-1.1 0.4-1.7 1.2v4.3zm11.8 0c-0.5 0.1-1 0.1-1.5 0.1-0.9 0-1.5-0.1-1.8-0.5-0.3-0.3-0.5-1-0.5-1.9v-3.2h-1.4v-0.8h1.4v-1.5h1.1v1.5h2.6v0.8h-2.6v3.4c0 0.3 0 0.6 0.1 0.7 0 0.2 0.1 0.3 0.2 0.4 0.3 0.2 0.6 0.2 1.1 0.2 0.4 0 0.9 0 1.3-0.1z" class="g6_1"/>
<path style="fill:#ea700d" d="m884.1 416.3-0.3-3.3h1.3l-0.3 3.3zm2.6 0-0.3-3.3h1.3l-0.2 3.3z" class="g6_1"/>
<path d="m891.6 424.4v-0.6c0.4-0.1 0.6-0.4 0.6-1l0.1-0.3h-0.7v-1.8h1.6v1.1c0 1.7-0.5 2.5-1.6 2.6z" class="g2_1"/>
<path style="fill:#7030a0" d="m778 437.1-0.3-3.3h1.4l-0.3 3.3zm2.7 0-0.3-3.3h1.3l-0.3 3.3z" class="g7_1"/>
<path style="fill:#7030a0" d="m784 443.3v-6.5h1.1v1.2c0.5-0.9 1.1-1.4 2-1.4 1.1 0 1.6 0.8 1.6 2.2v4.5h-1v-4.2c0-0.5-0.1-0.8-0.3-1-0.1-0.3-0.3-0.4-0.7-0.4-0.5 0-1.1 0.5-1.6 1.3v4.3zm10.4-0.8c-0.6 0.6-1.3 0.9-1.9 0.9s-1-0.2-1.3-0.5c-0.4-0.4-0.6-0.8-0.6-1.3 0-0.7 0.3-1.2 0.8-1.6 0.6-0.5 1.3-0.7 2.2-0.7h0.6v-0.5c0-0.5-0.1-0.8-0.2-1-0.2-0.2-0.5-0.3-1-0.3-0.6 0-1.2 0.2-1.9 0.6v-1c0.8-0.3 1.5-0.5 2.2-0.5s1.2 0.2 1.5 0.5 0.5 0.9 0.5 1.7v2.7c0 0.4 0 0.7 0.1 0.8 0.1 0.2 0.2 0.2 0.4 0.2h0.4v0.7c-0.3 0.1-0.6 0.2-0.7 0.2-0.6 0-0.9-0.3-1.1-0.9zm-0.2-0.8v-1.6h-0.3c-1.4 0-2.2 0.4-2.2 1.3 0 0.3 0.1 0.5 0.3 0.7s0.4 0.3 0.8 0.3 0.9-0.2 1.4-0.7zm2.3 1.6v-6.5h0.9v1.2c0.5-0.9 0.9-1.4 1.4-1.4s0.8 0.5 1 1.4c0.4-0.9 0.8-1.4 1.3-1.4 0.4 0 0.6 0.2 0.8 0.5s0.2 0.7 0.2 1.4v4.8h-0.9v-4.7-0.8c-0.1-0.1-0.2-0.2-0.3-0.2-0.3 0-0.7 0.5-1.1 1.5v4.2h-0.9v-4.5c0-0.5-0.1-0.8-0.1-0.9 0-0.2-0.1-0.2-0.3-0.2-0.1 0-0.3 0.1-0.5 0.4-0.2 0.2-0.4 0.6-0.6 1v4.2zm12.3-0.3c-0.7 0.3-1.4 0.4-2 0.4-1 0-1.8-0.3-2.3-0.8-0.6-0.6-0.8-1.5-0.8-2.5s0.2-1.8 0.7-2.5c0.5-0.6 1.2-1 2-1s1.4 0.3 1.8 0.8c0.4 0.6 0.5 1.4 0.5 2.5v0.4h-3.9c0 1.5 0.8 2.2 2.1 2.2 0.6 0 1.2-0.1 1.9-0.4zm-4-3.6h2.8v-0.1c0-1.2-0.4-1.8-1.3-1.8-0.4 0-0.8 0.2-1 0.5-0.3 0.4-0.4 0.8-0.5 1.4z" class="g7_1"/>
<path style="fill:#7030a0" d="m811.1 437.1-0.2-3.3h1.3l-0.3 3.3zm2.7 0-0.3-3.3h1.3l-0.2 3.3z" class="g7_1"/>
<path d="m818 438v-2h2v2zm0 5v-2h2v2z" class="g2_1"/>
<path style="fill:#ea700d" d="m831 437.1-0.2-3.3h1.3l-0.3 3.3zm2.7 0-0.3-3.3h1.3l-0.2 3.3z" class="g6_1"/>
<path style="fill:#ea700d" d="m842 443.3c-0.6 0-1.1 0.1-1.6 0.1-0.8 0-1.4-0.2-1.7-0.5-0.3-0.4-0.5-1-0.5-2v-3.1h-1.4v-0.9h1.4v-1.4h1.1v1.4h2.6v0.9h-2.6v3.3 0.8c0.1 0.1 0.2 0.3 0.3 0.3 0.2 0.2 0.6 0.3 1.1 0.3 0.4 0 0.8 0 1.3-0.1zm4 0v-5.6h-2.1v-0.9h3.1v6.5zm-0.2-8v-1.5h1.4v1.5zm9.2 8c-0.6 0-1.1 0.1-1.6 0.1-0.8 0-1.4-0.2-1.7-0.5-0.3-0.4-0.5-1-0.5-2v-3.1h-1.5v-0.9h1.5v-1.4h1.1v1.4h2.5v0.9h-2.5v3.3 0.8c0 0.1 0.1 0.3 0.3 0.3 0.2 0.2 0.6 0.3 1 0.3 0.5 0 0.9 0 1.4-0.1zm4.1 0v-8.6h-2.3v-0.9h3.4v9.5zm9.6-0.3c-0.8 0.3-1.4 0.4-2 0.4-1 0-1.8-0.3-2.3-0.8-0.6-0.6-0.9-1.5-0.9-2.5s0.3-1.8 0.8-2.5c0.5-0.6 1.2-1 2-1s1.4 0.3 1.8 0.8c0.4 0.6 0.6 1.4 0.6 2.5v0.4h-4c0.1 1.5 0.8 2.2 2.1 2.2 0.6 0 1.2-0.1 1.9-0.4zm-4-3.6h2.8v-0.1c0-1.2-0.4-1.8-1.3-1.8-0.4 0-0.8 0.2-1 0.5-0.3 0.4-0.4 0.8-0.5 1.4z" class="g6_1"/>
<path style="fill:#ea700d" d="m870.8 437.1-0.3-3.3h1.3l-0.2 3.3zm2.6 0-0.2-3.3h1.3l-0.3 3.3z" class="g6_1"/>
<path d="m878.3 445.2v-0.6c0.4-0.1 0.6-0.4 0.7-1.1v-0.2h-0.7v-1.8h1.6v1.1c0 1.6-0.5 2.5-1.6 2.6z" class="g2_1"/>
<path style="fill:#7030a0" d="m778 457.8-0.3-3.2h1.4l-0.3 3.2zm2.7 0-0.3-3.2h1.3l-0.3 3.2z" class="g7_1"/>
<path style="fill:#7030a0" d="m788.9 463.8c-0.7 0.2-1.4 0.4-2 0.4-1 0-1.8-0.3-2.3-0.9s-0.8-1.4-0.8-2.4 0.2-1.9 0.8-2.5c0.5-0.7 1.1-1 1.9-1s1.4 0.3 1.8 0.8 0.6 1.4 0.6 2.5v0.4h-4c0.1 1.5 0.8 2.2 2.2 2.2 0.5 0 1.1-0.2 1.8-0.5zm-4-3.6h2.9v-0.2c0-1.1-0.5-1.7-1.3-1.7-0.5 0-0.8 0.2-1.1 0.5-0.2 0.3-0.4 0.8-0.5 1.4zm8.2 3.8v-8.5h-2.3v-0.9h3.3v9.4zm8.8-0.2c-0.7 0.2-1.4 0.4-2 0.4-1 0-1.8-0.3-2.3-0.9-0.6-0.6-0.8-1.4-0.8-2.4s0.2-1.9 0.7-2.5c0.6-0.7 1.2-1 2-1s1.4 0.3 1.8 0.8 0.6 1.4 0.6 2.5v0.4h-4c0.1 1.5 0.8 2.2 2.1 2.2 0.6 0 1.2-0.2 1.9-0.5zm-4-3.6h2.9v-0.2c0-1.1-0.5-1.7-1.4-1.7-0.4 0-0.7 0.2-1 0.5s-0.4 0.8-0.5 1.4zm5.5 3.8v-6.4h0.9v1.2c0.5-0.9 0.9-1.4 1.3-1.4 0.5 0 0.9 0.5 1 1.4h0.1c0.4-0.9 0.8-1.4 1.3-1.4 0.3 0 0.6 0.2 0.8 0.5 0.1 0.3 0.2 0.7 0.2 1.4v4.7h-0.9v-4.7c0-0.3 0-0.6-0.1-0.7 0-0.1-0.1-0.2-0.2-0.2-0.4 0-0.7 0.5-1.1 1.4v4.2h-0.9v-4.4c0-0.5-0.1-0.8-0.1-0.9-0.1-0.2-0.2-0.3-0.3-0.3-0.2 0-0.3 0.2-0.5 0.4-0.2 0.3-0.4 0.6-0.6 1.1v4.1zm12.3-0.2c-0.8 0.2-1.4 0.4-2 0.4-1.1 0-1.8-0.3-2.4-0.9-0.5-0.6-0.8-1.4-0.8-2.4s0.3-1.9 0.8-2.5c0.5-0.7 1.2-1 2-1s1.4 0.3 1.8 0.8c0.3 0.5 0.5 1.4 0.5 2.5v0.4h-4c0.1 1.5 0.8 2.2 2.2 2.2 0.6 0 1.2-0.2 1.9-0.5zm-4-3.6h2.8v-0.2c0-1.1-0.4-1.7-1.3-1.7-0.4 0-0.8 0.2-1 0.5-0.3 0.3-0.5 0.8-0.5 1.4zm5.2 3.8v-6.4h1v1.2c0.5-0.9 1.2-1.4 2-1.4 1.1 0 1.7 0.7 1.7 2.2v4.4h-1.1v-4.1c0-0.5-0.1-0.8-0.2-1.1-0.2-0.2-0.4-0.3-0.7-0.3-0.6 0-1.1 0.4-1.7 1.3v4.2zm11.8 0c-0.6 0.1-1.1 0.2-1.6 0.2-0.8 0-1.4-0.2-1.7-0.5-0.3-0.4-0.5-1-0.5-2v-3.1h-1.4v-0.9h1.4v-1.4h1.1v1.4h2.6v0.9h-2.6v3.3 0.8l0.3 0.3c0.2 0.2 0.6 0.3 1.1 0.3 0.4 0 0.8-0.1 1.3-0.2zm1.9-0.2v-1.1c0.8 0.4 1.6 0.6 2.2 0.6 0.4 0 0.7-0.1 1-0.3s0.4-0.4 0.4-0.7c0-0.4-0.3-0.7-0.9-0.9l-1.2-0.5c-0.9-0.3-1.3-0.8-1.3-1.6 0-0.6 0.2-1.1 0.6-1.4s0.9-0.5 1.7-0.5c0.5 0 1.2 0.1 1.9 0.3v0.9c-0.7-0.2-1.4-0.3-1.9-0.3-0.4 0-0.7 0.1-0.9 0.2-0.3 0.2-0.4 0.4-0.4 0.6 0 0.4 0.3 0.6 0.8 0.8l1.3 0.6c0.5 0.2 0.9 0.4 1.1 0.6 0.2 0.3 0.3 0.7 0.3 1.1 0 0.6-0.2 1.1-0.7 1.4-0.4 0.4-1.1 0.6-1.8 0.6s-1.4-0.2-2.2-0.4z" class="g7_1"/>
<path style="fill:#7030a0" d="m837.7 457.8-0.3-3.2h1.3l-0.3 3.2zm2.6 0-0.3-3.2h1.4l-0.3 3.2z" class="g7_1"/>
<path d="m845 459v-2h1v2zm0 5v-2h1v2zm13 1v-11h3v1h-3v9h3v1z" class="g2_1"/>
<path d="m808.4 475.4v0.9h-0.4c-0.5 0-0.9 0-1.1 0.2-0.3 0.1-0.4 0.4-0.4 0.7 0 0.2 0 0.4 0.1 0.6l0.1 0.8c0 0.3 0.1 0.5 0.1 0.7 0 0.9-0.4 1.4-1.1 1.7 0.7 0.2 1.1 0.8 1.1 1.7 0 0.1-0.1 0.4-0.1 0.6l-0.1 0.9c-0.1 0.2-0.1 0.4-0.1 0.5 0 0.4 0.1 0.6 0.4 0.8 0.2 0.1 0.6 0.2 1.1 0.2h0.4v0.9h-0.6c-0.7 0-1.3-0.2-1.7-0.5-0.3-0.3-0.5-0.7-0.5-1.2v-0.9l0.2-1c0.1-0.2 0.1-0.3 0.1-0.5 0-0.7-0.4-1.1-1.2-1.1h-0.5v-0.9h0.5c0.8 0 1.2-0.3 1.2-1.1 0-0.1 0-0.3-0.1-0.4l-0.2-1.1v-0.8c0-1.1 0.7-1.7 2.2-1.7z" class="g2_1"/>
<path style="fill:#7030a0" d="m831 499.4-0.2-3.2h1.3l-0.3 3.2zm2.7 0-0.3-3.2h1.3l-0.2 3.2z" class="g7_1"/>
<path style="fill:#7030a0" d="m842 505.6c-0.6 0.1-1.1 0.1-1.6 0.1-0.8 0-1.4-0.1-1.7-0.5-0.3-0.3-0.5-1-0.5-1.9v-3.2h-1.4v-0.8h1.4v-1.4h1.1v1.4h2.6v0.8h-2.6v3.4 0.7c0.1 0.2 0.2 0.3 0.3 0.4 0.2 0.2 0.6 0.3 1.1 0.3 0.4 0 0.8-0.1 1.3-0.2zm1.7 2.3v-0.8h0.4c0.4 0 0.7-0.1 0.9-0.3 0.2-0.1 0.4-0.4 0.6-0.9l0.2-0.6-2.4-6.2h1.1l1.9 4.8 1.9-4.8h1l-3 7.3c-0.2 0.6-0.5 1-0.8 1.2s-0.8 0.3-1.4 0.3zm6.3 0v-8.8h1.1v1.2c0.5-0.9 1.1-1.3 1.9-1.3 0.6 0 1.2 0.2 1.5 0.8 0.4 0.6 0.6 1.4 0.6 2.3 0 1.1-0.2 2-0.7 2.6-0.4 0.7-1 1-1.7 1s-1.2-0.3-1.6-0.8v3zm1.1-3.9c0.5 0.6 0.9 0.9 1.4 0.9s0.8-0.3 1.1-0.7c0.2-0.5 0.4-1.1 0.4-1.9 0-1.6-0.4-2.3-1.3-2.3-0.5 0-1.1 0.4-1.6 1.2zm10.7 1.3c-0.7 0.3-1.4 0.4-2 0.4-1 0-1.8-0.3-2.3-0.8-0.6-0.6-0.8-1.4-0.8-2.5 0-1 0.2-1.8 0.8-2.5 0.5-0.6 1.1-0.9 1.9-0.9s1.4 0.2 1.8 0.8c0.4 0.5 0.6 1.3 0.6 2.5v0.4h-4c0.1 1.4 0.8 2.2 2.1 2.2 0.6 0 1.2-0.2 1.9-0.5zm-4-3.5h2.8v-0.2c0-1.2-0.4-1.8-1.3-1.8-0.4 0-0.7 0.2-1 0.5-0.3 0.4-0.4 0.9-0.5 1.5z" class="g7_1"/>
<path style="fill:#7030a0" d="m864.2 499.4-0.3-3.2h1.3l-0.2 3.2zm2.6 0-0.3-3.2h1.4l-0.3 3.2z" class="g7_1"/>
<path d="m871 500v-1h2v1zm0 5v-2h2v2z" class="g2_1"/>
<path style="fill:#ea700d" d="m884.1 499.4-0.3-3.2h1.3l-0.3 3.2zm2.6 0-0.3-3.2h1.3l-0.2 3.2z" class="g6_1"/>
<path style="fill:#ea700d" d="m895 505.6c-0.5 0.1-1 0.1-1.5 0.1-0.9 0-1.5-0.1-1.8-0.5-0.3-0.3-0.5-1-0.5-1.9v-3.2h-1.4v-0.8h1.4v-1.4h1.1v1.4h2.6v0.8h-2.6v3.4 0.7c0.1 0.2 0.2 0.3 0.3 0.4 0.3 0.2 0.6 0.3 1.1 0.3 0.4 0 0.9-0.1 1.3-0.2zm6.8-0.3c-0.7 0.3-1.4 0.4-2 0.4-1 0-1.7-0.3-2.3-0.8-0.5-0.6-0.8-1.4-0.8-2.5 0-1 0.3-1.8 0.8-2.5 0.5-0.6 1.2-0.9 2-0.9s1.4 0.2 1.7 0.8c0.4 0.5 0.6 1.3 0.6 2.5v0.4h-4c0.1 1.4 0.8 2.2 2.2 2.2 0.6 0 1.2-0.2 1.8-0.5zm-3.9-3.5h2.8v-0.2c0-1.2-0.5-1.8-1.3-1.8-0.5 0-0.8 0.2-1.1 0.5-0.2 0.4-0.4 0.9-0.4 1.5zm4.7 3.8 2.1-3.3-2.1-3.2h1.3l1.6 2.4 1.5-2.4h1l-2 3.2 2.3 3.3h-1.4l-1.6-2.5-1.7 2.5zm12.3 0c-0.6 0.1-1.1 0.1-1.6 0.1-0.8 0-1.4-0.1-1.7-0.5-0.4-0.3-0.5-1-0.5-1.9v-3.2h-1.5v-0.8h1.5v-1.4h1v1.4h2.6v0.8h-2.6v3.4c0 0.3 0.1 0.6 0.1 0.7 0.1 0.2 0.1 0.3 0.3 0.4 0.2 0.2 0.6 0.3 1.1 0.3 0.4 0 0.8-0.1 1.3-0.2z" class="g6_1"/>
<path style="fill:#ea700d" d="m917.2 499.4-0.3-3.2h1.3l-0.2 3.2zm2.6 0-0.2-3.2h1.3l-0.3 3.2z" class="g6_1"/>
<path d="m924.7 507.5v-0.6c0.4 0 0.6-0.4 0.7-1v-0.3h-0.7v-1.8h1.6v1.1c0 1.7-0.5 2.5-1.6 2.6z" class="g2_1"/>
<path style="fill:#7030a0" d="m831 520.2-0.2-3.3h1.3l-0.3 3.3zm2.7 0-0.3-3.3h1.3l-0.2 3.3z" class="g7_1"/>
<path style="fill:#7030a0" d="m842 526.4c-0.6 0.1-1.1 0.1-1.6 0.1-0.8 0-1.4-0.2-1.7-0.5-0.3-0.4-0.5-1-0.5-2v-3.1h-1.4v-0.9h1.4v-1.4h1.1v1.4h2.6v0.9h-2.6v3.3 0.8c0.1 0.1 0.2 0.3 0.3 0.4 0.2 0.1 0.6 0.2 1.1 0.2 0.4 0 0.8 0 1.3-0.1zm6.8-0.3c-0.7 0.3-1.4 0.4-2 0.4-1 0-1.8-0.3-2.3-0.8-0.5-0.6-0.8-1.4-0.8-2.5 0-1 0.2-1.8 0.8-2.5 0.5-0.6 1.1-1 1.9-1s1.4 0.3 1.8 0.8c0.4 0.6 0.6 1.4 0.6 2.5v0.4h-4c0.1 1.5 0.8 2.2 2.2 2.2 0.5 0 1.1-0.1 1.8-0.4zm-4-3.6h2.9v-0.1c0-1.2-0.5-1.8-1.4-1.8-0.4 0-0.7 0.2-1 0.5-0.2 0.4-0.4 0.8-0.5 1.4zm4.7 3.9 2.2-3.3-2.1-3.2h1.3l1.6 2.4 1.5-2.4h1l-2 3.2 2.2 3.3h-1.3l-1.7-2.5-1.6 2.5zm12.3 0c-0.5 0.1-1 0.1-1.5 0.1-0.9 0-1.5-0.2-1.8-0.5-0.3-0.4-0.4-1-0.4-2v-3.1h-1.5v-0.9h1.5v-1.4h1v1.4h2.6v0.9h-2.6v3.3c0 0.4 0 0.7 0.1 0.8 0 0.1 0.1 0.3 0.3 0.4s0.5 0.2 1 0.2 0.9 0 1.3-0.1z" class="g7_1"/>
<path style="fill:#7030a0" d="m864.2 520.2-0.3-3.3h1.3l-0.2 3.3zm2.6 0-0.3-3.3h1.4l-0.3 3.3z" class="g7_1"/>
<path d="m871 521v-2h2v2zm0 5v-2h2v2z" class="g2_1"/>
<path style="fill:#ea700d" d="m884.1 520.2-0.3-3.3h1.3l-0.3 3.3zm2.6 0-0.3-3.3h1.3l-0.2 3.3z" class="g6_1"/>
<path style="fill:#ea700d" d="m889.9 526.4v-7.7h1v3.4h2.9v-3.4h1.1v7.7h-1.1v-3.5h-2.9v3.5zm10.5-0.8c-0.6 0.6-1.2 0.9-1.9 0.9-0.5 0-1-0.2-1.3-0.5-0.3-0.4-0.5-0.8-0.5-1.3 0-0.7 0.2-1.2 0.8-1.6 0.5-0.4 1.2-0.6 2.1-0.6h0.7v-0.6c0-0.5-0.1-0.8-0.3-1s-0.5-0.3-0.9-0.3c-0.6 0-1.3 0.2-1.9 0.6v-1c0.7-0.3 1.4-0.5 2.1-0.5s1.3 0.2 1.6 0.5c0.3 0.4 0.4 0.9 0.4 1.7v2.7c0 0.4 0.1 0.7 0.1 0.8 0.1 0.2 0.3 0.2 0.5 0.2h0.3l0.1 0.7c-0.4 0.1-0.6 0.2-0.8 0.2-0.5 0-0.9-0.3-1.1-0.9zm-0.1-0.8v-1.6h-0.3c-1.5 0-2.2 0.4-2.2 1.3 0 0.3 0.1 0.6 0.3 0.7 0.1 0.2 0.4 0.3 0.7 0.3 0.5 0 1-0.2 1.5-0.7zm2.7 3.9v-8.8h1.1v1.2c0.5-0.9 1.1-1.4 1.9-1.4 0.6 0 1.2 0.3 1.6 0.9 0.3 0.6 0.5 1.3 0.5 2.3 0 1.1-0.2 2-0.6 2.6-0.5 0.7-1.1 1-1.8 1-0.6 0-1.2-0.3-1.6-0.9v3.1zm1.1-4c0.5 0.6 1 0.9 1.4 0.9 0.5 0 0.9-0.2 1.1-0.7 0.3-0.4 0.4-1 0.4-1.9 0-1.5-0.4-2.3-1.2-2.3-0.6 0-1.2 0.5-1.7 1.3zm5.8 4v-8.8h1.1v1.2c0.5-0.9 1.1-1.4 1.9-1.4 0.6 0 1.2 0.3 1.5 0.9 0.4 0.6 0.6 1.3 0.6 2.3 0 1.1-0.2 2-0.7 2.6-0.4 0.7-1 1-1.7 1s-1.2-0.3-1.6-0.9v3.1zm1.1-4c0.4 0.6 0.9 0.9 1.4 0.9s0.8-0.2 1.1-0.7c0.3-0.4 0.4-1 0.4-1.9 0-1.5-0.4-2.3-1.3-2.3-0.5 0-1.1 0.5-1.6 1.3zm5.6 4v-0.9h0.4c0.4 0 0.7 0 0.9-0.2 0.2-0.1 0.4-0.4 0.6-0.9l0.2-0.6-2.4-6.2h1.1l1.9 4.8 1.9-4.8h1l-3 7.3c-0.2 0.6-0.5 1-0.8 1.2s-0.8 0.3-1.4 0.3z" class="g6_1"/>
<path style="fill:#ea700d" d="m923.8 520.2-0.3-3.3h1.4l-0.3 3.3zm2.7 0-0.3-3.3h1.3l-0.2 3.3z" class="g6_1"/>
<path d="m804 548.9v-0.9h0.5c0.5 0 0.9 0 1.1-0.2 0.2-0.1 0.3-0.4 0.3-0.7v-0.6l-0.2-0.8v-0.7c0-0.9 0.3-1.4 1-1.7-0.7-0.2-1-0.8-1-1.7v-0.6l0.2-0.9v-0.5c0-0.4-0.1-0.6-0.3-0.8-0.2-0.1-0.6-0.2-1.1-0.2h-0.5v-0.9h0.6c0.8 0 1.3 0.2 1.7 0.5s0.6 0.7 0.6 1.2c0 0.3 0 0.5-0.1 0.8l-0.2 1.1v0.5c0 0.7 0.4 1.1 1.2 1.1h0.5v0.9h-0.5c-0.8 0-1.2 0.3-1.2 1.1v0.4l0.2 1.1c0.1 0.3 0.1 0.5 0.1 0.8 0 1.1-0.8 1.7-2.3 1.7z" class="g2_1"/>
<path d="m780 558v11h-3v-1h2v-9h-2v-1z" class="g2_1"/>
<path d="m751 590.5v-0.9h0.4c0.6 0 1-0.1 1.2-0.2 0.2-0.2 0.3-0.4 0.3-0.8 0-0.1 0-0.3-0.1-0.5l-0.1-0.9v-0.7c0-0.8 0.3-1.4 1-1.6-0.7-0.3-1-0.8-1-1.7v-0.7l0.1-0.8c0.1-0.3 0.1-0.4 0.1-0.6 0-0.3-0.1-0.6-0.3-0.7-0.3-0.2-0.6-0.2-1.2-0.2h-0.4v-0.9h0.6c0.7 0 1.3 0.1 1.7 0.4s0.6 0.7 0.6 1.3c0 0.2-0.1 0.5-0.1 0.8l-0.2 1.1v0.4c0 0.8 0.4 1.1 1.2 1.1h0.5v0.9h-0.5c-0.8 0-1.2 0.4-1.2 1.1v0.5l0.2 1c0 0.3 0.1 0.6 0.1 0.8 0 1.2-0.8 1.8-2.3 1.8zm8.3 0.1v-0.6c0.4 0 0.6-0.4 0.6-1v-0.3h-0.6v-1.8h1.6v1.1c0 1.7-0.6 2.5-1.6 2.6z" class="g2_1"/>
<path d="m755.4 600.1v0.8h-0.4c-0.6 0-0.9 0.1-1.2 0.3-0.2 0.1-0.3 0.3-0.3 0.7 0 0.1 0 0.3 0.1 0.6l0.1 0.8v0.7c0 0.8-0.3 1.4-1 1.6 0.7 0.3 1 0.9 1 1.7v0.7l-0.1 0.8c-0.1 0.3-0.1 0.5-0.1 0.6 0 0.4 0.1 0.6 0.3 0.7 0.3 0.2 0.6 0.3 1.2 0.3h0.4v0.8h-0.6c-0.7 0-1.3-0.1-1.7-0.4s-0.6-0.7-0.6-1.3c0-0.2 0.1-0.5 0.1-0.8l0.2-1v-0.5c0-0.7-0.4-1.1-1.2-1.1h-0.5v-0.9h0.5c0.8 0 1.2-0.4 1.2-1.1v-0.5l-0.2-1c0-0.3-0.1-0.6-0.1-0.8 0-1.2 0.8-1.7 2.3-1.7z" class="g2_1"/>
<path style="fill:#7030a0" d="m778 624.1-0.3-3.3h1.4l-0.3 3.3zm2.7 0-0.3-3.3h1.3l-0.3 3.3z" class="g7_1"/>
<path style="fill:#7030a0" d="m788.9 630.3c-0.5 0-1 0.1-1.5 0.1-0.9 0-1.4-0.2-1.8-0.5-0.3-0.4-0.4-1-0.4-2v-3.1h-1.5v-0.9h1.5v-1.4h1v1.4h2.6v0.9h-2.6v3.3c0 0.4 0.1 0.6 0.1 0.8 0 0.1 0.1 0.3 0.3 0.3 0.2 0.2 0.6 0.3 1 0.3 0.5 0 0.9 0 1.3-0.1zm1.8 2.3v-0.9h0.4c0.4 0 0.7 0 0.9-0.2 0.2-0.1 0.4-0.4 0.6-0.9l0.2-0.6-2.4-6.2h1.1l1.9 4.8 1.9-4.8h0.9l-2.9 7.3c-0.2 0.6-0.5 0.9-0.8 1.2-0.3 0.2-0.8 0.3-1.4 0.3zm6.3 0v-8.8h1v1.2c0.6-0.9 1.2-1.4 1.9-1.4s1.2 0.3 1.6 0.9c0.4 0.5 0.6 1.3 0.6 2.3 0 1.1-0.2 1.9-0.7 2.6-0.4 0.7-1 1-1.8 1-0.6 0-1.1-0.3-1.6-0.9v3.1zm1-4c0.5 0.6 1 0.9 1.5 0.9s0.8-0.2 1.1-0.7c0.2-0.4 0.4-1.1 0.4-1.9 0-1.5-0.5-2.3-1.3-2.3-0.6 0-1.1 0.4-1.7 1.3zm10.8 1.4c-0.7 0.3-1.4 0.4-2 0.4-1 0-1.8-0.3-2.3-0.9-0.6-0.5-0.8-1.4-0.8-2.4s0.2-1.8 0.7-2.5c0.5-0.6 1.2-1 2-1s1.4 0.3 1.8 0.8c0.4 0.6 0.5 1.4 0.5 2.5v0.4h-3.9c0 1.5 0.8 2.2 2.1 2.2 0.6 0 1.2-0.1 1.9-0.4zm-4-3.6h2.8v-0.1c0-1.2-0.4-1.8-1.3-1.8-0.4 0-0.8 0.2-1 0.5-0.3 0.4-0.4 0.8-0.5 1.4z" class="g7_1"/>
<path style="fill:#7030a0" d="m811.1 624.1-0.2-3.3h1.3l-0.3 3.3zm2.7 0-0.3-3.3h1.3l-0.2 3.3z" class="g7_1"/>
<path d="m818 625v-2h2v2zm0 5v-2h2v2z" class="g2_1"/>
<path style="fill:#ea700d" d="m831 624.1-0.2-3.3h1.3l-0.3 3.3zm2.7 0-0.3-3.3h1.3l-0.2 3.3z" class="g6_1"/>
<path style="fill:#ea700d" d="m842 630c-0.8 0.3-1.5 0.4-2.1 0.4-1 0-1.7-0.3-2.3-0.9-0.5-0.5-0.8-1.4-0.8-2.4s0.3-1.8 0.8-2.5c0.5-0.6 1.2-1 2-1s1.4 0.3 1.7 0.8c0.4 0.6 0.6 1.4 0.6 2.5v0.4h-4c0.1 1.5 0.8 2.2 2.2 2.2 0.5 0 1.2-0.1 1.9-0.4zm-4-3.6h2.8v-0.1c0-1.2-0.4-1.8-1.3-1.8-0.5 0-0.8 0.2-1.1 0.5-0.2 0.4-0.4 0.8-0.4 1.4zm8.1 3.9v-8.6h-2.2v-0.9h3.3v9.5zm8.8-0.3c-0.7 0.3-1.4 0.4-2 0.4-1 0-1.8-0.3-2.3-0.9-0.5-0.5-0.8-1.4-0.8-2.4s0.3-1.8 0.8-2.5c0.5-0.6 1.2-1 1.9-1 0.9 0 1.5 0.3 1.8 0.8 0.4 0.6 0.6 1.4 0.6 2.5v0.4h-4c0.1 1.5 0.8 2.2 2.2 2.2 0.5 0 1.2-0.1 1.8-0.4zm-3.9-3.6h2.8v-0.1c0-1.2-0.5-1.8-1.3-1.8-0.5 0-0.8 0.2-1.1 0.5-0.2 0.4-0.4 0.8-0.4 1.4zm5.4 3.9v-6.5h0.9v1.2c0.5-0.9 0.9-1.4 1.3-1.4 0.6 0 0.9 0.5 1.1 1.4 0.4-0.9 0.8-1.4 1.3-1.4 0.4 0 0.6 0.2 0.8 0.5s0.3 0.7 0.3 1.4v4.8h-1v-4.7-0.8c-0.1-0.1-0.2-0.2-0.3-0.2-0.4 0-0.7 0.5-1.1 1.5v4.2h-0.9v-4.5c0-0.5 0-0.8-0.1-0.9 0-0.2-0.1-0.2-0.3-0.2-0.1 0-0.3 0.1-0.5 0.4-0.2 0.2-0.4 0.6-0.6 1v4.2zm12.3-0.3c-0.8 0.3-1.4 0.4-2 0.4-1 0-1.8-0.3-2.3-0.9-0.6-0.5-0.9-1.4-0.9-2.4s0.3-1.8 0.8-2.5c0.5-0.6 1.2-1 2-1s1.4 0.3 1.8 0.8c0.4 0.6 0.6 1.4 0.6 2.5v0.4h-4c0.1 1.5 0.8 2.2 2.1 2.2 0.6 0 1.2-0.1 1.9-0.4zm-4-3.6h2.8v-0.1c0-1.2-0.4-1.8-1.3-1.8-0.4 0-0.8 0.2-1 0.5-0.3 0.4-0.4 0.8-0.5 1.4zm5.2 3.9v-6.5h1v1.2c0.5-0.9 1.2-1.4 2-1.4 1.1 0 1.7 0.8 1.7 2.2v4.5h-1.1v-4.2c0-0.5 0-0.8-0.2-1-0.1-0.3-0.4-0.4-0.7-0.4-0.5 0-1.1 0.5-1.7 1.3v4.3zm11.8 0c-0.5 0-1 0.1-1.5 0.1-0.9 0-1.5-0.2-1.8-0.5-0.3-0.4-0.5-1-0.5-2v-3.1h-1.4v-0.9h1.4v-1.4h1.1v1.4h2.6v0.9h-2.6v3.3c0 0.4 0 0.6 0.1 0.8 0 0.1 0.1 0.3 0.2 0.3 0.3 0.2 0.6 0.3 1.1 0.3 0.4 0 0.9 0 1.3-0.1z" class="g6_1"/>
<path style="fill:#ea700d" d="m884.1 624.1-0.3-3.3h1.3l-0.3 3.3zm2.6 0-0.3-3.3h1.3l-0.2 3.3z" class="g6_1"/>
<path d="m891.6 632.2v-0.6c0.4-0.1 0.6-0.4 0.6-1.1l0.1-0.2h-0.7v-1.8h1.6v1.1c0 1.6-0.5 2.5-1.6 2.6z" class="g2_1"/>
<path style="fill:#7030a0" d="m778 644.8-0.3-3.2h1.4l-0.3 3.2zm2.7 0-0.3-3.2h1.3l-0.3 3.2z" class="g7_1"/>
<path style="fill:#7030a0" d="m784 651v-6.4h1.1v1.2c0.5-0.9 1.1-1.4 2-1.4 1.1 0 1.6 0.7 1.6 2.2v4.4h-1v-4.1c0-0.5-0.1-0.8-0.3-1.1-0.1-0.2-0.3-0.3-0.7-0.3-0.5 0-1.1 0.4-1.6 1.3v4.2zm10.4-0.7c-0.6 0.5-1.3 0.8-1.9 0.8s-1-0.1-1.3-0.5c-0.4-0.3-0.6-0.7-0.6-1.2 0-0.7 0.3-1.3 0.8-1.7 0.6-0.4 1.3-0.6 2.2-0.6h0.6v-0.5c0-0.5-0.1-0.8-0.2-1-0.2-0.2-0.5-0.3-1-0.3-0.6 0-1.2 0.2-1.9 0.6v-1c0.8-0.3 1.5-0.5 2.2-0.5s1.2 0.2 1.5 0.5 0.5 0.9 0.5 1.7v2.7c0 0.4 0 0.7 0.1 0.8s0.2 0.2 0.4 0.2h0.4v0.7c-0.3 0.1-0.6 0.1-0.7 0.1-0.6 0-0.9-0.3-1.1-0.8zm-0.2-0.8v-1.6h-0.3c-1.4 0-2.2 0.4-2.2 1.3 0 0.3 0.1 0.5 0.3 0.7s0.4 0.3 0.8 0.3 0.9-0.2 1.4-0.7zm2.3 1.5v-6.4h0.9v1.2c0.5-0.9 0.9-1.4 1.4-1.4s0.8 0.5 1 1.4c0.4-0.9 0.8-1.4 1.3-1.4 0.4 0 0.6 0.2 0.8 0.4 0.2 0.4 0.2 0.8 0.2 1.5v4.7h-0.9v-4.7-0.7c-0.1-0.1-0.2-0.2-0.3-0.2-0.3 0-0.7 0.5-1.1 1.4v4.2h-0.9v-4.4c0-0.5-0.1-0.8-0.1-0.9 0-0.2-0.1-0.3-0.3-0.3-0.1 0-0.3 0.2-0.5 0.4-0.2 0.3-0.4 0.6-0.6 1.1v4.1zm12.3-0.2c-0.7 0.2-1.4 0.4-2 0.4-1 0-1.8-0.3-2.3-0.9-0.6-0.6-0.8-1.4-0.8-2.4s0.2-1.9 0.7-2.5c0.5-0.7 1.2-1 2-1s1.4 0.3 1.8 0.8 0.5 1.4 0.5 2.5v0.4h-3.9c0 1.5 0.8 2.2 2.1 2.2 0.6 0 1.2-0.2 1.9-0.5zm-4-3.6h2.8v-0.2c0-1.1-0.4-1.7-1.3-1.7-0.4 0-0.8 0.2-1 0.5-0.3 0.3-0.4 0.8-0.5 1.4z" class="g7_1"/>
<path style="fill:#7030a0" d="m811.1 644.8-0.2-3.2h1.3l-0.3 3.2zm2.7 0-0.3-3.2h1.3l-0.2 3.2z" class="g7_1"/>
<path d="m818 646v-2h2v2zm0 5v-2h2v2z" class="g2_1"/>
<path style="fill:#ea700d" d="m831 644.8-0.2-3.2h1.3l-0.3 3.2zm2.7 0-0.3-3.2h1.3l-0.2 3.2z" class="g6_1"/>
<path style="fill:#ea700d" d="m842 651c-0.6 0.1-1.1 0.2-1.6 0.2-0.8 0-1.4-0.2-1.7-0.5-0.3-0.4-0.5-1-0.5-2v-3.1h-1.4v-0.9h1.4v-1.4h1.1v1.4h2.6v0.9h-2.6v3.3 0.8l0.3 0.3c0.2 0.2 0.6 0.3 1.1 0.3 0.4 0 0.8-0.1 1.3-0.2zm4.2 0.2c-0.8 0-1.5-0.3-2-0.9s-0.7-1.5-0.7-2.5c0-1.1 0.2-1.9 0.7-2.5s1.2-0.9 2-0.9c0.9 0 1.6 0.3 2.1 0.9 0.4 0.6 0.7 1.4 0.7 2.5 0 1-0.3 1.9-0.7 2.5-0.5 0.6-1.2 0.9-2.1 0.9zm0-0.9c0.6 0 1-0.2 1.2-0.7 0.3-0.4 0.5-1 0.5-1.8s-0.2-1.4-0.5-1.8c-0.2-0.5-0.6-0.7-1.2-0.7-0.5 0-0.9 0.2-1.2 0.7-0.2 0.4-0.4 1-0.4 1.8s0.2 1.4 0.4 1.8c0.3 0.5 0.7 0.7 1.2 0.7zm7.6 0.7v-1.2c-0.6 0.9-1.2 1.4-1.9 1.4s-1.2-0.3-1.6-0.9c-0.4-0.5-0.6-1.3-0.6-2.3 0-1.1 0.3-1.9 0.7-2.6 0.5-0.7 1-1 1.8-1 0.6 0 1.1 0.3 1.6 0.9v-3.7h1v9.4zm0-4.8c-0.5-0.6-1-0.9-1.5-0.9s-0.8 0.2-1.1 0.7c-0.2 0.4-0.3 1.1-0.3 1.9 0 1.5 0.4 2.3 1.2 2.3 0.6 0 1.1-0.4 1.7-1.3zm5.4 5c-0.8 0-1.5-0.3-2-0.9s-0.7-1.5-0.7-2.5c0-1.1 0.2-1.9 0.7-2.5s1.2-0.9 2-0.9c0.9 0 1.6 0.3 2 0.9 0.5 0.6 0.8 1.4 0.8 2.5 0 1-0.3 1.9-0.8 2.5-0.4 0.6-1.1 0.9-2 0.9zm0-0.9c0.5 0 0.9-0.2 1.2-0.7 0.3-0.4 0.5-1 0.5-1.8s-0.2-1.4-0.5-1.8c-0.3-0.5-0.7-0.7-1.2-0.7s-0.9 0.2-1.2 0.7c-0.2 0.4-0.4 1-0.4 1.8s0.2 1.4 0.4 1.8c0.3 0.5 0.7 0.7 1.2 0.7z" class="g6_1"/>
<path style="fill:#ea700d" d="m864.2 644.8-0.3-3.2h1.3l-0.2 3.2zm2.6 0-0.3-3.2h1.4l-0.3 3.2z" class="g6_1"/>
<path d="m871.7 652.9v-0.5c0.4-0.1 0.6-0.5 0.6-1.1l0.1-0.3h-0.7v-1.7h1.6v1c0 1.7-0.5 2.6-1.6 2.6z" class="g2_1"/>
<path style="fill:#7030a0" d="m778 665.6-0.3-3.2h1.4l-0.3 3.2zm2.7 0-0.3-3.2h1.3l-0.3 3.2z" class="g7_1"/>
<path style="fill:#7030a0" d="m788.9 671.6c-0.7 0.2-1.4 0.4-2 0.4-1 0-1.8-0.3-2.3-0.9s-0.8-1.4-0.8-2.5c0-1 0.2-1.8 0.8-2.4 0.5-0.7 1.1-1 1.9-1s1.4 0.3 1.8 0.8 0.6 1.4 0.6 2.5v0.4h-4c0.1 1.4 0.8 2.2 2.2 2.2 0.5 0 1.1-0.2 1.8-0.5zm-4-3.6h2.9v-0.2c0-1.2-0.5-1.7-1.3-1.7-0.5 0-0.8 0.1-1.1 0.5-0.2 0.3-0.4 0.8-0.5 1.4zm8.2 3.8v-8.5h-2.3v-0.9h3.3v9.4zm8.8-0.2c-0.7 0.2-1.4 0.4-2 0.4-1 0-1.8-0.3-2.3-0.9-0.6-0.6-0.8-1.4-0.8-2.5 0-1 0.2-1.8 0.7-2.4 0.6-0.7 1.2-1 2-1s1.4 0.3 1.8 0.8 0.6 1.4 0.6 2.5v0.4h-4c0.1 1.4 0.8 2.2 2.1 2.2 0.6 0 1.2-0.2 1.9-0.5zm-4-3.6h2.9v-0.2c0-1.2-0.5-1.7-1.4-1.7-0.4 0-0.7 0.1-1 0.5-0.3 0.3-0.4 0.8-0.5 1.4zm5.5 3.8v-6.5h0.9v1.2c0.5-0.9 0.9-1.3 1.3-1.3 0.5 0 0.9 0.4 1 1.3h0.1c0.4-0.9 0.8-1.3 1.3-1.3 0.3 0 0.6 0.1 0.8 0.4 0.1 0.3 0.2 0.8 0.2 1.5v4.7h-0.9v-4.7c0-0.3 0-0.6-0.1-0.7 0-0.1-0.1-0.2-0.2-0.2-0.4 0-0.7 0.5-1.1 1.4v4.2h-0.9v-4.5c0-0.4-0.1-0.7-0.1-0.9-0.1-0.1-0.2-0.2-0.3-0.2-0.2 0-0.3 0.1-0.5 0.4s-0.4 0.6-0.6 1v4.2zm12.3-0.2c-0.8 0.2-1.4 0.4-2 0.4-1.1 0-1.8-0.3-2.4-0.9-0.5-0.6-0.8-1.4-0.8-2.5 0-1 0.3-1.8 0.8-2.4 0.5-0.7 1.2-1 2-1s1.4 0.3 1.8 0.8c0.3 0.5 0.5 1.4 0.5 2.5v0.4h-4c0.1 1.4 0.8 2.2 2.2 2.2 0.6 0 1.2-0.2 1.9-0.5zm-4-3.6h2.8v-0.2c0-1.2-0.4-1.7-1.3-1.7-0.4 0-0.8 0.1-1 0.5-0.3 0.3-0.5 0.8-0.5 1.4zm5.2 3.8v-6.5h1v1.2c0.5-0.9 1.2-1.3 2-1.3 1.1 0 1.7 0.7 1.7 2.2v4.4h-1.1v-4.1c0-0.5-0.1-0.9-0.2-1.1-0.2-0.2-0.4-0.3-0.7-0.3-0.6 0-1.1 0.4-1.7 1.3v4.2zm11.8 0c-0.6 0.1-1.1 0.2-1.6 0.2-0.8 0-1.4-0.2-1.7-0.6-0.3-0.3-0.5-0.9-0.5-1.9v-3.1h-1.4v-0.9h1.4v-1.4h1.1v1.4h2.6v0.9h-2.6v3.3 0.8l0.3 0.3c0.2 0.2 0.6 0.3 1.1 0.3 0.4 0 0.8-0.1 1.3-0.2zm1.9-0.2v-1.1c0.8 0.4 1.6 0.6 2.2 0.6 0.4 0 0.7-0.1 1-0.3s0.4-0.5 0.4-0.7c0-0.4-0.3-0.7-0.9-1l-1.2-0.4c-0.9-0.3-1.3-0.9-1.3-1.7 0-0.6 0.2-1 0.6-1.3 0.4-0.4 0.9-0.5 1.7-0.5 0.5 0 1.2 0.1 1.9 0.3v0.9c-0.7-0.2-1.4-0.3-1.9-0.3-0.4 0-0.7 0-0.9 0.2-0.3 0.2-0.4 0.4-0.4 0.6 0 0.4 0.3 0.6 0.8 0.8l1.3 0.5c0.5 0.2 0.9 0.4 1.1 0.7s0.3 0.6 0.3 1c0 0.7-0.2 1.1-0.7 1.5-0.4 0.4-1.1 0.6-1.8 0.6s-1.4-0.2-2.2-0.4z" class="g7_1"/>
<path style="fill:#7030a0" d="m837.7 665.6-0.3-3.2h1.3l-0.3 3.2zm2.6 0-0.3-3.2h1.4l-0.3 3.2z" class="g7_1"/>
<path d="m845 667v-2h1v2zm0 4v-1h1v1zm13 2v-11h3v1h-3v9h3v1z" class="g2_1"/>
<path d="m808.4 683.2v0.8h-0.4c-0.5 0-0.9 0.1-1.1 0.3-0.3 0.1-0.4 0.4-0.4 0.7 0 0.1 0 0.3 0.1 0.6l0.1 0.8c0 0.3 0.1 0.5 0.1 0.7 0 0.8-0.4 1.4-1.1 1.7 0.7 0.2 1.1 0.8 1.1 1.6 0 0.2-0.1 0.4-0.1 0.7l-0.1 0.8c-0.1 0.3-0.1 0.5-0.1 0.6 0 0.4 0.1 0.6 0.4 0.8 0.2 0.1 0.6 0.2 1.1 0.2h0.4v0.9h-0.6c-0.7 0-1.3-0.2-1.7-0.5-0.3-0.3-0.5-0.7-0.5-1.3v-0.8l0.2-1c0.1-0.2 0.1-0.4 0.1-0.5 0-0.7-0.4-1.1-1.2-1.1h-0.5v-0.9h0.5c0.8 0 1.2-0.4 1.2-1.1 0-0.1 0-0.3-0.1-0.4l-0.2-1.1v-0.8c0-1.2 0.7-1.7 2.2-1.7z" class="g2_1"/>
<path style="fill:#7030a0" d="m831 707.2-0.2-3.3h1.3l-0.3 3.3zm2.7 0-0.3-3.3h1.3l-0.2 3.3z" class="g7_1"/>
<path style="fill:#7030a0" d="m842 713.4c-0.6 0.1-1.1 0.1-1.6 0.1-0.8 0-1.4-0.2-1.7-0.5-0.3-0.4-0.5-1-0.5-2v-3.1h-1.4v-0.9h1.4v-1.4h1.1v1.4h2.6v0.9h-2.6v3.3 0.8c0.1 0.1 0.2 0.3 0.3 0.4 0.2 0.1 0.6 0.2 1.1 0.2 0.4 0 0.8 0 1.3-0.1zm1.7 2.3v-0.9h0.4c0.4 0 0.7 0 0.9-0.2 0.2-0.1 0.4-0.4 0.6-0.9l0.2-0.6-2.4-6.2h1.1l1.9 4.8 1.9-4.8h1l-3 7.3c-0.2 0.6-0.5 1-0.8 1.2s-0.8 0.3-1.4 0.3zm6.3 0v-8.8h1.1v1.2c0.5-0.9 1.1-1.4 1.9-1.4 0.6 0 1.2 0.3 1.5 0.9 0.4 0.6 0.6 1.3 0.6 2.3 0 1.1-0.2 2-0.7 2.6-0.4 0.7-1 1-1.7 1s-1.2-0.3-1.6-0.9v3.1zm1.1-4c0.5 0.6 0.9 0.9 1.4 0.9s0.8-0.2 1.1-0.7c0.2-0.4 0.4-1 0.4-1.9 0-1.5-0.4-2.3-1.3-2.3-0.5 0-1.1 0.5-1.6 1.3zm10.7 1.4c-0.7 0.3-1.4 0.4-2 0.4-1 0-1.8-0.3-2.3-0.9-0.6-0.5-0.8-1.3-0.8-2.4 0-1 0.2-1.8 0.8-2.5 0.5-0.6 1.1-1 1.9-1s1.4 0.3 1.8 0.8c0.4 0.6 0.6 1.4 0.6 2.6v0.3h-4c0.1 1.5 0.8 2.2 2.1 2.2 0.6 0 1.2-0.1 1.9-0.4zm-4-3.6h2.8v-0.1c0-1.2-0.4-1.8-1.3-1.8-0.4 0-0.7 0.2-1 0.5-0.3 0.4-0.4 0.8-0.5 1.4z" class="g7_1"/>
<path style="fill:#7030a0" d="m864.2 707.2-0.3-3.3h1.3l-0.2 3.3zm2.6 0-0.3-3.3h1.4l-0.3 3.3z" class="g7_1"/>
<path d="m871 708v-2h2v2zm0 5v-2h2v2z" class="g2_1"/>
<path style="fill:#ea700d" d="m884.1 707.2-0.3-3.3h1.3l-0.3 3.3zm2.6 0-0.3-3.3h1.3l-0.2 3.3z" class="g6_1"/>
<path style="fill:#ea700d" d="m895 713.4c-0.5 0.1-1 0.1-1.5 0.1-0.9 0-1.5-0.2-1.8-0.5-0.3-0.4-0.5-1-0.5-2v-3.1h-1.4v-0.9h1.4v-1.4h1.1v1.4h2.6v0.9h-2.6v3.3 0.8c0.1 0.1 0.2 0.3 0.3 0.4 0.3 0.1 0.6 0.2 1.1 0.2 0.4 0 0.9 0 1.3-0.1zm6.8-0.3c-0.7 0.3-1.4 0.4-2 0.4-1 0-1.7-0.3-2.3-0.9-0.5-0.5-0.8-1.3-0.8-2.4 0-1 0.3-1.8 0.8-2.5 0.5-0.6 1.2-1 2-1s1.4 0.3 1.7 0.8c0.4 0.6 0.6 1.4 0.6 2.6v0.3h-4c0.1 1.5 0.8 2.2 2.2 2.2 0.6 0 1.2-0.1 1.8-0.4zm-3.9-3.6h2.8v-0.1c0-1.2-0.5-1.8-1.3-1.8-0.5 0-0.8 0.2-1.1 0.5-0.2 0.4-0.4 0.8-0.4 1.4zm4.7 3.9 2.1-3.3-2.1-3.2h1.3l1.6 2.4 1.5-2.4h1l-2 3.2 2.3 3.3h-1.4l-1.6-2.5-1.7 2.5zm12.3 0c-0.6 0.1-1.1 0.1-1.6 0.1-0.8 0-1.4-0.2-1.7-0.5-0.4-0.4-0.5-1-0.5-2v-3.1h-1.5v-0.9h1.5v-1.4h1v1.4h2.6v0.9h-2.6v3.3c0 0.4 0.1 0.7 0.1 0.8 0.1 0.1 0.1 0.3 0.3 0.4s0.6 0.2 1.1 0.2c0.4 0 0.8 0 1.3-0.1z" class="g6_1"/>
<path style="fill:#ea700d" d="m917.2 707.2-0.3-3.3h1.3l-0.2 3.3zm2.6 0-0.2-3.3h1.3l-0.3 3.3z" class="g6_1"/>
<path d="m924.7 715.3v-0.6c0.4-0.1 0.6-0.4 0.7-1.1v-0.2h-0.7v-1.8h1.6v1.1c0 1.6-0.5 2.5-1.6 2.6z" class="g2_1"/>
<path style="fill:#7030a0" d="m831 728-0.2-3.3h1.3l-0.3 3.3zm2.7 0-0.3-3.3h1.3l-0.2 3.3z" class="g7_1"/>
<path style="fill:#7030a0" d="m842 734.1c-0.6 0.1-1.1 0.2-1.6 0.2-0.8 0-1.4-0.2-1.7-0.5-0.3-0.4-0.5-1-0.5-2v-3.1h-1.4v-0.9h1.4v-1.4h1.1v1.4h2.6v0.9h-2.6v3.3 0.8l0.3 0.3c0.2 0.2 0.6 0.3 1.1 0.3 0.4 0 0.8-0.1 1.3-0.2zm6.8-0.2c-0.7 0.3-1.4 0.4-2 0.4-1 0-1.8-0.3-2.3-0.9-0.5-0.5-0.8-1.4-0.8-2.4s0.2-1.9 0.8-2.5c0.5-0.7 1.1-1 1.9-1s1.4 0.3 1.8 0.8c0.4 0.6 0.6 1.4 0.6 2.5v0.4h-4c0.1 1.5 0.8 2.2 2.2 2.2 0.5 0 1.1-0.1 1.8-0.4zm-4-3.6h2.9v-0.1c0-1.2-0.5-1.8-1.4-1.8-0.4 0-0.7 0.2-1 0.5-0.2 0.4-0.4 0.8-0.5 1.4zm4.7 3.8 2.2-3.2-2.1-3.2h1.3l1.6 2.4 1.5-2.4h1l-2 3.2 2.2 3.2h-1.3l-1.7-2.4-1.6 2.4zm12.3 0c-0.5 0.1-1 0.2-1.5 0.2-0.9 0-1.5-0.2-1.8-0.5-0.3-0.4-0.4-1-0.4-2v-3.1h-1.5v-0.9h1.5v-1.4h1v1.4h2.6v0.9h-2.6v3.3c0 0.4 0 0.6 0.1 0.8 0 0.1 0.1 0.2 0.3 0.3 0.2 0.2 0.5 0.3 1 0.3s0.9-0.1 1.3-0.2z" class="g7_1"/>
<path style="fill:#7030a0" d="m864.2 728-0.3-3.3h1.3l-0.2 3.3zm2.6 0-0.3-3.3h1.4l-0.3 3.3z" class="g7_1"/>
<path d="m871 729v-2h2v2zm0 5v-2h2v2z" class="g2_1"/>
<path style="fill:#ea700d" d="m884.1 728-0.3-3.3h1.3l-0.3 3.3zm2.6 0-0.3-3.3h1.3l-0.2 3.3z" class="g6_1"/>
<path style="fill:#ea700d" d="m890.2 734.1-1-7.6h0.9l0.8 6.3 1-4.7h1l1 4.7 0.9-6.3h0.8l-1.1 7.6h-1.2l-0.9-4.4-1 4.4zm9.1 0.2c-0.9 0-1.6-0.3-2.1-0.9-0.4-0.6-0.7-1.4-0.7-2.5 0-1 0.3-1.9 0.7-2.5 0.5-0.6 1.2-0.9 2.1-0.9 0.8 0 1.5 0.3 2 0.9s0.7 1.5 0.7 2.5c0 1.1-0.2 1.9-0.7 2.5s-1.2 0.9-2 0.9zm0-0.9c0.5 0 0.9-0.2 1.2-0.6 0.2-0.5 0.4-1.1 0.4-1.9s-0.2-1.4-0.4-1.8c-0.3-0.5-0.7-0.7-1.2-0.7s-0.9 0.2-1.2 0.7c-0.3 0.4-0.5 1-0.5 1.8s0.2 1.4 0.5 1.9c0.3 0.4 0.7 0.6 1.2 0.6zm4.4 0.7v-6.4h1.1v1.2c0.5-0.9 1.2-1.4 2.1-1.4 0.4 0 0.7 0.1 1.1 0.2v1.8h-0.8v-0.9h-0.4c-0.4 0-0.8 0-1.1 0.3-0.3 0.2-0.6 0.5-0.9 1v4.2zm6.4 0v-9.4h1v6.1l2.5-3.1h1.1l-2.3 2.9 2.9 3.5h-1.4l-2.8-3.3v3.3z" class="g6_1"/>
<path style="fill:#ea700d" d="m917.2 728-0.3-3.3h1.3l-0.2 3.3zm2.6 0-0.2-3.3h1.3l-0.3 3.3z" class="g6_1"/>
<path d="m804 756.7v-0.9h0.5c0.5 0 0.9-0.1 1.1-0.2 0.2-0.2 0.3-0.4 0.3-0.8v-0.5l-0.2-0.8v-0.7c0-0.9 0.3-1.5 1-1.7-0.7-0.3-1-0.8-1-1.7v-0.7l0.2-0.8v-0.5c0-0.4-0.1-0.7-0.3-0.8s-0.6-0.2-1.1-0.2h-0.5v-0.9h0.6c0.8 0 1.3 0.1 1.7 0.4s0.6 0.8 0.6 1.3c0 0.3 0 0.5-0.1 0.8l-0.2 1.1v0.5c0 0.7 0.4 1 1.2 1h0.5v0.9h-0.5c-0.8 0-1.2 0.4-1.2 1.1v0.5l0.2 1.1c0.1 0.3 0.1 0.5 0.1 0.8 0 1.1-0.8 1.7-2.3 1.7z" class="g2_1"/>
<path d="m780 766v11h-3v-1h2v-9h-2v-1z" class="g2_1"/>
<path d="m751 798.2v-0.8h0.4c0.6 0 1-0.1 1.2-0.3 0.2-0.1 0.3-0.3 0.3-0.7 0-0.1 0-0.3-0.1-0.6l-0.1-0.8v-0.7c0-0.8 0.3-1.4 1-1.7-0.7-0.2-1-0.8-1-1.6v-0.7l0.1-0.8c0.1-0.3 0.1-0.5 0.1-0.6 0-0.4-0.1-0.6-0.3-0.7-0.3-0.2-0.6-0.3-1.2-0.3h-0.4v-0.8h0.6c0.7 0 1.3 0.1 1.7 0.4s0.6 0.7 0.6 1.3c0 0.2-0.1 0.5-0.1 0.8l-0.2 1v0.5c0 0.7 0.4 1.1 1.2 1.1h0.5v0.9h-0.5c-0.8 0-1.2 0.4-1.2 1.1v0.5l0.2 1c0 0.3 0.1 0.6 0.1 0.8 0 1.2-0.8 1.7-2.3 1.7zm8.3 0.2v-0.6c0.4-0.1 0.6-0.4 0.6-1v-0.3h-0.6v-1.8h1.6v1.1c0 1.7-0.6 2.5-1.6 2.6z" class="g2_1"/>
<path d="m755.4 807.8v0.9h-0.4c-0.6 0-0.9 0.1-1.2 0.2-0.2 0.2-0.3 0.4-0.3 0.8 0 0.1 0 0.3 0.1 0.5l0.1 0.9v0.7c0 0.8-0.3 1.4-1 1.6 0.7 0.3 1 0.8 1 1.7v0.7l-0.1 0.8c-0.1 0.2-0.1 0.4-0.1 0.6 0 0.3 0.1 0.6 0.3 0.7 0.3 0.2 0.6 0.2 1.2 0.2h0.4v0.9h-0.6c-0.7 0-1.3-0.1-1.7-0.4s-0.6-0.7-0.6-1.3c0-0.2 0.1-0.5 0.1-0.8l0.2-1.1v-0.4c0-0.8-0.4-1.1-1.2-1.1h-0.5v-0.9h0.5c0.8 0 1.2-0.4 1.2-1.1v-0.5l-0.2-1.1c0-0.2-0.1-0.5-0.1-0.7 0-1.2 0.8-1.8 2.3-1.8z" class="g2_1"/>
<path style="fill:#7030a0" d="m778 831.8-0.3-3.2h1.4l-0.3 3.2zm2.7 0-0.3-3.2h1.3l-0.3 3.2z" class="g7_1"/>
<path style="fill:#7030a0" d="m788.9 838c-0.5 0.1-1 0.2-1.5 0.2-0.9 0-1.4-0.2-1.8-0.5-0.3-0.4-0.4-1-0.4-2v-3.1h-1.5v-0.9h1.5v-1.4h1v1.4h2.6v0.9h-2.6v3.3c0 0.4 0.1 0.6 0.1 0.8 0 0.1 0.1 0.2 0.3 0.3 0.2 0.2 0.6 0.3 1 0.3 0.5 0 0.9-0.1 1.3-0.2zm1.8 2.4v-0.9h0.4c0.4 0 0.7-0.1 0.9-0.2 0.2-0.2 0.4-0.5 0.6-0.9l0.2-0.7-2.4-6.1h1.1l1.9 4.8 1.9-4.8h0.9l-2.9 7.3c-0.2 0.5-0.5 0.9-0.8 1.1-0.3 0.3-0.8 0.4-1.4 0.4zm6.3 0v-8.8h1v1.2c0.6-0.9 1.2-1.4 1.9-1.4s1.2 0.3 1.6 0.9c0.4 0.5 0.6 1.3 0.6 2.3s-0.2 1.9-0.7 2.6c-0.4 0.6-1 1-1.8 1-0.6 0-1.1-0.3-1.6-0.9v3.1zm1-4c0.5 0.6 1 0.9 1.5 0.9s0.8-0.2 1.1-0.7c0.2-0.4 0.4-1.1 0.4-1.9 0-1.5-0.5-2.3-1.3-2.3-0.6 0-1.1 0.4-1.7 1.2zm10.8 1.4c-0.7 0.2-1.4 0.4-2 0.4-1 0-1.8-0.3-2.3-0.9-0.6-0.6-0.8-1.4-0.8-2.4s0.2-1.9 0.7-2.5c0.5-0.7 1.2-1 2-1s1.4 0.3 1.8 0.8 0.5 1.4 0.5 2.5v0.4h-3.9c0 1.5 0.8 2.2 2.1 2.2 0.6 0 1.2-0.2 1.9-0.5zm-4-3.6h2.8v-0.2c0-1.1-0.4-1.7-1.3-1.7-0.4 0-0.8 0.2-1 0.5-0.3 0.3-0.4 0.8-0.5 1.4z" class="g7_1"/>
<path style="fill:#7030a0" d="m811.1 831.8-0.2-3.2h1.3l-0.3 3.2zm2.7 0-0.3-3.2h1.3l-0.2 3.2z" class="g7_1"/>
<path d="m818 833v-2h2v2zm0 5v-2h2v2z" class="g2_1"/>
<path style="fill:#ea700d" d="m831 831.8-0.2-3.2h1.3l-0.3 3.2zm2.7 0-0.3-3.2h1.3l-0.2 3.2z" class="g6_1"/>
<path style="fill:#ea700d" d="m842 837.8c-0.8 0.2-1.5 0.4-2.1 0.4-1 0-1.7-0.3-2.3-0.9-0.5-0.6-0.8-1.4-0.8-2.4s0.3-1.9 0.8-2.5c0.5-0.7 1.2-1 2-1s1.4 0.3 1.7 0.8c0.4 0.5 0.6 1.4 0.6 2.5v0.4h-4c0.1 1.5 0.8 2.2 2.2 2.2 0.5 0 1.2-0.2 1.9-0.5zm-4-3.6h2.8v-0.2c0-1.1-0.4-1.7-1.3-1.7-0.5 0-0.8 0.2-1.1 0.5-0.2 0.3-0.4 0.8-0.4 1.4zm8.1 3.8v-8.5h-2.2v-0.9h3.3v9.4zm8.8-0.2c-0.7 0.2-1.4 0.4-2 0.4-1 0-1.8-0.3-2.3-0.9s-0.8-1.4-0.8-2.4 0.3-1.9 0.8-2.5c0.5-0.7 1.2-1 1.9-1 0.9 0 1.5 0.3 1.8 0.8 0.4 0.5 0.6 1.4 0.6 2.5v0.4h-4c0.1 1.5 0.8 2.2 2.2 2.2 0.5 0 1.2-0.2 1.8-0.5zm-3.9-3.6h2.8v-0.2c0-1.1-0.5-1.7-1.3-1.7-0.5 0-0.8 0.2-1.1 0.5-0.2 0.3-0.4 0.8-0.4 1.4zm5.4 3.8v-6.4h0.9v1.2c0.5-0.9 0.9-1.4 1.3-1.4 0.6 0 0.9 0.5 1.1 1.4 0.4-0.9 0.8-1.4 1.3-1.4 0.4 0 0.6 0.2 0.8 0.4 0.2 0.3 0.3 0.8 0.3 1.5v4.7h-1v-4.7-0.7c-0.1-0.1-0.2-0.2-0.3-0.2-0.4 0-0.7 0.5-1.1 1.4v4.2h-0.9v-4.4c0-0.5 0-0.8-0.1-0.9 0-0.2-0.1-0.3-0.3-0.3-0.1 0-0.3 0.2-0.5 0.4-0.2 0.3-0.4 0.6-0.6 1.1v4.1zm12.3-0.2c-0.8 0.2-1.4 0.4-2 0.4-1 0-1.8-0.3-2.3-0.9-0.6-0.6-0.9-1.4-0.9-2.4s0.3-1.9 0.8-2.5c0.5-0.7 1.2-1 2-1s1.4 0.3 1.8 0.8 0.6 1.4 0.6 2.5v0.4h-4c0.1 1.5 0.8 2.2 2.1 2.2 0.6 0 1.2-0.2 1.9-0.5zm-4-3.6h2.8v-0.2c0-1.1-0.4-1.7-1.3-1.7-0.4 0-0.8 0.2-1 0.5-0.3 0.3-0.4 0.8-0.5 1.4zm5.2 3.8v-6.4h1v1.2c0.5-0.9 1.2-1.4 2-1.4 1.1 0 1.7 0.7 1.7 2.2v4.4h-1.1v-4.1c0-0.5 0-0.8-0.2-1.1-0.1-0.2-0.4-0.3-0.7-0.3-0.5 0-1.1 0.4-1.7 1.3v4.2zm11.8 0c-0.5 0.1-1 0.2-1.5 0.2-0.9 0-1.5-0.2-1.8-0.5-0.3-0.4-0.5-1-0.5-2v-3.1h-1.4v-0.9h1.4v-1.4h1.1v1.4h2.6v0.9h-2.6v3.3c0 0.4 0 0.6 0.1 0.8 0 0.1 0.1 0.2 0.2 0.3 0.3 0.2 0.6 0.3 1.1 0.3 0.4 0 0.9-0.1 1.3-0.2z" class="g6_1"/>
<path style="fill:#ea700d" d="m884.1 831.8-0.3-3.2h1.3l-0.3 3.2zm2.6 0-0.3-3.2h1.3l-0.2 3.2z" class="g6_1"/>
<path d="m891.6 839.9v-0.5c0.4-0.1 0.6-0.5 0.6-1.1l0.1-0.3h-0.7v-1.7h1.6v1c0 1.7-0.5 2.6-1.6 2.6z" class="g2_1"/>
<path style="fill:#7030a0" d="m778 852.6-0.3-3.2h1.4l-0.3 3.2zm2.7 0-0.3-3.2h1.3l-0.3 3.2z" class="g7_1"/>
<path style="fill:#7030a0" d="m784 858.8v-6.5h1.1v1.2c0.5-0.9 1.1-1.3 2-1.3 1.1 0 1.6 0.7 1.6 2.2v4.4h-1v-4.1c0-0.5-0.1-0.9-0.3-1.1-0.1-0.2-0.3-0.3-0.7-0.3-0.5 0-1.1 0.4-1.6 1.3v4.2zm10.4-0.8c-0.6 0.6-1.3 0.9-1.9 0.9s-1-0.2-1.3-0.5c-0.4-0.3-0.6-0.8-0.6-1.3 0-0.6 0.3-1.2 0.8-1.6 0.6-0.4 1.3-0.6 2.2-0.6h0.6v-0.6c0-0.4-0.1-0.7-0.2-0.9-0.2-0.2-0.5-0.3-1-0.3-0.6 0-1.2 0.2-1.9 0.5v-1c0.8-0.3 1.5-0.4 2.2-0.4s1.2 0.1 1.5 0.5c0.3 0.3 0.5 0.9 0.5 1.7v2.7c0 0.4 0 0.6 0.1 0.8 0.1 0.1 0.2 0.2 0.4 0.2 0.1 0 0.2 0 0.4-0.1v0.7c-0.3 0.2-0.6 0.2-0.7 0.2-0.6 0-0.9-0.3-1.1-0.9zm-0.2-0.7v-1.7h-0.3c-1.4 0-2.2 0.5-2.2 1.3 0 0.4 0.1 0.6 0.3 0.8s0.4 0.3 0.8 0.3 0.9-0.3 1.4-0.7zm2.3 1.5v-6.5h0.9v1.2c0.5-0.9 0.9-1.3 1.4-1.3s0.8 0.4 1 1.3c0.4-0.9 0.8-1.3 1.3-1.3 0.4 0 0.6 0.1 0.8 0.4s0.2 0.8 0.2 1.5v4.7h-0.9v-4.7-0.7c-0.1-0.1-0.2-0.2-0.3-0.2-0.3 0-0.7 0.5-1.1 1.4v4.2h-0.9v-4.5c0-0.4-0.1-0.7-0.1-0.9 0-0.1-0.1-0.2-0.3-0.2-0.1 0-0.3 0.1-0.5 0.4s-0.4 0.6-0.6 1v4.2zm12.3-0.2c-0.7 0.2-1.4 0.4-2 0.4-1 0-1.8-0.3-2.3-0.9-0.6-0.6-0.8-1.4-0.8-2.5 0-1 0.2-1.8 0.7-2.4 0.5-0.7 1.2-1 2-1s1.4 0.3 1.8 0.8 0.5 1.4 0.5 2.5v0.4h-3.9c0 1.4 0.8 2.2 2.1 2.2 0.6 0 1.2-0.2 1.9-0.5zm-4-3.6h2.8v-0.2c0-1.2-0.4-1.7-1.3-1.7-0.4 0-0.8 0.1-1 0.5-0.3 0.3-0.4 0.8-0.5 1.4z" class="g7_1"/>
<path style="fill:#7030a0" d="m811.1 852.6-0.2-3.2h1.3l-0.3 3.2zm2.7 0-0.3-3.2h1.3l-0.2 3.2z" class="g7_1"/>
<path d="m818 854v-2h2v2zm0 4v-1h2v1z" class="g2_1"/>
<path style="fill:#ea700d" d="m831 852.6-0.2-3.2h1.3l-0.3 3.2zm2.7 0-0.3-3.2h1.3l-0.2 3.2z" class="g6_1"/>
<path style="fill:#ea700d" d="m842 858.8c-0.6 0.1-1.1 0.2-1.6 0.2-0.8 0-1.4-0.2-1.7-0.6-0.3-0.3-0.5-0.9-0.5-1.9v-3.1h-1.4v-0.9h1.4v-1.4h1.1v1.4h2.6v0.9h-2.6v3.3 0.7c0.1 0.2 0.2 0.3 0.3 0.4 0.2 0.2 0.6 0.3 1.1 0.3 0.4 0 0.8-0.1 1.3-0.2zm4.2 0.2c-0.8 0-1.5-0.3-2-0.9s-0.7-1.5-0.7-2.5c0-1.1 0.2-1.9 0.7-2.5s1.2-0.9 2-0.9c0.9 0 1.6 0.3 2.1 0.9 0.4 0.6 0.7 1.4 0.7 2.5 0 1-0.3 1.9-0.7 2.5-0.5 0.6-1.2 0.9-2.1 0.9zm0-0.9c0.6 0 1-0.3 1.2-0.7 0.3-0.4 0.5-1 0.5-1.8s-0.2-1.4-0.5-1.9c-0.2-0.4-0.6-0.6-1.2-0.6-0.5 0-0.9 0.2-1.2 0.6-0.2 0.5-0.4 1.1-0.4 1.9s0.2 1.4 0.4 1.8c0.3 0.4 0.7 0.7 1.2 0.7zm7.6 0.7v-1.2c-0.6 0.9-1.2 1.4-1.9 1.4s-1.2-0.3-1.6-0.9-0.6-1.3-0.6-2.3c0-1.1 0.3-2 0.7-2.6 0.5-0.7 1-1 1.8-1 0.6 0 1.1 0.3 1.6 0.9v-3.7h1v9.4zm0-4.8c-0.5-0.6-1-0.9-1.5-0.9s-0.8 0.2-1.1 0.7c-0.2 0.4-0.3 1-0.3 1.9 0 1.5 0.4 2.3 1.2 2.3 0.6 0 1.1-0.5 1.7-1.3zm5.4 5c-0.8 0-1.5-0.3-2-0.9s-0.7-1.5-0.7-2.5c0-1.1 0.2-1.9 0.7-2.5s1.2-0.9 2-0.9c0.9 0 1.6 0.3 2 0.9 0.5 0.6 0.8 1.4 0.8 2.5 0 1-0.3 1.9-0.8 2.5-0.4 0.6-1.1 0.9-2 0.9zm0-0.9c0.5 0 0.9-0.3 1.2-0.7s0.5-1 0.5-1.8-0.2-1.4-0.5-1.9c-0.3-0.4-0.7-0.6-1.2-0.6s-0.9 0.2-1.2 0.6c-0.2 0.5-0.4 1.1-0.4 1.9s0.2 1.4 0.4 1.8c0.3 0.4 0.7 0.7 1.2 0.7z" class="g6_1"/>
<path style="fill:#ea700d" d="m864.2 852.6-0.3-3.2h1.3l-0.2 3.2zm2.6 0-0.3-3.2h1.4l-0.3 3.2z" class="g6_1"/>
<path d="m871.7 860.7v-0.6c0.4 0 0.6-0.4 0.6-1l0.1-0.3h-0.7v-1.8h1.6v1.1c0 1.7-0.5 2.6-1.6 2.6z" class="g2_1"/>
<path style="fill:#7030a0" d="m778 873.4-0.3-3.2h1.4l-0.3 3.2zm2.7 0-0.3-3.2h1.3l-0.3 3.2z" class="g7_1"/>
<path style="fill:#7030a0" d="m788.9 879.3c-0.7 0.3-1.4 0.4-2 0.4-1 0-1.8-0.2-2.3-0.8s-0.8-1.4-0.8-2.5c0-1 0.2-1.8 0.8-2.5 0.5-0.6 1.1-0.9 1.9-0.9s1.4 0.2 1.8 0.8c0.4 0.5 0.6 1.3 0.6 2.5v0.4h-4c0.1 1.4 0.8 2.2 2.2 2.2 0.5 0 1.1-0.2 1.8-0.5zm-4-3.5h2.9v-0.2c0-1.2-0.5-1.8-1.3-1.8-0.5 0-0.8 0.2-1.1 0.5-0.2 0.4-0.4 0.9-0.5 1.5zm8.2 3.8v-8.6h-2.3v-0.8h3.3v9.4zm8.8-0.3c-0.7 0.3-1.4 0.4-2 0.4-1 0-1.8-0.2-2.3-0.8-0.6-0.6-0.8-1.4-0.8-2.5 0-1 0.2-1.8 0.7-2.5 0.6-0.6 1.2-0.9 2-0.9s1.4 0.2 1.8 0.8c0.4 0.5 0.6 1.3 0.6 2.5v0.4h-4c0.1 1.4 0.8 2.2 2.1 2.2 0.6 0 1.2-0.2 1.9-0.5zm-4-3.5h2.9v-0.2c0-1.2-0.5-1.8-1.4-1.8-0.4 0-0.7 0.2-1 0.5-0.3 0.4-0.4 0.9-0.5 1.5zm5.5 3.8v-6.5h0.9v1.2c0.5-0.9 0.9-1.3 1.3-1.3 0.5 0 0.9 0.4 1 1.3h0.1c0.4-0.9 0.8-1.3 1.3-1.3 0.3 0 0.6 0.1 0.8 0.4 0.1 0.3 0.2 0.8 0.2 1.4v4.8h-0.9v-4.7c0-0.4 0-0.6-0.1-0.7 0-0.2-0.1-0.2-0.2-0.2-0.4 0-0.7 0.5-1.1 1.4v4.2h-0.9v-4.5c0-0.4-0.1-0.7-0.1-0.9-0.1-0.1-0.2-0.2-0.3-0.2-0.2 0-0.3 0.1-0.5 0.4s-0.4 0.6-0.6 1v4.2zm12.3-0.3c-0.8 0.3-1.4 0.4-2 0.4-1.1 0-1.8-0.2-2.4-0.8-0.5-0.6-0.8-1.4-0.8-2.5 0-1 0.3-1.8 0.8-2.5 0.5-0.6 1.2-0.9 2-0.9s1.4 0.2 1.8 0.8c0.3 0.5 0.5 1.3 0.5 2.5v0.4h-4c0.1 1.4 0.8 2.2 2.2 2.2 0.6 0 1.2-0.2 1.9-0.5zm-4-3.5h2.8v-0.2c0-1.2-0.4-1.8-1.3-1.8-0.4 0-0.8 0.2-1 0.5-0.3 0.4-0.5 0.9-0.5 1.5zm5.2 3.8v-6.5h1v1.2c0.5-0.9 1.2-1.3 2-1.3 1.1 0 1.7 0.7 1.7 2.2v4.4h-1.1v-4.1c0-0.5-0.1-0.9-0.2-1.1-0.2-0.2-0.4-0.3-0.7-0.3-0.6 0-1.1 0.4-1.7 1.3v4.2zm11.8 0c-0.6 0.1-1.1 0.1-1.6 0.1-0.8 0-1.4-0.1-1.7-0.5-0.3-0.3-0.5-1-0.5-1.9v-3.2h-1.4v-0.9h1.4v-1.3h1.1v1.3h2.6v0.9h-2.6v3.3 0.8c0.1 0.2 0.2 0.3 0.3 0.4 0.2 0.2 0.6 0.3 1.1 0.3 0.4 0 0.8-0.1 1.3-0.2zm1.9-0.3v-1c0.8 0.4 1.6 0.6 2.2 0.6 0.4 0 0.7-0.1 1-0.3s0.4-0.5 0.4-0.8c0-0.4-0.3-0.7-0.9-0.9l-1.2-0.4c-0.9-0.3-1.3-0.9-1.3-1.7 0-0.6 0.2-1 0.6-1.4 0.4-0.3 0.9-0.4 1.7-0.4 0.5 0 1.2 0 1.9 0.2v1c-0.7-0.2-1.4-0.4-1.9-0.4-0.4 0-0.7 0.1-0.9 0.3-0.3 0.1-0.4 0.3-0.4 0.6s0.3 0.6 0.8 0.8l1.3 0.5c0.5 0.2 0.9 0.4 1.1 0.7s0.3 0.6 0.3 1c0 0.6-0.2 1.1-0.7 1.5-0.4 0.4-1.1 0.5-1.8 0.5s-1.4-0.1-2.2-0.4z" class="g7_1"/>
<path style="fill:#7030a0" d="m837.7 873.4-0.3-3.2h1.3l-0.3 3.2zm2.6 0-0.3-3.2h1.4l-0.3 3.2z" class="g7_1"/>
<path d="m845 874v-1h1v1zm0 5v-2h1v2zm13 2v-11h3v1h-3v9h3v1z" class="g2_1"/>
<path d="m808.4 890.9v0.9h-0.4c-0.5 0-0.9 0.1-1.1 0.2-0.3 0.2-0.4 0.4-0.4 0.8 0 0.1 0 0.3 0.1 0.6l0.1 0.8c0 0.3 0.1 0.5 0.1 0.7 0 0.8-0.4 1.4-1.1 1.6 0.7 0.3 1.1 0.9 1.1 1.7 0 0.2-0.1 0.4-0.1 0.7l-0.1 0.8c-0.1 0.3-0.1 0.4-0.1 0.6 0 0.3 0.1 0.6 0.4 0.7 0.2 0.2 0.6 0.3 1.1 0.3h0.4v0.8h-0.6c-0.7 0-1.3-0.1-1.7-0.4-0.3-0.3-0.5-0.7-0.5-1.3v-0.8l0.2-1.1c0.1-0.1 0.1-0.3 0.1-0.4 0-0.8-0.4-1.1-1.2-1.1h-0.5v-0.9h0.5c0.8 0 1.2-0.4 1.2-1.1 0-0.1 0-0.3-0.1-0.5l-0.2-1v-0.8c0-1.2 0.7-1.8 2.2-1.8z" class="g2_1"/>
<path style="fill:#7030a0" d="m831 915-0.2-3.3h1.3l-0.3 3.3zm2.7 0-0.3-3.3h1.3l-0.2 3.3z" class="g7_1"/>
<path style="fill:#7030a0" d="m842 921.1c-0.6 0.1-1.1 0.2-1.6 0.2-0.8 0-1.4-0.2-1.7-0.5-0.3-0.4-0.5-1-0.5-2v-3.1h-1.4v-0.9h1.4v-1.4h1.1v1.4h2.6v0.9h-2.6v3.3 0.8l0.3 0.3c0.2 0.2 0.6 0.3 1.1 0.3 0.4 0 0.8-0.1 1.3-0.2zm1.7 2.4v-0.9h0.4c0.4 0 0.7-0.1 0.9-0.2s0.4-0.4 0.6-0.9l0.2-0.6-2.4-6.2h1.1l1.9 4.8 1.9-4.8h1l-3 7.3c-0.2 0.5-0.5 0.9-0.8 1.2-0.3 0.2-0.8 0.3-1.4 0.3zm6.3 0v-8.8h1.1v1.2c0.5-0.9 1.1-1.4 1.9-1.4 0.6 0 1.2 0.3 1.5 0.9 0.4 0.5 0.6 1.3 0.6 2.3 0 1.1-0.2 1.9-0.7 2.6-0.4 0.7-1 1-1.7 1s-1.2-0.3-1.6-0.9v3.1zm1.1-4c0.5 0.6 0.9 0.9 1.4 0.9s0.8-0.2 1.1-0.7c0.2-0.4 0.4-1.1 0.4-1.9 0-1.5-0.4-2.3-1.3-2.3-0.5 0-1.1 0.4-1.6 1.3zm10.7 1.4c-0.7 0.3-1.4 0.4-2 0.4-1 0-1.8-0.3-2.3-0.9-0.6-0.5-0.8-1.4-0.8-2.4s0.2-1.9 0.8-2.5c0.5-0.7 1.1-1 1.9-1s1.4 0.3 1.8 0.8c0.4 0.6 0.6 1.4 0.6 2.5v0.4h-4c0.1 1.5 0.8 2.2 2.1 2.2 0.6 0 1.2-0.1 1.9-0.4zm-4-3.6h2.8v-0.1c0-1.2-0.4-1.8-1.3-1.8-0.4 0-0.7 0.2-1 0.5s-0.4 0.8-0.5 1.4z" class="g7_1"/>
<path style="fill:#7030a0" d="m864.2 915-0.3-3.3h1.3l-0.2 3.3zm2.6 0-0.3-3.3h1.4l-0.3 3.3z" class="g7_1"/>
<path d="m871 916v-2h2v2zm0 5v-2h2v2z" class="g2_1"/>
<path style="fill:#ea700d" d="m884.1 915-0.3-3.3h1.3l-0.3 3.3zm2.6 0-0.3-3.3h1.3l-0.2 3.3z" class="g6_1"/>
<path style="fill:#ea700d" d="m895 921.1c-0.5 0.1-1 0.2-1.5 0.2-0.9 0-1.5-0.2-1.8-0.5-0.3-0.4-0.5-1-0.5-2v-3.1h-1.4v-0.9h1.4v-1.4h1.1v1.4h2.6v0.9h-2.6v3.3 0.8l0.3 0.3c0.3 0.2 0.6 0.3 1.1 0.3 0.4 0 0.9-0.1 1.3-0.2zm6.8-0.2c-0.7 0.3-1.4 0.4-2 0.4-1 0-1.7-0.3-2.3-0.9-0.5-0.5-0.8-1.4-0.8-2.4s0.3-1.9 0.8-2.5c0.5-0.7 1.2-1 2-1s1.4 0.3 1.7 0.8c0.4 0.6 0.6 1.4 0.6 2.5v0.4h-4c0.1 1.5 0.8 2.2 2.2 2.2 0.6 0 1.2-0.1 1.8-0.4zm-3.9-3.6h2.8v-0.1c0-1.2-0.5-1.8-1.3-1.8-0.5 0-0.8 0.2-1.1 0.5-0.2 0.3-0.4 0.8-0.4 1.4zm4.7 3.8 2.1-3.2-2.1-3.2h1.3l1.6 2.4 1.5-2.4h1l-2 3.2 2.3 3.2h-1.4l-1.6-2.4-1.7 2.4zm12.3 0c-0.6 0.1-1.1 0.2-1.6 0.2-0.8 0-1.4-0.2-1.7-0.5-0.4-0.4-0.5-1-0.5-2v-3.1h-1.5v-0.9h1.5v-1.4h1v1.4h2.6v0.9h-2.6v3.3c0 0.4 0.1 0.6 0.1 0.8 0.1 0.1 0.1 0.2 0.3 0.3 0.2 0.2 0.6 0.3 1.1 0.3 0.4 0 0.8-0.1 1.3-0.2z" class="g6_1"/>
<path style="fill:#ea700d" d="m917.2 915-0.3-3.3h1.3l-0.2 3.3zm2.6 0-0.2-3.3h1.3l-0.3 3.3z" class="g6_1"/>
<path d="m924.7 923.1v-0.6c0.4-0.1 0.6-0.4 0.7-1.1v-0.3h-0.7v-1.7h1.6v1c0 1.7-0.5 2.6-1.6 2.7z" class="g2_1"/>
<path style="fill:#7030a0" d="m831 935.7-0.2-3.2h1.3l-0.3 3.2zm2.7 0-0.3-3.2h1.3l-0.2 3.2z" class="g7_1"/>
<path style="fill:#7030a0" d="m842 941.9c-0.6 0.1-1.1 0.2-1.6 0.2-0.8 0-1.4-0.2-1.7-0.5-0.3-0.4-0.5-1-0.5-2v-3.1h-1.4v-0.9h1.4v-1.4h1.1v1.4h2.6v0.9h-2.6v3.3 0.7c0.1 0.2 0.2 0.3 0.3 0.4 0.2 0.2 0.6 0.3 1.1 0.3 0.4 0 0.8-0.1 1.3-0.2zm6.8-0.2c-0.7 0.2-1.4 0.4-2 0.4-1 0-1.8-0.3-2.3-0.9s-0.8-1.4-0.8-2.5c0-0.9 0.2-1.8 0.8-2.4 0.5-0.7 1.1-1 1.9-1s1.4 0.3 1.8 0.8 0.6 1.4 0.6 2.5v0.4h-4c0.1 1.5 0.8 2.2 2.2 2.2 0.5 0 1.1-0.2 1.8-0.5zm-4-3.6h2.9v-0.2c0-1.1-0.5-1.7-1.4-1.7-0.4 0-0.7 0.1-1 0.5-0.2 0.3-0.4 0.8-0.5 1.4zm4.7 3.8 2.2-3.3-2.1-3.2h1.3l1.6 2.4 1.5-2.4h1l-2 3.2 2.2 3.3h-1.3l-1.7-2.5-1.6 2.5zm12.3 0c-0.5 0.1-1 0.2-1.5 0.2-0.9 0-1.5-0.2-1.8-0.5-0.3-0.4-0.4-1-0.4-2v-3.1h-1.5v-0.9h1.5v-1.4h1v1.4h2.6v0.9h-2.6v3.3c0 0.4 0 0.6 0.1 0.7 0 0.2 0.1 0.3 0.3 0.4 0.2 0.2 0.5 0.3 1 0.3s0.9-0.1 1.3-0.2z" class="g7_1"/>
<path style="fill:#7030a0" d="m864.2 935.7-0.3-3.2h1.3l-0.2 3.2zm2.6 0-0.3-3.2h1.4l-0.3 3.2z" class="g7_1"/>
<path d="m871 937v-2h2v2zm0 4v-1h2v1z" class="g2_1"/>
<path style="fill:#ea700d" d="m884.1 935.7-0.3-3.2h1.3l-0.3 3.2zm2.6 0-0.3-3.2h1.3l-0.2 3.2z" class="g6_1"/>
<path style="fill:#ea700d" d="m890.3 941.9v-7.6h2.2c0.8 0 1.4 0 1.8 0.2 0.6 0.3 1 1 1 1.9 0 0.8-0.3 1.5-0.8 1.9-0.6 0.5-1.4 0.7-2.4 0.7h-0.7v2.9zm1.1-3.8h0.6c1.4 0 2.2-0.5 2.2-1.6 0-0.5-0.2-0.8-0.4-1.1-0.3-0.2-0.8-0.2-1.4-0.2h-1zm7.7 3.8v-8.5h-2.2v-0.9h3.3v9.4zm7.5-0.8c-0.7 0.6-1.3 0.9-2 0.9-0.5 0-0.9-0.1-1.3-0.5-0.3-0.3-0.5-0.7-0.5-1.3s0.3-1.2 0.8-1.6 1.2-0.6 2.1-0.6h0.7v-0.6c0-0.4-0.1-0.7-0.3-0.9s-0.5-0.3-0.9-0.3c-0.6 0-1.2 0.2-1.9 0.6v-1.1c0.7-0.3 1.5-0.4 2.1-0.4 0.8 0 1.3 0.2 1.6 0.5s0.4 0.9 0.4 1.7v2.7c0 0.4 0.1 0.7 0.1 0.8 0.1 0.1 0.3 0.2 0.5 0.2 0.1 0 0.2 0 0.3-0.1l0.1 0.7c-0.3 0.2-0.6 0.2-0.8 0.2-0.5 0-0.9-0.3-1-0.9zm-0.2-0.7v-1.7h-0.3c-1.5 0-2.2 0.5-2.2 1.3 0 0.4 0.1 0.6 0.3 0.8s0.4 0.3 0.7 0.3c0.5 0 1-0.2 1.5-0.7zm3.3 3.9v-0.9h0.4c0.4 0 0.7-0.1 0.9-0.2 0.2-0.2 0.4-0.5 0.6-0.9l0.2-0.7-2.4-6.2h1.1l1.9 4.9 1.9-4.9h1l-3 7.3c-0.2 0.6-0.5 1-0.8 1.2-0.3 0.3-0.8 0.4-1.3 0.4z" class="g6_1"/>
<path style="fill:#ea700d" d="m917.2 935.7-0.3-3.2h1.3l-0.2 3.2zm2.6 0-0.2-3.2h1.3l-0.3 3.2z" class="g6_1"/>
<path d="m804 964.5v-0.9h0.5c0.5 0 0.9-0.1 1.1-0.2 0.2-0.2 0.3-0.4 0.3-0.8v-0.5l-0.2-0.9v-0.7c0-0.8 0.3-1.4 1-1.6-0.7-0.3-1-0.8-1-1.7v-0.7l0.2-0.8v-0.6c0-0.3-0.1-0.6-0.3-0.7-0.2-0.2-0.6-0.2-1.1-0.2h-0.5v-0.9h0.6c0.8 0 1.3 0.1 1.7 0.4s0.6 0.7 0.6 1.3c0 0.2 0 0.5-0.1 0.8l-0.2 1.1v0.4c0 0.8 0.4 1.1 1.2 1.1h0.5v0.9h-0.5c-0.8 0-1.2 0.4-1.2 1.1v0.5l0.2 1c0.1 0.3 0.1 0.6 0.1 0.8 0 1.2-0.8 1.8-2.3 1.8z" class="g2_1"/>
<path d="m780 974v11h-3v-1h2v-10h-2z" class="g2_1"/>
<path d="m751 1006v-0.9h0.4c0.6 0 1 0 1.2-0.2 0.2-0.1 0.3-0.4 0.3-0.7 0-0.2 0-0.4-0.1-0.6l-0.1-0.8v-0.7c0-0.9 0.3-1.4 1-1.7-0.7-0.2-1-0.8-1-1.6v-0.7l0.1-0.9c0.1-0.2 0.1-0.4 0.1-0.5 0-0.4-0.1-0.6-0.3-0.8-0.3-0.1-0.6-0.2-1.2-0.2h-0.4v-0.9h0.6c0.7 0 1.3 0.2 1.7 0.5s0.6 0.7 0.6 1.2c0 0.3-0.1 0.6-0.1 0.9l-0.2 1v0.5c0 0.7 0.4 1.1 1.2 1.1h0.5v0.9h-0.5c-0.8 0-1.2 0.3-1.2 1.1v0.4l0.2 1.1c0 0.3 0.1 0.6 0.1 0.8 0 1.1-0.8 1.7-2.3 1.7z" class="g2_1"/>
<path d="m727 1015v11h-3v-1h2v-9h-2v-1z" class="g2_1"/>
<path d="m698 1047.6v-0.9h0.4c0.5 0 0.9-0.1 1.1-0.2 0.3-0.2 0.4-0.4 0.4-0.8 0-0.1 0-0.3-0.1-0.5l-0.1-0.9c-0.1-0.2-0.1-0.5-0.1-0.7 0-0.8 0.4-1.4 1.1-1.6-0.7-0.3-1.1-0.8-1.1-1.7 0-0.2 0-0.4 0.1-0.7l0.1-0.8c0.1-0.2 0.1-0.4 0.1-0.6 0-0.3-0.1-0.6-0.4-0.7-0.2-0.2-0.6-0.2-1.1-0.2h-0.4v-0.9h0.6c0.7 0 1.3 0.1 1.7 0.4 0.3 0.3 0.5 0.7 0.5 1.3v0.8l-0.2 1.1c0 0.1-0.1 0.3-0.1 0.4 0 0.8 0.4 1.1 1.3 1.1h0.4v0.9h-0.4c-0.9 0-1.3 0.4-1.3 1.1 0 0.2 0.1 0.3 0.1 0.5l0.2 1.1v0.8c0 1.1-0.7 1.7-2.2 1.7z" class="g2_1"/>
<path d="m674 1057v11h-3v-1h2v-9h-2v-1z" class="g2_1"/>
<path d="m645 1089.1v-0.9h0.4c0.5 0 0.9 0 1.1-0.2 0.2-0.1 0.3-0.4 0.3-0.7v-0.6l-0.1-0.8c-0.1-0.3-0.1-0.5-0.1-0.7 0-0.9 0.4-1.4 1.1-1.7-0.7-0.2-1.1-0.8-1.1-1.6 0-0.2 0-0.4 0.1-0.7l0.1-0.9v-0.5c0-0.4-0.1-0.6-0.3-0.8-0.2-0.1-0.6-0.2-1.1-0.2h-0.4v-0.9h0.5c0.8 0 1.3 0.2 1.7 0.5s0.6 0.7 0.6 1.3c0 0.2 0 0.5-0.1 0.8l-0.1 1c-0.1 0.2-0.1 0.3-0.1 0.5 0 0.7 0.4 1.1 1.2 1.1h0.5v0.9h-0.5c-0.8 0-1.2 0.3-1.2 1.1 0 0.1 0 0.3 0.1 0.4l0.1 1.1c0.1 0.3 0.1 0.6 0.1 0.8 0 1.2-0.7 1.7-2.3 1.7z" class="g2_1"/>
<path d="m351.5 28.3c-1.5 0.7-3.2 1.1-4.9 1.1-2.6 0-4.7-1-6.4-2.9-1.7-2-2.5-4.6-2.5-7.7 0-3.5 0.9-6.3 2.7-8.4s4.1-3.1 6.9-3.1c1.4 0 2.9 0.2 4.2 0.8v1.5c-1.3-0.6-2.8-1-4.3-1-2.4 0-4.4 0.9-5.9 2.8-1.5 1.8-2.2 4.2-2.2 7.2 0 2.9 0.7 5.2 2.1 6.9 1.5 1.7 3.3 2.5 5.5 2.5 1.8 0 3.4-0.3 4.8-1.1zm9.3 1.1c-2 0-3.6-0.7-4.8-2.2s-1.8-3.4-1.8-5.7c0-2.6 0.7-4.5 1.9-6 1.2-1.4 2.8-2.1 4.8-2.1s3.5 0.7 4.7 2.1c1.1 1.4 1.7 3.4 1.7 5.9 0 2.4-0.6 4.3-1.8 5.8-1.1 1.5-2.7 2.2-4.7 2.2zm0.1-14.8c-1.7 0-3 0.6-3.9 1.9-1 1.2-1.5 2.9-1.5 5 0 2 0.5 3.6 1.5 4.8 0.9 1.2 2.2 1.8 3.8 1.8 1.7 0 2.9-0.6 3.8-1.7 0.9-1.2 1.4-2.9 1.4-5 0-2.2-0.5-3.9-1.4-5-0.9-1.2-2.1-1.8-3.7-1.8zm27.6 14.4v-9.2c0-1.9-0.2-3.2-0.8-4-0.5-0.8-1.4-1.2-2.6-1.2-1 0-2 0.5-2.8 1.6-0.8 1-1.2 2.3-1.2 3.9v8.9h-1.2v-9.3c0-3.4-1.1-5.1-3.5-5.1-1.1 0-2 0.6-2.8 1.6-0.7 1-1.1 2.4-1.1 4v8.8h-1.2v-15.2h1.2v2.5h0.1c0.9-2 2.3-2.9 4.2-2.9 1 0 1.8 0.3 2.5 0.9 0.8 0.7 1.2 1.5 1.5 2.6 0.4-1.1 1-2 1.8-2.6s1.7-0.9 2.7-0.9c3 0 4.5 2 4.5 6.2v9.4zm6.2-2.7v9.8h-1.3v-22.3h1.3v3.1c0.5-1.1 1.2-2 2.1-2.6 1-0.6 2-0.9 3.1-0.9 1.7 0 3.1 0.6 4.1 2 0.9 1.3 1.4 3.1 1.4 5.4 0 2.6-0.5 4.7-1.7 6.2-1.1 1.6-2.6 2.4-4.4 2.4-2.1 0-3.6-1-4.6-3.1zm0-5.7v2c0 1.5 0.4 2.8 1.3 3.9 0.8 1.1 2 1.6 3.4 1.6s2.5-0.6 3.4-2c0.9-1.3 1.3-3.1 1.3-5.2 0-1.9-0.4-3.5-1.2-4.6s-1.8-1.7-3.2-1.7c-1.6 0-2.8 0.6-3.7 1.8s-1.3 2.6-1.3 4.2zm22.2 8.4v-3c-0.5 1-1.1 1.9-1.9 2.5-0.9 0.6-1.8 0.9-2.8 0.9-1.3 0-2.4-0.4-3.1-1.2-0.8-0.8-1.2-1.9-1.2-3.1 0-2.7 1.6-4.3 4.8-4.8l4.2-0.7c0-3.3-1.1-5-3.3-5-1.5 0-3 0.7-4.4 2.1v-1.7c0.5-0.4 1.2-0.8 2.1-1.1 0.8-0.4 1.7-0.5 2.4-0.5 1.4 0 2.5 0.5 3.3 1.4 0.8 1 1.2 2.4 1.2 4.3v9.9zm-3.8-7.6c-1.4 0.2-2.4 0.6-3 1.1s-0.9 1.4-0.9 2.5c0 0.9 0.3 1.7 0.9 2.3 0.5 0.6 1.3 0.8 2.2 0.8 1.3 0 2.4-0.5 3.3-1.6s1.3-2.5 1.3-4.2v-1.5zm18.3 7c-1.1 0.7-2.3 1-3.7 1-1.8 0-3.4-0.7-4.5-2.1-1.2-1.5-1.7-3.3-1.7-5.6 0-2.5 0.6-4.5 1.9-6 1.3-1.6 3-2.3 5-2.3 1 0 2 0.2 3 0.7v1.5c-1-0.6-2-1-3.2-1-1.6 0-2.9 0.7-3.9 2-1 1.2-1.5 2.9-1.5 5 0 1.9 0.4 3.5 1.3 4.7 1 1.2 2.2 1.8 3.7 1.8 1.4 0 2.5-0.4 3.6-1.2zm8.7 0.4c-0.6 0.4-1.2 0.5-1.8 0.5-2 0-3-1.3-3-4v-10.3h-2.5v-1.2h2.5v-4l0.6-0.3c0.2 0 0.4-0.1 0.6-0.2v4.5h3.6v1.2h-3.6v10.1c0 1 0.2 1.8 0.5 2.3s0.8 0.7 1.5 0.7c0.5 0 1-0.2 1.6-0.6zm15-7.1c0 5.1-1.6 7.7-4.9 7.7-0.5 0-1-0.1-1.4-0.2v-1.5c0.5 0.2 1 0.3 1.5 0.3 1.2 0 2.1-0.5 2.6-1.5 0.6-1.1 0.9-2.7 0.9-4.9v-14h1.3zm3.7 6.6v-1.7c1.4 1 2.8 1.4 4.2 1.4 1.5 0 2.6-0.3 3.4-1s1.2-1.7 1.2-2.9c0-1.1-0.3-2-0.8-2.6-0.5-0.7-1.7-1.5-3.4-2.7-2-1.2-3.2-2.3-3.7-3.1-0.5-0.9-0.8-1.9-0.8-3 0-1.5 0.5-2.8 1.6-3.8 1-1.1 2.5-1.6 4.2-1.6 1.2 0 2.3 0.2 3.5 0.6v1.6c-1.2-0.6-2.4-0.9-3.6-0.9-1.4 0-2.4 0.4-3.2 1.1-0.7 0.8-1.1 1.7-1.1 2.8s0.2 2 0.8 2.6c0.5 0.7 1.6 1.6 3.4 2.7s3 2.1 3.5 3c0.6 0.9 1 1.9 1 3 0 1.7-0.6 3-1.6 4.1-1 1-2.5 1.5-4.3 1.5-0.7 0-1.5-0.1-2.3-0.3-0.9-0.3-1.5-0.5-2-0.8zm22.3 1.1c-2.8 0-4.9-1-6.5-3s-2.5-4.6-2.5-7.9c0-3.4 0.9-6.1 2.5-8.1 1.7-2.1 4-3.1 6.8-3.1 2.6 0 4.7 1 6.3 2.9 1.6 2 2.5 4.6 2.5 7.8 0 3.5-0.9 6.3-2.5 8.4-1.7 2-3.9 3-6.6 3zm0.1-20.8c-2.2 0-4.1 0.9-5.5 2.7-1.5 1.8-2.2 4.2-2.2 7.1s0.7 5.3 2.1 7c1.3 1.8 3.2 2.6 5.5 2.6s4.2-0.8 5.6-2.5c1.4-1.8 2.1-4.2 2.1-7.3 0-3-0.7-5.3-2-7-1.4-1.7-3.3-2.6-5.6-2.6zm27 20.4l-11.5-17.3c-0.2-0.3-0.4-0.7-0.6-1l-0.2-0.3h-0.1c0.1 0.2 0.1 0.6 0.1 0.9v17.7h-1.4v-21.4h1.1l11.3 17.2c0.3 0.3 0.6 0.8 0.9 1.4v-1.8-16.8h1.3v21.4z" class="g2_1"/>
<path d="m21.4 29-4.5-8.1c-0.2-0.5-0.5-1-0.7-1.5h-0.1c-0.2 0.5-0.4 1-0.7 1.5l-4.5 8.1h-1.6l6.1-10.8-5.8-10.6h1.6l4.3 8.1c0.3 0.4 0.5 0.9 0.7 1.4h0.1l0.7-1.4 4.3-8.1h1.5l-5.7 10.6 5.9 10.8zm21.5 0v-15.2c0-0.3 0-1.4 0.1-3.1-0.3 0.8-0.5 1.4-0.7 1.9l-6.9 16.4h-0.4l-6.9-16.3c-0.2-0.6-0.4-1.3-0.6-2.1h-0.1c0.1 1 0.1 1.9 0.1 2.9v15.5h-1.3v-21.4h1.2l7.2 17.3c0.1 0.1 0.1 0.2 0.2 0.4 0 0.1 0.1 0.3 0.1 0.5 0.1 0.2 0.2 0.5 0.3 0.8h0.1l0.2-0.4c0-0.1 0.1-0.5 0.4-1.4l7.1-17.2h1.2v21.4zm6.2 0v-21.4h1.3v20.1h7.8v1.3z" class="g2_1"/>
<path d="m650.8 29-11.5-17.3c-0.2-0.3-0.4-0.7-0.6-1l-0.2-0.3v0.9 17.7h-1.4v-21.4h1.1l11.4 17.2c0.2 0.3 0.5 0.8 0.8 1.4h0.1c-0.1-0.7-0.1-1.3-0.1-1.8v-16.8h1.3v21.4zm11.5 0.4c-2 0-3.6-0.7-4.8-2.2s-1.7-3.4-1.7-5.7c0-2.6 0.6-4.5 1.8-6 1.2-1.4 2.8-2.1 4.8-2.1s3.5 0.7 4.7 2.1c1.1 1.4 1.7 3.4 1.7 5.9 0 2.4-0.6 4.3-1.8 5.8-1.1 1.5-2.7 2.2-4.7 2.2zm0.1-14.8c-1.7 0-2.9 0.6-3.9 1.9-1 1.2-1.5 2.9-1.5 5 0 2 0.5 3.6 1.4 4.8 1 1.2 2.3 1.8 3.9 1.8 1.7 0 2.9-0.6 3.8-1.7 0.9-1.2 1.4-2.9 1.4-5 0-2.2-0.5-3.9-1.4-5-0.9-1.2-2.1-1.8-3.7-1.8zm19 14.4v-8.9c0-3.6-1.2-5.5-3.6-5.5-1.3 0-2.4 0.6-3.3 1.7-0.8 1-1.2 2.4-1.2 4v8.7h-1.3v-15.2h1.3v2.7c1-2.1 2.6-3.1 4.7-3.1 1.5 0 2.6 0.5 3.4 1.6s1.2 2.7 1.2 4.7v9.3z" class="g2_1"/>
<path style="stroke:#000;fill:none" d="m686.5 20.5h7" class="g3_1"/>
<path d="m706.4 28.4c-1.1 0.7-2.3 1-3.7 1-1.8 0-3.4-0.7-4.5-2.1-1.1-1.5-1.7-3.3-1.7-5.6 0-2.5 0.6-4.5 1.9-6 1.3-1.6 3-2.3 5-2.3 1 0 2 0.2 3 0.7v1.5c-1-0.6-2-1-3.2-1-1.6 0-2.9 0.7-3.9 2-1 1.2-1.5 2.9-1.5 5 0 1.9 0.4 3.5 1.3 4.7 1 1.2 2.2 1.8 3.7 1.8 1.4 0 2.5-0.4 3.6-1.2zm8.8 1c-2 0-3.6-0.7-4.8-2.2-1.1-1.5-1.7-3.4-1.7-5.7 0-2.6 0.6-4.5 1.8-6 1.2-1.4 2.9-2.1 4.9-2.1 1.9 0 3.5 0.7 4.6 2.1s1.7 3.4 1.7 5.9c0 2.4-0.6 4.3-1.7 5.8-1.2 1.5-2.8 2.2-4.8 2.2zm0.1-14.8c-1.6 0-2.9 0.6-3.9 1.9-0.9 1.2-1.4 2.9-1.4 5 0 2 0.5 3.6 1.4 4.8s2.2 1.8 3.8 1.8c1.7 0 3-0.6 3.9-1.7 0.9-1.2 1.3-2.9 1.3-5 0-2.2-0.4-3.9-1.3-5-0.9-1.2-2.2-1.8-3.8-1.8zm26.9 14.4v-9.2c0-1.9-0.3-3.2-0.8-4s-1.4-1.2-2.6-1.2c-1 0-2 0.5-2.8 1.6-0.8 1-1.2 2.3-1.2 3.9v8.9h-1.2v-9.3c0-3.4-1.2-5.1-3.5-5.1-1.1 0-2 0.6-2.8 1.6-0.7 1-1.1 2.4-1.1 4v8.8h-1.2v-15.2h1.2v2.5h0.1c0.9-2 2.3-2.9 4.2-2.9 1 0 1.8 0.3 2.5 0.9 0.7 0.7 1.2 1.5 1.5 2.6 0.4-1.1 1-2 1.8-2.6s1.7-0.9 2.6-0.9c3 0 4.5 2 4.5 6.2v9.4zm7-2.7h-0.1v9.8h-1.2v-22.3h1.2v3.1h0.1c0.5-1.1 1.2-2 2.1-2.6s1.9-0.9 3-0.9c1.8 0 3.1 0.6 4.1 2 1 1.3 1.5 3.1 1.5 5.4 0 2.6-0.6 4.7-1.7 6.2-1.1 1.6-2.6 2.4-4.5 2.4-2 0-3.5-1-4.5-3.1zm-0.1-5.7v2c0 1.5 0.5 2.8 1.3 3.9 0.9 1.1 2 1.6 3.5 1.6 1.4 0 2.5-0.6 3.4-2 0.8-1.3 1.3-3.1 1.3-5.2 0-1.9-0.4-3.5-1.2-4.6s-1.9-1.7-3.2-1.7c-1.6 0-2.9 0.6-3.8 1.8-0.8 1.2-1.3 2.6-1.3 4.2zm22.3 8.4v-3h-0.1c-0.4 1-1.1 1.9-1.9 2.5s-1.8 0.9-2.8 0.9c-1.3 0-2.3-0.4-3.1-1.2-0.7-0.8-1.1-1.9-1.1-3.1 0-2.7 1.6-4.3 4.7-4.8l4.3-0.7c0-3.3-1.1-5-3.4-5-1.5 0-2.9 0.7-4.4 2.1v-1.7c0.6-0.4 1.2-0.8 2.1-1.1 0.9-0.4 1.7-0.5 2.5-0.5 1.4 0 2.5 0.5 3.3 1.4 0.7 1 1.1 2.4 1.1 4.3v9.9zm-3.8-7.6c-1.4 0.2-2.5 0.6-3 1.1-0.6 0.5-0.9 1.4-0.9 2.5 0 0.9 0.3 1.7 0.8 2.3s1.3 0.8 2.3 0.8c1.3 0 2.4-0.5 3.3-1.6 0.8-1.1 1.3-2.5 1.3-4.2v-1.5zm18.2 7c-1 0.7-2.2 1-3.6 1-1.9 0-3.4-0.7-4.6-2.1-1.1-1.5-1.7-3.3-1.7-5.6 0-2.5 0.7-4.5 2-6 1.2-1.6 2.9-2.3 4.9-2.3 1.1 0 2.1 0.2 3.1 0.7v1.5c-1-0.6-2.1-1-3.3-1-1.6 0-2.9 0.7-3.9 2-1 1.2-1.5 2.9-1.5 5 0 1.9 0.5 3.5 1.4 4.7s2.1 1.8 3.6 1.8c1.4 0 2.6-0.4 3.6-1.2zm8.8 0.4c-0.7 0.4-1.3 0.5-1.8 0.5-2.1 0-3.1-1.3-3.1-4v-10.3h-2.5v-1.2h2.5v-4l0.6-0.3c0.3 0 0.4-0.1 0.6-0.2v4.5h3.7v1.2h-3.7v10.1c0 1 0.2 1.8 0.5 2.3s0.8 0.7 1.5 0.7c0.5 0 1.1-0.2 1.7-0.6zm14.1-7.1c0 5.1-1.6 7.7-4.8 7.7-0.5 0-1-0.1-1.4-0.2v-1.5c0.5 0.2 1 0.3 1.4 0.3 1.3 0 2.2-0.5 2.7-1.5 0.6-1.1 0.8-2.7 0.8-4.9v-14h1.3zm4.5 6.6v-1.7c1.4 1 2.8 1.4 4.2 1.4 1.5 0 2.7-0.3 3.5-1 0.7-0.7 1.1-1.7 1.1-2.9 0-1.1-0.2-2-0.8-2.6-0.5-0.7-1.6-1.5-3.4-2.7-1.9-1.2-3.2-2.3-3.7-3.1-0.5-0.9-0.8-1.9-0.8-3 0-1.5 0.6-2.8 1.6-3.8 1.1-1.1 2.5-1.6 4.3-1.6 1.1 0 2.3 0.2 3.4 0.6v1.6c-1.1-0.6-2.3-0.9-3.6-0.9s-2.4 0.4-3.1 1.1c-0.8 0.8-1.2 1.7-1.2 2.8s0.3 2 0.8 2.6c0.5 0.7 1.7 1.6 3.4 2.7 1.8 1.1 3 2.1 3.6 3s0.9 1.9 0.9 3c0 1.7-0.5 3-1.5 4.1-1.1 1-2.5 1.5-4.4 1.5-0.6 0-1.4-0.1-2.3-0.3-0.8-0.3-1.5-0.5-2-0.8zm22.3 1.1c-2.7 0-4.9-1-6.5-3s-2.4-4.6-2.4-7.9c0-3.4 0.8-6.1 2.5-8.1 1.6-2.1 3.9-3.1 6.8-3.1 2.6 0 4.7 1 6.3 2.9 1.6 2 2.4 4.6 2.4 7.8 0 3.5-0.8 6.3-2.5 8.4-1.6 2-3.8 3-6.6 3zm0.2-20.8c-2.3 0-4.1 0.9-5.6 2.7-1.4 1.8-2.1 4.2-2.1 7.1s0.7 5.3 2 7c1.4 1.8 3.2 2.6 5.5 2.6 2.4 0 4.3-0.8 5.7-2.5 1.3-1.8 2-4.2 2-7.3 0-3-0.6-5.3-2-7s-3.2-2.6-5.5-2.6zm26.1 20.4-11.4-17.3c-0.3-0.3-0.5-0.7-0.6-1l-0.2-0.3h-0.1c0 0.2 0.1 0.6 0.1 0.9v17.7h-1.4v-21.4h1l11.4 17.2c0.3 0.3 0.5 0.8 0.9 1.4v-1.8-16.8h1.3v21.4z" class="g2_1"/>
<title>xml_js Page1</title>
</svg>

After

Width:  |  Height:  |  Size: 154 KiB

BIN
View File
Binary file not shown.
Generated Vendored Executable
+80
View File
@@ -0,0 +1,80 @@
#!/usr/bin/env node
/*jslint node:true*/
var fs = require('fs');
var package = require('../package.json');
var common = require('../lib/common');
var xml2json = require('../lib/xml2json');
var json2xml = require('../lib/json2xml');
var output = '';
var stream = '';
var options = {};
var requiredArgs = [
{arg: 'src', type: 'file', option: 'src', desc: 'Input file that need to be converted.'}
];
var optionalArgs = [
{arg: 'help', alias: 'h', type: 'flag', option: 'help', desc: 'Display this help content.'},
{arg: 'version', alias: 'v', type: 'flag', option: 'version', desc: 'Display version number of this module.'},
{arg: 'out', type: 'file', option: 'out', desc: 'Output file where the converted result should be written.'},
{arg: 'to-json', type: 'flag', option:'toJason', desc: 'Convert.'},
{arg: 'compact', type: 'flag', option:'compact', desc: 'Compact JSON form (see www.npmjs.com/package/xml-js).'},
{arg: 'spaces', type: 'number', option:'spaces', desc: 'Specifies amount of space indentation in the output.'},
{arg: 'trim', type: 'flag', option:'trim', desc: 'Whitespaces surrounding texts will be trimmed.'},
{arg: 'sanitize', type: 'flag', option:'sanitize', desc: 'Special xml characters will be replaced with entity codes.'},
{arg: 'native-type', type: 'flag', option:'nativeType', desc: 'Numbers and boolean will be converted (coreced) to native type instead of text.'},
{arg: 'always-children', type: 'flag', option:'alwaysChildren', desc: 'Every element will always contain sub-elements (applicable if --compact is not set).'},
{arg: 'full-tag', type: 'flag', option:'fullTagEmptyElement', desc: 'XML elements will always be in <a></a> form.'},
{arg: 'no-decl', type: 'flag', option:'ignoreDeclaration', desc: 'Declaration instruction <?xml ..?> will be ignored.'},
{arg: 'no-attr', type: 'flag', option:'ignoreAttributes', desc: 'Attributes of elements will be ignored.'},
{arg: 'no-text', type: 'flag', option:'ignoreText', desc: 'Texts of elements will be ignored.'},
{arg: 'no-cdata', type: 'flag', option:'ignoreCdata', desc: 'Cdata of elements will be ignored.'},
{arg: 'no-comment', type: 'flag', option:'ignoreComment', desc: 'Comments of elements will be ignored.'},
{arg: 'text-key', type: 'string', option:'textKey', desc: 'To change the default \'text\' key.'},
{arg: 'cdata-key', type: 'string', option:'cdataKey', desc: 'To change the default \'cdata\' key.'},
{arg: 'comment-key', type: 'string', option:'commentKey', desc: 'To change the default \'comment\' key.'},
{arg: 'attributes-key', type: 'string', option:'attributesKey', desc: 'To change the default \'attributes\' key.'},
{arg: 'declaration-key', type: 'string', option:'declarationKey', desc: 'To change the default \'declaration\' key.'},
{arg: 'type-key', type: 'string', option:'typeKey', desc: 'To change the default \'type\' key (applicable if --compact is not set).'},
{arg: 'cdata-key', type: 'string', option:'name', desc: 'To change the default \'name\' key (applicable if --compact is not set).'},
{arg: 'elements-key', type: 'string', option:'elements', desc: 'To change the default \'elements\' key (applicable if --compact is not set).'}
];
process.stdin.setEncoding('utf8');
process.stdin.on('readable', function () {
var chunk = process.stdin.read();
if (chunk !== null) {
stream += chunk;
}
});
process.stdin.on('end', function () {
process.stdout.write(xml2json(stream, {}) + '\n');
});
options = common.mapCommandLineArgs(requiredArgs, optionalArgs);
if (options.version) {
console.log(package.version);
process.exit(0);
} else if (options.help || process.argv.length <= 2 + requiredArgs.length - 1) {
console.log(common.getCommandLineHelp('xml-js', requiredArgs, optionalArgs));
process.exit(process.argv.length <= 2 ? 1 : 0);
} else if ('src' in options) {
//console.log('---------------' + fs.statSync(options.src).isFile());
if (fs.statSync(options.src).isFile()) {
if (options.src.split('.').pop() === 'xml') {
output = xml2json(fs.readFileSync(options.src, 'utf8'), options);
} else if (options.src.split('.').pop() === 'json') {
output = json2xml(fs.readFileSync(options.src, 'utf8'), options);
}
if (options.out) {
fs.writeFileSync(options.out, output, 'utf8');
} else {
console.log(output);
}
process.exit(0);
}
} else {
process.exit(1);
}
+3
View File
@@ -0,0 +1,3 @@
<a x="1">
<b>bye!</b>
</a>
+1
View File
@@ -0,0 +1 @@
module.exports = require('./lib');
+73
View File
@@ -0,0 +1,73 @@
/*jslint node:true */
module.exports = {
sanitize: function (text) {
return text.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#39;");
},
copyOptions: function (options) {
var key, copy = {};
for (key in options) {
if (options.hasOwnProperty(key)) {
copy[key] = options[key];
}
}
return copy;
},
ensureFlagExists: function (item, options) {
if (!(item in options) || typeof options[item] !== 'boolean') {
options[item] = false;
}
},
ensureSpacesExists: function (options) {
if (!('spaces' in options) || (typeof options.spaces !== 'number' && typeof options.spaces !== 'string')) {
options.spaces = 0;
}
},
ensureKeyExists: function (key, options) {
if (!(key + 'Key' in options) || typeof options[key + 'Key'] !== 'string') {
options[key + 'Key'] = options.compact ? '_' + key : key;
}
},
getCommandLineHelp: function (command, requiredArgs, optionalArgs) {
var reqArgs = requiredArgs.reduce(function (res, arg) {return res + ' <' + arg.arg + '>';}, '');
var output = 'Usage: ' + command + reqArgs + ' [options]' + '\n';
requiredArgs.forEach(function (argument) {
output += ' <' + argument.arg + '>' + Array(20 - argument.arg.length).join(' ') + argument.desc + '\n';
});
output += '\nOptions:' + '\n';
optionalArgs.forEach(function (argument) {
output += ' --' + argument.arg + Array(20 - argument.arg.length).join(' ') + argument.desc + '\n';
});
return output;
},
mapCommandLineArgs: function (requiredArgs, optionalArgs) {
var options = {}, r, o, a = 2;
for (r = 0; r < requiredArgs.length; r += 1) {
if (a < process.argv.length && process.argv[a].substr(0, 1) !== '-' && process.argv[a] !== 'JASMINE_CONFIG_PATH=./jasmine.json') {
options[requiredArgs[r].option] = process.argv[a++];
} else {
break;
}
}
for (; a < process.argv.length; a += 1) {
for (o = 0; o < optionalArgs.length; o += 1) {
if (optionalArgs[o].alias === process.argv[a].slice(1) || optionalArgs[o].arg === process.argv[a].slice(2)) {
break;
}
}
if (o < optionalArgs.length) {
switch (optionalArgs[o].type) {
case 'file': case 'string': case 'number':
if (a + 1 < process.argv.length) {
a += 1;
options[optionalArgs[o].option] = (optionalArgs[o].type === 'number' ? Number(process.argv[a]) : process.argv[a]);
}
break;
case 'flag':
options[optionalArgs[o].option] = true; break;
}
}
}
return options;
}
};
+13
View File
@@ -0,0 +1,13 @@
/*jslint node:true */
var xml2js = require('./xml2js');
var xml2json = require('./xml2json');
var js2xml = require('./js2xml');
var json2xml = require('./json2xml');
module.exports = {
xml2js: xml2js,
xml2json: xml2json,
js2xml: js2xml,
json2xml: json2xml
};
+169
View File
@@ -0,0 +1,169 @@
/*jslint node:true */
var common = require('./common');
function validateOptions (userOptions) {
var options = common.copyOptions(userOptions);
common.ensureFlagExists('ignoreDeclaration', options);
common.ensureFlagExists('ignoreAttributes', options);
common.ensureFlagExists('ignoreText', options);
common.ensureFlagExists('ignoreComment', options);
common.ensureFlagExists('ignoreCdata', options);
common.ensureFlagExists('compact', options);
common.ensureFlagExists('fullTagEmptyElement', options);
common.ensureSpacesExists(options);
if (typeof options.spaces === 'number') {
options.spaces = Array(options.spaces + 1).join(' ');
}
common.ensureKeyExists('declaration', options);
common.ensureKeyExists('attributes', options);
common.ensureKeyExists('text', options);
common.ensureKeyExists('comment', options);
common.ensureKeyExists('cdata', options);
common.ensureKeyExists('type', options);
common.ensureKeyExists('name', options);
common.ensureKeyExists('elements', options);
return options;
}
function writeIndentation (options, depth, firstLine) {
return (!firstLine && options.spaces ? '\n' : '') + Array(depth + 1).join(options.spaces);
}
function writeAttributes (attributes) {
var key, result = '';
for (key in attributes) {
if (attributes.hasOwnProperty(key)) {
result += ' ' + key + '="' + attributes[key] + '"';
}
}
return result;
}
function writeDeclaration (declaration, options) {
return '<?xml' + writeAttributes(declaration[options.attributesKey]) + '?>';
}
function writeComment (element, options) {
return options.ignoreComment ? '' : '<!--' + element[options.commentKey] + '-->';
}
function writeCdata (element, options) {
return options.ignoreCdata ? '' : '<![CDATA[' + element[options.cdataKey] + ']]>';
}
function writeText (element, options) {
return options.ignoreText ? '' : element[options.textKey].replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#39;");
}
function writeElement (element, options, depth) {
var xml = '';
xml += '<' + element.name;
if (element[options.attributesKey]) {
xml += writeAttributes(element[options.attributesKey]);
}
if (options.fullTagEmptyElement || (element[options.elementsKey] && element[options.elementsKey].length) || (element[options.attributesKey] && element[options.attributesKey]['xml:space'] === 'preserve')) {
xml += '>';
if (element[options.elementsKey] && element[options.elementsKey].length) {
xml += writeElements(element[options.elementsKey], options, depth + 1);
}
xml += (options.spaces && element[options.elementsKey] && element[options.elementsKey].length && (element[options.elementsKey].length > 1 || element[options.elementsKey][0].type !== 'text') ? '\n' : '') + Array(depth + 1).join(options.spaces);
xml += '</' + element.name + '>';
} else {
xml += '/>';
}
return xml;
}
function writeElements (elements, options, depth, firstLine) {
var indent = writeIndentation(options, depth, firstLine);
return elements.reduce(function (xml, element) {
switch (element.type) {
case 'element': return xml + indent + writeElement(element, options, depth);
case 'comment': return xml + indent + writeComment(element, options);
case 'cdata': return xml + indent + writeCdata(element, options);
case 'text': return xml + writeText(element, options);
}
}, '');
}
function hasContent (element, options, skipText) {
var key;
for (key in element) {
if (element.hasOwnProperty(key)) {
switch (key) {
case options.textKey:
if (!skipText) {
return true;
}
break; // skip to next key
case options.parentKey:
case options.attributesKey:
break; // skip to next key
case options.cdataKey:
case options.commentKey:
case options.declarationKey:
return true;
default:
return true;
}
}
}
return false;
}
function writeElementCompact (element, name, options, depth, indent) {
var xml = '';
if (name) {
xml += '<' + name;
if (element[options.attributesKey]) {
xml += writeAttributes(element[options.attributesKey]);
}
if (options.fullTagEmptyElement || hasContent(element, options) || element[options.attributesKey] && element[options.attributesKey]['xml:space'] === 'preserve') {
xml += '>';
} else {
xml += '/>';
return xml;
}
}
xml += writeElementsCompact(element, options, depth + 1, false);
if (name) {
xml += (indent ? writeIndentation(options, depth, false) : '') + '</' + name + '>';
}
return xml;
}
function writeElementsCompact (element, options, depth, firstLine) {
var key, xml = '';
for (key in element) {
if (element.hasOwnProperty(key)) {
switch (key) {
case options.declarationKey: xml += writeDeclaration(element[options.declarationKey], options); break;
case options.attributesKey: case options.parentKey: break; // skip
case options.textKey: xml += writeText(element, options); break;
case options.cdataKey: xml += writeIndentation(options, depth, firstLine) + writeCdata(element, options); break;
case options.commentKey: xml += writeIndentation(options, depth, firstLine) + writeComment(element, options); break;
default: xml += writeIndentation(options, depth, firstLine) + writeElementCompact(element[key], key, options, depth, hasContent(element[key], options, true));
}
firstLine = firstLine && !xml;
}
}
return xml;
}
module.exports = function (js, options) {
'use strict';
options = validateOptions(options);
var xml = '';
if (options.compact) {
xml = writeElementsCompact(js, options, 0, true);
} else {
if (js[options.declarationKey]) {
xml += writeDeclaration(js[options.declarationKey], options);
}
if (js[options.elementsKey] && js[options.elementsKey].length) {
xml += writeElements(js[options.elementsKey], options, 0, !xml);
}
}
return xml;
};
+20
View File
@@ -0,0 +1,20 @@
/*jslint node:true */
var js2xml = require('./js2xml.js');
module.exports = function (json, options) {
'use strict';
if (json instanceof Buffer) {
json = json.toString();
}
var js = null;
if (typeof (json) === 'string') {
try {
js = JSON.parse(json);
} catch (e) {
throw new Error("The JSON structure is invalid");
}
} else {
js = json;
}
return js2xml(js, options);
};
+242
View File
@@ -0,0 +1,242 @@
/*jslint node:true */
var sax = require('sax');
var expat /*= require('node-expat');*/ = {on: function () {}, parse: function () {}};
var common = require('./common');
var options;
var pureJsParser = 1; //true;
var currentElement;
function validateOptions (userOptions) {
options = common.copyOptions(userOptions);
common.ensureFlagExists('ignoreDeclaration', options);
common.ensureFlagExists('ignoreAttributes', options);
common.ensureFlagExists('ignoreText', options);
common.ensureFlagExists('ignoreComment', options);
common.ensureFlagExists('ignoreCdata', options);
common.ensureFlagExists('compact', options);
common.ensureFlagExists('alwaysChildren', options);
common.ensureFlagExists('addParent', options);
common.ensureFlagExists('trim', options);
common.ensureFlagExists('nativeType', options);
common.ensureFlagExists('sanitize', options);
common.ensureKeyExists('declaration', options);
common.ensureKeyExists('attributes', options);
common.ensureKeyExists('text', options);
common.ensureKeyExists('comment', options);
common.ensureKeyExists('cdata', options);
common.ensureKeyExists('type', options);
common.ensureKeyExists('name', options);
common.ensureKeyExists('elements', options);
common.ensureKeyExists('parent', options);
return options;
}
function nativeType (value) {
var nValue = Number(value);
if (!isNaN(nValue)) {
return nValue;
}
var bValue = value.toLowerCase();
if (bValue === 'true') {
return true;
} else if (bValue === 'false') {
return false;
}
return value;
}
function addField (type, value, options) {
if (options.compact) {
currentElement[options[type + 'Key']] = (currentElement[options[type + 'Key']] ? currentElement[options[type + 'Key']] + '\n' : '') + value;
} else {
if (!currentElement[options.elementsKey]) {
currentElement[options.elementsKey] = [];
}
var element = {};
element[options.typeKey] = type;
element[options[type + 'Key']] = value;
if (options.addParent) {
element[options.parentKey] = currentElement;
}
currentElement[options.elementsKey].push(element);
}
}
function onDeclaration (declaration) {
if (options.ignoreDeclaration) {
return;
}
if (currentElement[options.declarationKey]) {
return;
}
currentElement[options.declarationKey] = {};
while (declaration.body) {
var attribute = declaration.body.match(/([\w:-]+)\s*=\s*"([^"]*)"|'([^']*)'|(\w+)\s*/);
if (!attribute) {
break;
}
if (!currentElement[options.declarationKey][options.attributesKey]) {
currentElement[options.declarationKey][options.attributesKey] = {};
}
currentElement[options.declarationKey][options.attributesKey][attribute[1]] = attribute[2];
declaration.body = declaration.body.slice(attribute[0].length); // advance the string
}
if (options.addParent && options.compact) {
currentElement[options.declarationKey][options.parentKey] = currentElement;
}
//console.error('result[options.declarationKey]', result[options.declarationKey]);
}
function onStartElement (name, attributes) {
var key, element;
if (typeof name === 'object') {
attributes = name.attributes;
name = name.name;
}
if (options.trim && attributes) {
for (key in attributes) {
if (attributes.hasOwnProperty(key)) {
attributes[key] = attributes[key].trim();
}
}
}
if (options.compact) {
element = {};
if (!options.ignoreAttributes && attributes && Object.keys(attributes).length) {
element[options.attributesKey] = {};
for (key in attributes) {
if (attributes.hasOwnProperty(key)) {
element[options.attributesKey][key] = attributes[key];
}
}
}
element[options.parentKey] = currentElement;
if (!(name in currentElement)) {
currentElement[name] = element;
} else {
if (!(currentElement[name] instanceof Array)) {
currentElement[name] = [currentElement[name]];
}
currentElement[name].push(element);
}
currentElement = element;
} else {
if (!currentElement[options.elementsKey]) {
currentElement[options.elementsKey] = [];
}
element = {};
element[options.typeKey] = 'element';
element[options.nameKey] = name;
if (!options.ignoreAttributes && attributes && Object.keys(attributes).length) {
element[options.attributesKey] = attributes;
}
element[options.parentKey] = currentElement;
if (options.alwaysChildren) {
element[options.elementsKey] = [];
}
currentElement[options.elementsKey].push(element);
currentElement = element;
}
}
function onText (text) {
//console.log('currentElement:', currentElement);
if (options.ignoreText) {
return;
}
if (!text.trim()) {
return;
}
if (options.trim) {
text = text.trim();
}
if (options.nativeType) {
text = nativeType(text);
}
if (options.sanitize) {
text = common.sanitize(text);
}
addField('text', text, options);
}
function onComment (comment) {
if (options.ignoreComment) {
return;
}
if (options.trim) {
comment = comment.trim();
}
if (options.sanitize) {
comment = common.sanitize(comment);
}
addField('comment', comment, options);
}
function onEndElement (name) {
var parentElement = currentElement[options.parentKey];
if (!options.addParent) {
delete currentElement[options.parentKey];
}
currentElement = parentElement;
}
function onCdata (cdata) {
if (options.ignoreCdata) {
return;
}
if (options.trim) {
cdata = cdata.trim();
}
addField('cdata', cdata, options);
}
function onError (error) {
error.note = error; //console.error(error);
}
module.exports = function (xml, userOptions) {
var parser = pureJsParser ? sax.parser(true, {}) : parser = new expat.Parser('UTF-8');
var result = {};
currentElement = result;
options = validateOptions(userOptions);
if (pureJsParser) {
parser.onopentag = onStartElement;
parser.ontext = onText;
parser.oncomment = onComment;
parser.onclosetag = onEndElement;
parser.onerror = onError;
parser.oncdata = onCdata;
parser.onprocessinginstruction = onDeclaration;
} else {
parser.on('startElement', onStartElement);
parser.on('text', onText);
parser.on('comment', onComment);
parser.on('endElement', onEndElement);
parser.on('error', onError);
//parser.on('startCdata', onStartCdata);
//parser.on('endCdata', onEndCdata);
//parser.on('entityDecl', onEntityDecl);
}
if (pureJsParser) {
parser.write(xml).close();
} else {
if (!parser.parse(xml)) {
throw new Error('XML parsing error: ' + parser.getError());
}
}
if (result[options.elementsKey]) {
var temp = result[options.elementsKey];
delete result[options.elementsKey];
result[options.elementsKey] = temp;
delete result.text;
}
return result;
};
+23
View File
@@ -0,0 +1,23 @@
/*jslint node:true */
var common = require('./common');
var xml2js = require('./xml2js');
function validateOptions (userOptions) {
var options = common.copyOptions(userOptions);
common.ensureSpacesExists(options);
return options;
}
module.exports = function(xml, userOptions) {
'use strict';
var options, js, json, parentKey;
options = validateOptions(userOptions);
js = xml2js(xml, options);
parentKey = 'compact' in options && options.compact ? '_parent' : 'parent';
if ('addParent' in options && options.addParent) {
json = JSON.stringify(js, function (k, v) { return k === parentKey? '_' : v; }, options.spaces);
} else {
json = JSON.stringify(js, null, options.spaces);
}
return json.replace(/\u2028/g, '\\u2028').replace(/\u2029/g, '\\u2029');
};
+147
View File
@@ -0,0 +1,147 @@
{
"_args": [
[
"xml-js",
"/home/osboxes/code/pentext/editor"
]
],
"_from": "xml-js@latest",
"_id": "xml-js@0.9.5",
"_inCache": true,
"_installable": true,
"_location": "/xml-js",
"_nodeVersion": "6.2.1",
"_npmOperationalInternal": {
"host": "packages-16-east.internal.npmjs.com",
"tmp": "tmp/xml-js-0.9.5.tgz_1473237043835_0.4047174428123981"
},
"_npmUser": {
"email": "ysf953@gmail.com",
"name": "nashwaan"
},
"_npmVersion": "3.9.3",
"_phantomChildren": {},
"_requested": {
"name": "xml-js",
"raw": "xml-js",
"rawSpec": "",
"scope": null,
"spec": "latest",
"type": "tag"
},
"_requiredBy": [
"#USER"
],
"_resolved": "https://registry.npmjs.org/xml-js/-/xml-js-0.9.5.tgz",
"_shasum": "87709f72bbb5ccac55790ad095635346527d523b",
"_shrinkwrap": null,
"_spec": "xml-js",
"_where": "/home/osboxes/code/pentext/editor",
"author": {
"name": "Yousuf Almarzooqi"
},
"bin": {
"xml-js": "./bin/cli.js"
},
"bugs": {
"url": "https://github.com/nashwaan/xml-js/issues"
},
"dependencies": {
"sax": "^1.2.1"
},
"description": "A convertor between XML text and Javascript object / JSON text.",
"devDependencies": {
"biased-opener": "^0.2.8",
"browser-sync": "^2.14.3",
"cash-cat": "^0.2.0",
"codacy-coverage": "^2.0.0",
"codeclimate-test-reporter": "^0.3.3",
"coveralls": "^2.11.12",
"cross-env": "^2.0.1",
"globify": "^1.2.2",
"istanbul": "^0.4.5",
"jasmine": "^2.4.1",
"node-inspector": "^0.12.8",
"nodemon": "^1.10.2",
"npm-run-all": "^3.1.0",
"watch": "^0.19.2"
},
"directories": {},
"dist": {
"shasum": "87709f72bbb5ccac55790ad095635346527d523b",
"tarball": "https://registry.npmjs.org/xml-js/-/xml-js-0.9.5.tgz"
},
"gitHead": "07ae49579d55307ed5a2926cfffb78c804abef7b",
"homepage": "https://github.com/nashwaan/xml-js#readme",
"keywords": [
"CDATA",
"JSON",
"Javascript",
"XML",
"cdata",
"conversion",
"convert",
"converting",
"convertor",
"js",
"js2xml",
"json",
"json2xml",
"parse",
"parser",
"parsing",
"transform",
"transformation",
"transformer",
"transforming",
"xml",
"xml2js",
"xml2json"
],
"license": "MIT",
"main": "index.js",
"maintainers": [
{
"name": "nashwaan",
"email": "ysf953@gmail.com"
}
],
"name": "xml-js",
"optionalDependencies": {},
"readme": "ERROR: No README data found!",
"repository": {
"type": "git",
"url": "git+https://github.com/nashwaan/xml-js.git"
},
"scripts": {
"bundle:jasmine": "globify test/*_test.js --watch --verbose --list --outfile test/browse-jasmine/bundle.js",
"coverage": "npm-run-all coverage:*",
"coverage:a-step": "npm run istanbul",
"coverage:codacy": "cross-env CODACY_PROJECT_TOKEN=0207815122ea49a68241d1aa435f21f1 cat ./test/browse-coverage/lcov.info | codacy-coverage",
"coverage:codeclimate": "cross-env CODECLIMATE_REPO_TOKEN=60848a077f9070acf358b0c7145f0a2698a460ddeca7d8250815e75aa4333f7d codeclimate-test-reporter < coverage\\lcov.info",
"coverage:coveralls": "cat ./test/browse-coverage/lcov.info | coveralls",
"debug": "npm-run-all --parallel debug:*",
"debug:jasmine": "nodemon --watch lib/ --watch test/ --debug-brk test/index.js",
"debug:listener": "node-inspector",
"debug:live": "browser-sync start --port 8080 --server --startPath ?port=5858 --files lib/ test/ --no-open --no-ui --no-online",
"debug:open": "biased-opener --browser chrome http://localhost:8080/?port=5858",
"deploy": "npm-run-all --serial istanbul:coveralls git:commit",
"git:commit": "git add . && git commit -a -m \"Committed by npm script.\" && git push origin master",
"git:push": "git push origin master",
"istanbul": "istanbul cover --dir test/browse-coverage -x test/browse-** test/index.js",
"jasmine": "jasmine JASMINE_CONFIG_PATH=./test/jasmine.json",
"live": "npm-run-all --parallel live:* open:*",
"live:istanbul": "browser-sync start --port 9992 --server test/browse-coverage/lcov-report/ --files test/browse-coverage/lcov-report/ --no-open --no-ui --no-online",
"live:jasmine": "browser-sync start --port 9991 --server test/browse-jasmine/ --files test/browse-jasmine/ --no-open --no-ui --no-online",
"open:istanbul": "biased-opener --browser chrome http://localhost:9992",
"open:jasmine": "biased-opener --browser chrome http://localhost:9991",
"start": "npm-run-all --parallel bundle:jasmine watch:istanbul live:* open:*",
"test": "npm run jasmine",
"update-packages": "npm-check-updates --upgrade --loglevel verbose",
"watch:istanbul": "watch \"npm run istanbul\" lib/ test/ --ignoreDirectoryPattern=/browse-.+/",
"watch:jasmine": "watch \"npm run jasmine\" lib/ test/",
"xdebug:cli": "nodemon --watch lib/ --debug-brk index.js -- --help",
"xprepublish": "npm run test"
},
"version": "0.9.5"
}
+26
View File
@@ -0,0 +1,26 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Jasmine Spec Runner v2.5.0</title>
<link rel="shortcut icon" type="image/png" href="lib/jasmine-2.5.0/jasmine_favicon.png">
<link rel="stylesheet" href="lib/jasmine-2.5.0/jasmine.css">
<script src="lib/jasmine-2.5.0/jasmine.js"></script>
<script src="lib/jasmine-2.5.0/jasmine-html.js"></script>
<script src="lib/jasmine-2.5.0/boot.js"></script>
<!-- include source files here... -->
<script src="src/Player.js"></script>
<script src="src/Song.js"></script>
<!-- include spec files here... -->
<script src="spec/SpecHelper.js"></script>
<script src="spec/PlayerSpec.js"></script>
</head>
<body>
</body>
</html>
File diff suppressed because it is too large Load Diff
+23
View File
@@ -0,0 +1,23 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Jasmine Spec Runner v2.5.0</title>
<link rel="shortcut icon" type="image/png" href="lib/jasmine-2.5.0/jasmine_favicon.png">
<link rel="stylesheet" href="lib/jasmine-2.5.0/jasmine.css">
<script src="lib/jasmine-2.5.0/jasmine.js"></script>
<script src="lib/jasmine-2.5.0/jasmine-html.js"></script>
<script src="lib/jasmine-2.5.0/boot.js"></script>
<script src="bundle.js"></script>
</head>
<body>
</body>
</html>
Binary file not shown.
@@ -0,0 +1,130 @@
/**
Starting with version 2.0, this file "boots" Jasmine, performing all of the necessary initialization before executing the loaded environment and all of a project's specs. This file should be loaded after `jasmine.js` and `jasmine_html.js`, but before any project source files or spec files are loaded. Thus this file can also be used to customize Jasmine for a project.
If a project is using Jasmine via the standalone distribution, this file can be customized directly. If a project is using Jasmine via the [Ruby gem][jasmine-gem], this file can be copied into the support directory via `jasmine copy_boot_js`. Other environments (e.g., Python) will have different mechanisms.
The location of `boot.js` can be specified and/or overridden in `jasmine.yml`.
[jasmine-gem]: http://github.com/pivotal/jasmine-gem
*/
(function() {
/**
* ## Require &amp; Instantiate
*
* Require Jasmine's core files. Specifically, this requires and attaches all of Jasmine's code to the `jasmine` reference.
*/
window.jasmine = jasmineRequire.core(jasmineRequire);
/**
* Since this is being run in a browser and the results should populate to an HTML page, require the HTML-specific Jasmine code, injecting the same reference.
*/
jasmineRequire.html(jasmine);
/**
* Create the Jasmine environment. This is used to run all specs in a project.
*/
var env = jasmine.getEnv();
/**
* ## The Global Interface
*
* Build up the functions that will be exposed as the Jasmine public interface. A project can customize, rename or alias any of these functions as desired, provided the implementation remains unchanged.
*/
var jasmineInterface = jasmineRequire.interface(jasmine, env);
/**
* Add all of the Jasmine global/public interface to the global scope, so a project can use the public interface directly. For example, calling `describe` in specs instead of `jasmine.getEnv().describe`.
*/
extend(window, jasmineInterface);
/**
* ## Runner Parameters
*
* More browser specific code - wrap the query string in an object and to allow for getting/setting parameters from the runner user interface.
*/
var queryString = new jasmine.QueryString({
getWindowLocation: function() { return window.location; }
});
var catchingExceptions = queryString.getParam("catch");
env.catchExceptions(typeof catchingExceptions === "undefined" ? true : catchingExceptions);
var throwingExpectationFailures = queryString.getParam("throwFailures");
env.throwOnExpectationFailure(throwingExpectationFailures);
var random = queryString.getParam("random");
env.randomizeTests(random);
var seed = queryString.getParam("seed");
if (seed) {
env.seed(seed);
}
/**
* ## Reporters
* The `HtmlReporter` builds all of the HTML UI for the runner page. This reporter paints the dots, stars, and x's for specs, as well as all spec names and all failures (if any).
*/
var htmlReporter = new jasmine.HtmlReporter({
env: env,
onRaiseExceptionsClick: function() { queryString.navigateWithNewParam("catch", !env.catchingExceptions()); },
onThrowExpectationsClick: function() { queryString.navigateWithNewParam("throwFailures", !env.throwingExpectationFailures()); },
onRandomClick: function() { queryString.navigateWithNewParam("random", !env.randomTests()); },
addToExistingQueryString: function(key, value) { return queryString.fullStringWithNewParam(key, value); },
getContainer: function() { return document.body; },
createElement: function() { return document.createElement.apply(document, arguments); },
createTextNode: function() { return document.createTextNode.apply(document, arguments); },
timer: new jasmine.Timer()
});
/**
* The `jsApiReporter` also receives spec results, and is used by any environment that needs to extract the results from JavaScript.
*/
env.addReporter(jasmineInterface.jsApiReporter);
env.addReporter(htmlReporter);
/**
* Filter which specs will be run by matching the start of the full name against the `spec` query param.
*/
var specFilter = new jasmine.HtmlSpecFilter({
filterString: function() { return queryString.getParam("spec"); }
});
env.specFilter = function(spec) {
return specFilter.matches(spec.getFullName());
};
/**
* Setting up timing functions to be able to be overridden. Certain browsers (Safari, IE 8, phantomjs) require this hack.
*/
window.setTimeout = window.setTimeout;
window.setInterval = window.setInterval;
window.clearTimeout = window.clearTimeout;
window.clearInterval = window.clearInterval;
/**
* ## Execution
*
* Replace the browser window's `onload`, ensure it's called, and then run all of the loaded specs. This includes initializing the `HtmlReporter` instance and then executing the loaded Jasmine environment. All of this will happen after all of the specs are loaded.
*/
var currentWindowOnload = window.onload;
window.onload = function() {
if (currentWindowOnload) {
currentWindowOnload();
}
htmlReporter.initialize();
env.execute();
};
/**
* Helper function for readability above.
*/
function extend(destination, source) {
for (var property in source) destination[property] = source[property];
return destination;
}
}());
@@ -0,0 +1,190 @@
/*
Copyright (c) 2008-2016 Pivotal Labs
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
function getJasmineRequireObj() {
if (typeof module !== 'undefined' && module.exports) {
return exports;
} else {
window.jasmineRequire = window.jasmineRequire || {};
return window.jasmineRequire;
}
}
getJasmineRequireObj().console = function(jRequire, j$) {
j$.ConsoleReporter = jRequire.ConsoleReporter();
};
getJasmineRequireObj().ConsoleReporter = function() {
var noopTimer = {
start: function(){},
elapsed: function(){ return 0; }
};
function ConsoleReporter(options) {
var print = options.print,
showColors = options.showColors || false,
onComplete = options.onComplete || function() {},
timer = options.timer || noopTimer,
specCount,
failureCount,
failedSpecs = [],
pendingCount,
ansi = {
green: '\x1B[32m',
red: '\x1B[31m',
yellow: '\x1B[33m',
none: '\x1B[0m'
},
failedSuites = [];
print('ConsoleReporter is deprecated and will be removed in a future version.');
this.jasmineStarted = function() {
specCount = 0;
failureCount = 0;
pendingCount = 0;
print('Started');
printNewline();
timer.start();
};
this.jasmineDone = function() {
printNewline();
for (var i = 0; i < failedSpecs.length; i++) {
specFailureDetails(failedSpecs[i]);
}
if(specCount > 0) {
printNewline();
var specCounts = specCount + ' ' + plural('spec', specCount) + ', ' +
failureCount + ' ' + plural('failure', failureCount);
if (pendingCount) {
specCounts += ', ' + pendingCount + ' pending ' + plural('spec', pendingCount);
}
print(specCounts);
} else {
print('No specs found');
}
printNewline();
var seconds = timer.elapsed() / 1000;
print('Finished in ' + seconds + ' ' + plural('second', seconds));
printNewline();
for(i = 0; i < failedSuites.length; i++) {
suiteFailureDetails(failedSuites[i]);
}
onComplete(failureCount === 0);
};
this.specDone = function(result) {
specCount++;
if (result.status == 'pending') {
pendingCount++;
print(colored('yellow', '*'));
return;
}
if (result.status == 'passed') {
print(colored('green', '.'));
return;
}
if (result.status == 'failed') {
failureCount++;
failedSpecs.push(result);
print(colored('red', 'F'));
}
};
this.suiteDone = function(result) {
if (result.failedExpectations && result.failedExpectations.length > 0) {
failureCount++;
failedSuites.push(result);
}
};
return this;
function printNewline() {
print('\n');
}
function colored(color, str) {
return showColors ? (ansi[color] + str + ansi.none) : str;
}
function plural(str, count) {
return count == 1 ? str : str + 's';
}
function repeat(thing, times) {
var arr = [];
for (var i = 0; i < times; i++) {
arr.push(thing);
}
return arr;
}
function indent(str, spaces) {
var lines = (str || '').split('\n');
var newArr = [];
for (var i = 0; i < lines.length; i++) {
newArr.push(repeat(' ', spaces).join('') + lines[i]);
}
return newArr.join('\n');
}
function specFailureDetails(result) {
printNewline();
print(result.fullName);
for (var i = 0; i < result.failedExpectations.length; i++) {
var failedExpectation = result.failedExpectations[i];
printNewline();
print(indent(failedExpectation.message, 2));
print(indent(failedExpectation.stack, 2));
}
printNewline();
}
function suiteFailureDetails(result) {
for (var i = 0; i < result.failedExpectations.length; i++) {
printNewline();
print(colored('red', 'An error was thrown in an afterAll'));
printNewline();
print(colored('red', 'AfterAll ' + result.failedExpectations[i].message));
}
printNewline();
}
}
return ConsoleReporter;
};
@@ -0,0 +1,481 @@
/*
Copyright (c) 2008-2016 Pivotal Labs
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
jasmineRequire.html = function(j$) {
j$.ResultsNode = jasmineRequire.ResultsNode();
j$.HtmlReporter = jasmineRequire.HtmlReporter(j$);
j$.QueryString = jasmineRequire.QueryString();
j$.HtmlSpecFilter = jasmineRequire.HtmlSpecFilter();
};
jasmineRequire.HtmlReporter = function(j$) {
var noopTimer = {
start: function() {},
elapsed: function() { return 0; }
};
function HtmlReporter(options) {
var env = options.env || {},
getContainer = options.getContainer,
createElement = options.createElement,
createTextNode = options.createTextNode,
onRaiseExceptionsClick = options.onRaiseExceptionsClick || function() {},
onThrowExpectationsClick = options.onThrowExpectationsClick || function() {},
onRandomClick = options.onRandomClick || function() {},
addToExistingQueryString = options.addToExistingQueryString || defaultQueryString,
timer = options.timer || noopTimer,
results = [],
specsExecuted = 0,
failureCount = 0,
pendingSpecCount = 0,
htmlReporterMain,
symbols,
failedSuites = [];
this.initialize = function() {
clearPrior();
htmlReporterMain = createDom('div', {className: 'jasmine_html-reporter'},
createDom('div', {className: 'jasmine-banner'},
createDom('a', {className: 'jasmine-title', href: 'http://jasmine.github.io/', target: '_blank'}),
createDom('span', {className: 'jasmine-version'}, j$.version)
),
createDom('ul', {className: 'jasmine-symbol-summary'}),
createDom('div', {className: 'jasmine-alert'}),
createDom('div', {className: 'jasmine-results'},
createDom('div', {className: 'jasmine-failures'})
)
);
getContainer().appendChild(htmlReporterMain);
};
var totalSpecsDefined;
this.jasmineStarted = function(options) {
totalSpecsDefined = options.totalSpecsDefined || 0;
timer.start();
};
var summary = createDom('div', {className: 'jasmine-summary'});
var topResults = new j$.ResultsNode({}, '', null),
currentParent = topResults;
this.suiteStarted = function(result) {
currentParent.addChild(result, 'suite');
currentParent = currentParent.last();
};
this.suiteDone = function(result) {
if (result.status == 'failed') {
failedSuites.push(result);
}
if (currentParent == topResults) {
return;
}
currentParent = currentParent.parent;
};
this.specStarted = function(result) {
currentParent.addChild(result, 'spec');
};
var failures = [];
this.specDone = function(result) {
if(noExpectations(result) && typeof console !== 'undefined' && typeof console.error !== 'undefined') {
console.error('Spec \'' + result.fullName + '\' has no expectations.');
}
if (result.status != 'disabled') {
specsExecuted++;
}
if (!symbols){
symbols = find('.jasmine-symbol-summary');
}
symbols.appendChild(createDom('li', {
className: noExpectations(result) ? 'jasmine-empty' : 'jasmine-' + result.status,
id: 'spec_' + result.id,
title: result.fullName
}
));
if (result.status == 'failed') {
failureCount++;
var failure =
createDom('div', {className: 'jasmine-spec-detail jasmine-failed'},
createDom('div', {className: 'jasmine-description'},
createDom('a', {title: result.fullName, href: specHref(result)}, result.fullName)
),
createDom('div', {className: 'jasmine-messages'})
);
var messages = failure.childNodes[1];
for (var i = 0; i < result.failedExpectations.length; i++) {
var expectation = result.failedExpectations[i];
messages.appendChild(createDom('div', {className: 'jasmine-result-message'}, expectation.message));
messages.appendChild(createDom('div', {className: 'jasmine-stack-trace'}, expectation.stack));
}
failures.push(failure);
}
if (result.status == 'pending') {
pendingSpecCount++;
}
};
this.jasmineDone = function(doneResult) {
var banner = find('.jasmine-banner');
var alert = find('.jasmine-alert');
var order = doneResult && doneResult.order;
alert.appendChild(createDom('span', {className: 'jasmine-duration'}, 'finished in ' + timer.elapsed() / 1000 + 's'));
banner.appendChild(
createDom('div', { className: 'jasmine-run-options' },
createDom('span', { className: 'jasmine-trigger' }, 'Options'),
createDom('div', { className: 'jasmine-payload' },
createDom('div', { className: 'jasmine-exceptions' },
createDom('input', {
className: 'jasmine-raise',
id: 'jasmine-raise-exceptions',
type: 'checkbox'
}),
createDom('label', { className: 'jasmine-label', 'for': 'jasmine-raise-exceptions' }, 'raise exceptions')),
createDom('div', { className: 'jasmine-throw-failures' },
createDom('input', {
className: 'jasmine-throw',
id: 'jasmine-throw-failures',
type: 'checkbox'
}),
createDom('label', { className: 'jasmine-label', 'for': 'jasmine-throw-failures' }, 'stop spec on expectation failure')),
createDom('div', { className: 'jasmine-random-order' },
createDom('input', {
className: 'jasmine-random',
id: 'jasmine-random-order',
type: 'checkbox'
}),
createDom('label', { className: 'jasmine-label', 'for': 'jasmine-random-order' }, 'run tests in random order'))
)
));
var raiseCheckbox = find('#jasmine-raise-exceptions');
raiseCheckbox.checked = !env.catchingExceptions();
raiseCheckbox.onclick = onRaiseExceptionsClick;
var throwCheckbox = find('#jasmine-throw-failures');
throwCheckbox.checked = env.throwingExpectationFailures();
throwCheckbox.onclick = onThrowExpectationsClick;
var randomCheckbox = find('#jasmine-random-order');
randomCheckbox.checked = env.randomTests();
randomCheckbox.onclick = onRandomClick;
var optionsMenu = find('.jasmine-run-options'),
optionsTrigger = optionsMenu.querySelector('.jasmine-trigger'),
optionsPayload = optionsMenu.querySelector('.jasmine-payload'),
isOpen = /\bjasmine-open\b/;
optionsTrigger.onclick = function() {
if (isOpen.test(optionsPayload.className)) {
optionsPayload.className = optionsPayload.className.replace(isOpen, '');
} else {
optionsPayload.className += ' jasmine-open';
}
};
if (specsExecuted < totalSpecsDefined) {
var skippedMessage = 'Ran ' + specsExecuted + ' of ' + totalSpecsDefined + ' specs - run all';
var skippedLink = order && order.random ? '?random=true' : '?';
alert.appendChild(
createDom('span', {className: 'jasmine-bar jasmine-skipped'},
createDom('a', {href: skippedLink, title: 'Run all specs'}, skippedMessage)
)
);
}
var statusBarMessage = '';
var statusBarClassName = 'jasmine-bar ';
if (totalSpecsDefined > 0) {
statusBarMessage += pluralize('spec', specsExecuted) + ', ' + pluralize('failure', failureCount);
if (pendingSpecCount) { statusBarMessage += ', ' + pluralize('pending spec', pendingSpecCount); }
statusBarClassName += (failureCount > 0) ? 'jasmine-failed' : 'jasmine-passed';
} else {
statusBarClassName += 'jasmine-skipped';
statusBarMessage += 'No specs found';
}
var seedBar;
if (order && order.random) {
seedBar = createDom('span', {className: 'jasmine-seed-bar'},
', randomized with seed ',
createDom('a', {title: 'randomized with seed ' + order.seed, href: seedHref(order.seed)}, order.seed)
);
}
alert.appendChild(createDom('span', {className: statusBarClassName}, statusBarMessage, seedBar));
var errorBarClassName = 'jasmine-bar jasmine-errored';
var errorBarMessagePrefix = 'AfterAll ';
for(var i = 0; i < failedSuites.length; i++) {
var failedSuite = failedSuites[i];
for(var j = 0; j < failedSuite.failedExpectations.length; j++) {
alert.appendChild(createDom('span', {className: errorBarClassName}, errorBarMessagePrefix + failedSuite.failedExpectations[j].message));
}
}
var globalFailures = (doneResult && doneResult.failedExpectations) || [];
for(i = 0; i < globalFailures.length; i++) {
var failure = globalFailures[i];
alert.appendChild(createDom('span', {className: errorBarClassName}, errorBarMessagePrefix + failure.message));
}
var results = find('.jasmine-results');
results.appendChild(summary);
summaryList(topResults, summary);
function summaryList(resultsTree, domParent) {
var specListNode;
for (var i = 0; i < resultsTree.children.length; i++) {
var resultNode = resultsTree.children[i];
if (resultNode.type == 'suite') {
var suiteListNode = createDom('ul', {className: 'jasmine-suite', id: 'suite-' + resultNode.result.id},
createDom('li', {className: 'jasmine-suite-detail'},
createDom('a', {href: specHref(resultNode.result)}, resultNode.result.description)
)
);
summaryList(resultNode, suiteListNode);
domParent.appendChild(suiteListNode);
}
if (resultNode.type == 'spec') {
if (domParent.getAttribute('class') != 'jasmine-specs') {
specListNode = createDom('ul', {className: 'jasmine-specs'});
domParent.appendChild(specListNode);
}
var specDescription = resultNode.result.description;
if(noExpectations(resultNode.result)) {
specDescription = 'SPEC HAS NO EXPECTATIONS ' + specDescription;
}
if(resultNode.result.status === 'pending' && resultNode.result.pendingReason !== '') {
specDescription = specDescription + ' PENDING WITH MESSAGE: ' + resultNode.result.pendingReason;
}
specListNode.appendChild(
createDom('li', {
className: 'jasmine-' + resultNode.result.status,
id: 'spec-' + resultNode.result.id
},
createDom('a', {href: specHref(resultNode.result)}, specDescription)
)
);
}
}
}
if (failures.length) {
alert.appendChild(
createDom('span', {className: 'jasmine-menu jasmine-bar jasmine-spec-list'},
createDom('span', {}, 'Spec List | '),
createDom('a', {className: 'jasmine-failures-menu', href: '#'}, 'Failures')));
alert.appendChild(
createDom('span', {className: 'jasmine-menu jasmine-bar jasmine-failure-list'},
createDom('a', {className: 'jasmine-spec-list-menu', href: '#'}, 'Spec List'),
createDom('span', {}, ' | Failures ')));
find('.jasmine-failures-menu').onclick = function() {
setMenuModeTo('jasmine-failure-list');
};
find('.jasmine-spec-list-menu').onclick = function() {
setMenuModeTo('jasmine-spec-list');
};
setMenuModeTo('jasmine-failure-list');
var failureNode = find('.jasmine-failures');
for (i = 0; i < failures.length; i++) {
failureNode.appendChild(failures[i]);
}
}
};
return this;
function find(selector) {
return getContainer().querySelector('.jasmine_html-reporter ' + selector);
}
function clearPrior() {
// return the reporter
var oldReporter = find('');
if(oldReporter) {
getContainer().removeChild(oldReporter);
}
}
function createDom(type, attrs, childrenVarArgs) {
var el = createElement(type);
for (var i = 2; i < arguments.length; i++) {
var child = arguments[i];
if (typeof child === 'string') {
el.appendChild(createTextNode(child));
} else {
if (child) {
el.appendChild(child);
}
}
}
for (var attr in attrs) {
if (attr == 'className') {
el[attr] = attrs[attr];
} else {
el.setAttribute(attr, attrs[attr]);
}
}
return el;
}
function pluralize(singular, count) {
var word = (count == 1 ? singular : singular + 's');
return '' + count + ' ' + word;
}
function specHref(result) {
return addToExistingQueryString('spec', result.fullName);
}
function seedHref(seed) {
return addToExistingQueryString('seed', seed);
}
function defaultQueryString(key, value) {
return '?' + key + '=' + value;
}
function setMenuModeTo(mode) {
htmlReporterMain.setAttribute('class', 'jasmine_html-reporter ' + mode);
}
function noExpectations(result) {
return (result.failedExpectations.length + result.passedExpectations.length) === 0 &&
result.status === 'passed';
}
}
return HtmlReporter;
};
jasmineRequire.HtmlSpecFilter = function() {
function HtmlSpecFilter(options) {
var filterString = options && options.filterString() && options.filterString().replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&');
var filterPattern = new RegExp(filterString);
this.matches = function(specName) {
return filterPattern.test(specName);
};
}
return HtmlSpecFilter;
};
jasmineRequire.ResultsNode = function() {
function ResultsNode(result, type, parent) {
this.result = result;
this.type = type;
this.parent = parent;
this.children = [];
this.addChild = function(result, type) {
this.children.push(new ResultsNode(result, type, this));
};
this.last = function() {
return this.children[this.children.length - 1];
};
}
return ResultsNode;
};
jasmineRequire.QueryString = function() {
function QueryString(options) {
this.navigateWithNewParam = function(key, value) {
options.getWindowLocation().search = this.fullStringWithNewParam(key, value);
};
this.fullStringWithNewParam = function(key, value) {
var paramMap = queryStringToParamMap();
paramMap[key] = value;
return toQueryString(paramMap);
};
this.getParam = function(key) {
return queryStringToParamMap()[key];
};
return this;
function toQueryString(paramMap) {
var qStrPairs = [];
for (var prop in paramMap) {
qStrPairs.push(encodeURIComponent(prop) + '=' + encodeURIComponent(paramMap[prop]));
}
return '?' + qStrPairs.join('&');
}
function queryStringToParamMap() {
var paramStr = options.getWindowLocation().search.substring(1),
params = [],
paramMap = {};
if (paramStr.length > 0) {
params = paramStr.split('&');
for (var i = 0; i < params.length; i++) {
var p = params[i].split('=');
var value = decodeURIComponent(p[1]);
if (value === 'true' || value === 'false') {
value = JSON.parse(value);
}
paramMap[decodeURIComponent(p[0])] = value;
}
}
return paramMap;
}
}
return QueryString;
};
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

+79
View File
@@ -0,0 +1,79 @@
/*jslint node:true*/
/*global describe,it,expect,beforeEach,afterEach*/
if (typeof jasmineRequire === 'undefined') {
var path = require('path');
var exec = require('child_process').exec;
var packageInfo = require('../package.json');
var command = 'node ' + path.join(__dirname, '../bin/cli')
/*exec('node ./bin/cli.js --version', function (error, stdout, stderr) {
console.log(stdout, stderr);
});*/
//console.log(exec('node ./bin/cli.js --version'), {encoding: 'utf8'});
describe('Testing cli.js:', function () {
'use strict';
describe('Getting version and help on usage:', function () {
it('Get version --version', function (done) {
exec(command + ' --version', function (error, stdout, stderr) {
expect(stdout).toEqual(packageInfo.version + '\n');
done();
});
});
it('Get version -v', function (done) {
exec(command + ' -v', function (error, stdout, stderr) {
expect(stdout).toEqual(packageInfo.version + '\n');
done();
});
});
it('Get help --help', function (done) {
exec(command + ' --help', function (error, stdout, stderr) {
expect(stdout.substr(0, 13)).toEqual('Usage: xml-js');
done();
});
});
it('Get help -h', function (done) {
exec(command + ' -h', function (error, stdout, stderr) {
expect(stdout.substr(0, 13)).toEqual('Usage: xml-js');
done();
});
});
it('Get help when no arguments supplied', function (done) {
exec(command, function (error, stdout, stderr) {
expect(stdout.substr(0, 13)).toEqual('Usage: xml-js');
done();
});
});
});
describe('Convert XML:', function () {
it('should convert xml file', function (done) {
exec(command + ' ' + path.join(__dirname, '../bin/test.xml'), function (error, stdout, stderr) {
expect(stdout).toEqual('{"elements":[{"type":"element","name":"a","attributes":{"x":"1"},"elements":[{"type":"element","name":"b","elements":[{"type":"text","text":"bye!"}]}]}]}' + '\n');
done();
});
});
it('should convert xml file, --compact', function (done) {
exec(command + ' ' + path.join(__dirname, '../bin/test.xml') + ' --compact', function (error, stdout, stderr) {
expect(stdout).toEqual('{"a":{"_attributes":{"x":"1"},"b":{"_text":"bye!"}}}' + '\n');
done();
});
});
});
});
}
+134
View File
@@ -0,0 +1,134 @@
/*jslint node:true*/
/*global describe,it,expect,beforeEach,afterEach*/
var convert = require('../lib/common');
describe('Testing common.js:', function () {
'use strict';
describe('Common:', function () {
describe('Copy Options:', function () {
it('Copy no provided options', function () {
expect(convert.copyOptions()).toEqual({});
});
it('Copy provided options', function () {
var options = {ignoreText: true, textKey: true};
expect(convert.copyOptions(options)).toEqual(options);
});
});
describe('Ensure Flag Existance:', function () {
it('New flag', function () {
var options = {};
convert.ensureFlagExists('foo', options);
expect(options).toEqual({foo: false});
});
it('Existing flag, not boolean', function () {
var options = {foo: 123};
convert.ensureFlagExists('foo', options);
expect(options).toEqual({foo: false});
});
it('Existing flag', function () {
var options = {foo: true};
convert.ensureFlagExists('foo', options);
expect(options).toEqual({foo: true});
});
});
describe('Ensure Key Existance:', function () {
it('New key', function () {
var options = {};
convert.ensureKeyExists('foo', options);
expect(options).toEqual({fooKey: 'foo'});
});
it('Existing key, not string', function () {
var options = {fooKey: 123};
convert.ensureKeyExists('foo', options);
expect(options).toEqual({fooKey: 'foo'});
});
it('Existing key, string', function () {
var options = {fooKey: 'baa'};
convert.ensureKeyExists('foo', options);
expect(options).toEqual({fooKey: 'baa'});
});
});
describe('Command Line Help:', function () {
it('Return help content', function () {
var requiredArgs = [{arg: 'src', type: 'any', option: 'src', desc: 'Input file that need to be converted.'}];
var possibleArgs = [{arg: 'help', alias: 'h', type: 'flag', option: 'help', desc: 'Display help content.'}];
var help = 'Usage: foo <src> [options]\n' +
' <src> Input file that need to be converted.\n' +
'\nOptions:\n' +
' --help Display help content.\n';
expect(convert.getCommandLineHelp('foo', requiredArgs, possibleArgs)).toEqual(help);
});
});
describe('Map Command Line Argument:', function () {
if (typeof jasmineRequire === 'undefined') {
it('Flag argument, alias', function () {
var possibleArgs = [{arg: 'version', alias: 'v', type: 'flag', option: 'version', desc: 'Display version.'}];
process.argv.push('-v');
expect(convert.mapCommandLineArgs({}, possibleArgs)).toEqual({version: true});
process.argv.pop();
});
it('Number argument, long form', function () {
var possibleArgs = [{arg: 'spaces', type: 'number', option: 'spaces', desc: 'Specify spaces.'}];
process.argv.push('--spaces'); process.argv.push('5');
expect(convert.mapCommandLineArgs({}, possibleArgs)).toEqual({spaces: 5});
process.argv.pop(); process.argv.pop();
});
it('String argument, long form', function () {
var possibleArgs = [{arg: 'name', type: 'string', option: 'name', desc: 'Specify name.'}];
process.argv.push('--name'); process.argv.push('Foo');
expect(convert.mapCommandLineArgs({}, possibleArgs)).toEqual({name: 'Foo'});
process.argv.pop(); process.argv.pop();
});
it('File argument, long form', function () {
var possibleArgs = [{arg: 'input', type: 'file', option: 'input', desc: 'Specify file.'}];
process.argv.push('--input'); process.argv.push('test.txt');
expect(convert.mapCommandLineArgs({}, possibleArgs)).toEqual({input: 'test.txt'});
process.argv.pop(); process.argv.pop();
});
it('Argument not proceeded with dash', function () {
var possibleArgs = [{arg: 'version', alias: 'v', type: 'flag', option: 'version', desc: 'Display version.'}];
process.argv.push('v');
expect(convert.mapCommandLineArgs({}, possibleArgs)).not.toEqual({version: true});
process.argv.pop();
});
it('Incomplete compound argument, long form', function () {
var possibleArgs = [{arg: 'input', type: 'file', option: 'input', desc: 'Specify file.'}];
process.argv.push('--input');
expect(convert.mapCommandLineArgs({}, possibleArgs)).toEqual({});
process.argv.pop();
});
}
});
});
});
+25
View File
@@ -0,0 +1,25 @@
/*jslint node:true */
var fs = require('fs');
var convertor = require('..');
function getFixtureFiles(type) {
return fs.readdirSync('fixtures/')
.filter(function (file) {
return file.slice(-4) === type;})
.map(function (file) {
return 'fixtures/' + file;})
.filter(function (file) {
return fs.statSync(file).isFile();});
}
getFixtureFiles('.xml').map(function (file) {
console.log('converting %s to %s', file, file.replace('.xml','1.json'));
var options = {compact: true, spaces: 4};
fs.writeFileSync(file.replace('.xml','1.json'), convertor.xml2json(fs.readFileSync(file, 'utf8'), options), 'utf8');
});
getFixtureFiles('.xml').map(function (file) {
console.log('converting %s to %s', file, file.replace('.xml','2.json'));
var options = {compact: false, spaces: 4};
fs.writeFileSync(file.replace('.xml','2.json'), convertor.xml2json(fs.readFileSync(file, 'utf8'), options), 'utf8');
});
+21
View File
@@ -0,0 +1,21 @@
/*jslint node:true */
var path = require('path');
var jasmine = new (require('jasmine'))();
var config = require(__dirname + '/jasmine.json');
if ('spec_dir' in config) {
config.spec_dir = path.join(path.relative(process.cwd(), __dirname), '..', config.spec_dir);
}
jasmine.loadConfig(config);
jasmine.onComplete(function (passed) {
if (passed) {
console.log('All specs have passed');
} else {
console.log('At least one spec has failed');
}
});
jasmine.execute();
+10
View File
@@ -0,0 +1,10 @@
{
"spec_dir": "./test",
"spec_files": [
"./**/*_[Tt]est.js"
],
"helpers": [
],
"stopSpecOnExpectationFailure": false,
"random": false
}
+308
View File
@@ -0,0 +1,308 @@
/*jslint node:true */
/*global describe,it,expect,beforeEach*/
var convert = require('../lib');
var testItems = require('./test-items');
describe('Testing js2xml.js:', function () {
'use strict';
describe('No options supplied (fallback to defaults):', function () {
var options = {};
testItems(options).forEach(function (test) {
it(test.desc, function () {
expect(convert.js2xml(test.js, options)).toEqual(test.xml);
});
});
});
describe('options = {compact: true}', function () {
describe('Options set to default values explicitly:', function () {
var options = {compact: true, spaces: 0, ignoreText: false, ignoreComment: false, ignoreCdata: false, fullTagEmptyElement: false};
testItems(options).forEach(function (test) {
it(test.desc, function () {
expect(convert.js2xml(test.js, options)).toEqual(test.xml);
});
});
});
describe('options = {spaces: 0}', function () {
var options = {compact: true, spaces: 0};
testItems(options).forEach(function (test) {
it(test.desc, function () {
expect(convert.js2xml(test.js, options)).toEqual(test.xml);
});
});
});
describe('options = {spaces: 0, ignoreText: true}', function () {
var options = {compact: true, spaces: 0, ignoreText: true};
testItems(options).forEach(function (test) {
it(test.desc, function () {
expect(convert.js2xml(test.js, options)).toEqual(test.xml);
});
});
});
describe('options = {spaces: 0, ignoreComment: true}', function () {
var options = {compact: true, spaces: 0, ignoreComment: true};
testItems(options).forEach(function (test) {
it(test.desc, function () {
expect(convert.js2xml(test.js, options)).toEqual(test.xml);
});
});
});
describe('options = {spaces: 0, ignoreCdata: true}', function () {
var options = {compact: true, spaces: 0, ignoreCdata: true};
testItems(options).forEach(function (test) {
it(test.desc, function () {
expect(convert.js2xml(test.js, options)).toEqual(test.xml);
});
});
});
describe('options = {spaces: 0, fullTagEmptyElement: true}', function () {
var options = {compact: true, spaces: 0, fullTagEmptyElement: true};
testItems(options).forEach(function (test) {
it(test.desc, function () {
expect(convert.js2xml(test.js, options)).toEqual(test.xml);
});
});
});
});
describe('options = {compact: false}', function () {
describe('Options set to default values explicitly:', function () {
var options = {compact: false, spaces: 0, ignoreText: false, ignoreComment: false, ignoreCdata: false, fullTagEmptyElement: false};
testItems(options).forEach(function (test) {
it(test.desc, function () {
expect(convert.js2xml(test.js, options)).toEqual(test.xml);
});
});
});
describe('options = {spaces: 0}', function () {
var options = {spaces: 0};
testItems(options).forEach(function (test) {
it(test.desc, function () {
expect(convert.js2xml(test.js, options)).toEqual(test.xml);
});
});
});
describe('options = {spaces: 0, ignoreText: true}', function () {
var options = {spaces: 0, ignoreText: true};
testItems(options).forEach(function (test) {
it(test.desc, function () {
expect(convert.js2xml(test.js, options)).toEqual(test.xml);
});
});
});
describe('options = {spaces: 0, ignoreComment: true}', function () {
var options = {spaces: 0, ignoreComment: true};
testItems(options).forEach(function (test) {
it(test.desc, function () {
expect(convert.js2xml(test.js, options)).toEqual(test.xml);
});
});
});
describe('options = {spaces: 0, ignoreCdata: true}', function () {
var options = {spaces: 0, ignoreCdata: true};
testItems(options).forEach(function (test) {
it(test.desc, function () {
expect(convert.js2xml(test.js, options)).toEqual(test.xml);
});
});
});
describe('options = {spaces: 0, fullTagEmptyElement: true}', function () {
var options = {spaces: 0, fullTagEmptyElement: true};
testItems(options).forEach(function (test) {
it(test.desc, function () {
expect(convert.js2xml(test.js, options)).toEqual(test.xml);
});
});
});
});
describe('Varying spaces', function () {
describe('options = {}', function () {
var options = {};
testItems(options).forEach(function (test) {
it(test.desc, function () {
expect(convert.js2xml(test.js, options)).toEqual(test.xml);
});
});
});
describe('options = {spaces: true}', function () {
var options = {spaces: true};
testItems(options).forEach(function (test) {
it(test.desc, function () {
expect(convert.js2xml(test.js, options)).toEqual(test.xml);
});
});
});
describe('options = {spaces: 2}', function () {
var options = {spaces: 2};
testItems(options).forEach(function (test) {
it(test.desc, function () {
expect(convert.js2xml(test.js, options)).toEqual(test.xml);
});
});
});
describe('options = {spaces: 4}', function () {
var options = {spaces: 2};
testItems(options).forEach(function (test) {
it(test.desc, function () {
expect(convert.js2xml(test.js, options)).toEqual(test.xml);
});
});
});
describe('options = {spaces: \' \'}', function () {
var options = {spaces: 'mm'};
testItems(options).forEach(function (test) {
it(test.desc, function () {
expect(convert.js2xml(test.js, options)).toEqual(test.xml);
});
});
});
});
describe('json2xml:', function () {
describe('using default options', function () {
var options = {};
testItems(options).forEach(function (test) {
it(test.desc, function () {
expect(convert.json2xml(JSON.stringify(test.js), options)).toEqual(test.xml);
});
});
});
describe('submitting json as javascript object', function () {
var options = {};
testItems(options).forEach(function (test) {
it(test.desc, function () {
expect(convert.json2xml(test.js, options)).toEqual(test.xml);
});
});
});
describe('using buffer', function () {
var options = {};
testItems(options).forEach(function (test) {
it(test.desc, function () {
expect(convert.json2xml(new Buffer(JSON.stringify(test.js)), options)).toEqual(test.xml);
});
});
});
describe('imporper json', function () {
try {
convert.json2xml('{a:', {});
} catch (e) {
e.note = 'ignore me';
}
});
});
describe('User reported issues:', function () {
describe('case by Jan T. Sott', function () {
// see https://github.com/nashwaan/xml-js/issues/2
var js = {
_comment: " Released under The MIT License ",
snippet: {
content: {
_cdata: "console.log($1)"
},
tabTrigger: {
_text: "log"
},
scope: {
_text: "source.js"
}
}
};
var xml =
'<!-- Released under The MIT License -->\n' +
'<snippet>\n' +
'\v<content>\n' +
'\v\v<![CDATA[console.log($1)]]>\n' +
'\v</content>\n' +
'\v<tabTrigger>log</tabTrigger>\n' +
'\v<scope>source.js</scope>\n' +
'</snippet>';
it('should output cdata and text unformatted', function () {
expect(convert.js2xml(js, {compact: true})).toEqual(xml.replace(/\v|\n/g, ''));
});
it('should output cdata and text formatted', function () {
expect(convert.js2xml(js, {compact: true, spaces: 4})).toEqual(xml.replace(/\v/g, ' '));
});
});
});
});
+156
View File
@@ -0,0 +1,156 @@
/*jslint node:true */
var cases = [
{
desc: 'declaration <?xml>',
xml: '<?xml?>',
js1: {"_declaration":{}},
js2: {"declaration":{}},
}, {
desc: 'declaration with attributes',
xml: '<?xml version="1.0" encoding="utf-8"?>',
js1: {"_declaration":{"_attributes":{"version":"1.0","encoding":"utf-8"}}},
js2: {"declaration":{"attributes":{"version":"1.0","encoding":"utf-8"}}},
}, {
desc: 'declaration and element',
xml: '<?xml?>\n<a/>',
js1: {"_declaration":{},"a":{}},
js2: {"declaration":{},"elements":[{"type":"element","name":"a"}]},
}, {
desc: 'declaration and elements',
xml: '<?xml?>\n<a>\n\v<b/>\n</a>',
js1: {"_declaration":{},"a":{"b":{}}},
js2: {"declaration":{},"elements":[{"type":"element","name":"a","elements":[{"type":"element","name":"b"}]}]},
}, {
desc: 'should convert comment',
xml: '<!-- \t Hello, World! \t -->',
js1: {"_comment":" \t Hello, World! \t "},
js2: {"elements":[{"type":"comment","comment":" \t Hello, World! \t "}]},
}, /*{
desc: 'should convert 2 comments',
xml: '<!-- \t Hello \t --><!-- \t World \t -->',
js1: {"_comment":[" \t Hello \t "," \t World \t "]},
js2: {"elements":[{"type":"comment","comment":" \t Hello \t "},{"type":"comment","comment":" \t World \t "}]},
}, */{
desc: 'should convert cdata',
xml: '<![CDATA[ \t <foo></bar> \t ]]>',
js1: {"_cdata":" \t <foo></bar> \t "},
js2: {"elements":[{"type":"cdata","cdata":" \t <foo></bar> \t "}]},
}, /*{
desc: 'should convert 2 cdata',
xml: '<![CDATA[ \t data]]><![CDATA[< > " and & \t ]]>',
js1: {"_cdata":[" \t data\n< > \" and & \t "]},
js2: {"elements":[{"type":"cdata","cdata":" \t data"},{"type":"cdata","cdata":"< > \" and & \t "}]},
}, */{
desc: 'should convert element',
xml: '<a/>',
js1: {"a":{}},
js2: {"elements":[{"type":"element","name":"a"}]},
}, {
desc: 'should convert 2 elements',
xml: '<a/><b/>',
js1: {"a":{},"b":{}},
js2: {"elements":[{"type":"element","name":"a"},{"type":"element","name":"b"}]},
}, {
desc: 'should convert attribute',
xml: '<a x="hello"/>',
js1: {"a":{_attributes:{"x":"hello"}}},
js2: {"elements":[{"type":"element","name":"a","attributes":{"x":"hello"}}]},
}, {
desc: 'should convert 2 attributes',
xml: '<a x="1.234" y="It\'s"/>',
js1: {"a":{_attributes:{"x":"1.234","y":"It\'s"}}},
js2: {"elements":[{"type":"element","name":"a","attributes":{"x":"1.234","y":"It\'s"}}]},
}, {
desc: 'should convert text in element',
xml: '<a> \t Hi \t </a>',
js1: {"a":{"_text":" \t Hi \t "}},
js2: {"elements":[{"type":"element","name":"a","elements":[{"type":"text","text":" \t Hi \t "}]}]},
}, {
desc: 'should convert multi-line text',
xml: '<a> Hi \n There \t </a>',
js1: {"a":{"_text":" Hi \n There \t "}},
js2: {"elements":[{"type":"element","name":"a","elements":[{"type":"text","text":" Hi \n There \t "}]}]},
}, {
desc: 'should convert nested elements',
xml: '<a>\n\v<b/>\n</a>',
js1: {"a":{"b":{}}},
js2: {"elements":[{"type":"element","name":"a","elements":[{"type":"element","name":"b"}]}]},
}, {
desc: 'should convert 3 nested elements',
xml: '<a>\n\v<b>\n\v\v<c/>\n\v</b>\n</a>',
js1: {"a":{"b":{"c":{}}}},
js2: {"elements":[{"type":"element","name":"a","elements":[{"type":"element","name":"b","elements":[{"type":"element","name":"c"}]}]}]},
}
];
module.exports = function (options) {
var i, tests = [];
options = options || {};
function applyOptions (obj) {
var key;
if (obj instanceof Array) {
obj.forEach(function (el) {
el = transform(el);
});
} else if (typeof obj === 'object') {
for (key in obj) {
if (key.indexOf('_') === 0 && obj[key] instanceof Array) {
obj[key] = obj[key].reduce(function (res, el) {
return (res === '' ? '' : res + '\n') + transform(el);
}, '');
} else {
if (key !== 'parent' && key !== '_parent') {
obj[key] = transform(obj[key]);
}
}
if (typeof obj[key] === 'object' && !(obj[key] instanceof Array)) {
if (options.compact && options.addParent && key !== '_attributes') {
if (options.compact) {obj[key]._parent = obj;} else {obj[key].parent = obj;}
}
}
}
if (!options.compact && options.addParent && obj.elements) {
obj.elements.forEach(function (el) {
el.parent = obj;
});
}
if (!options.compact && options.alwaysChildren && obj.type === 'element' && !obj.elements) {
obj.elements = [];
}
}
return obj;
function transform (x) {
if (x instanceof Array || typeof x === 'object') {
return applyOptions(x);
} else if (typeof x === 'string') {
return options.trim? x.trim() : x;
} else if (typeof x === 'number' || typeof x === 'boolean') {
return options.nativeType? x.toString() : x;
} else {
return x;
}
}
}
for (i = 0; i < cases.length; ++i) {
tests.push({desc: cases[i].desc, xml: null, js: null});
//tests[i].xml = options.singleLine ? cases[i].xml.replace(/\r\n|\r|\n|^\s+/gm, '') : cases[i].xml;
tests[i].xml = cases[i].xml;
if (!('spaces' in options) || options.spaces === 0 || typeof options.spaces === 'boolean') { tests[i].xml = tests[i].xml.replace(/>\n\v*/gm, '>'); }
if ('spaces' in options && options.spaces !== 0 && typeof options.spaces === 'number') { tests[i].xml = tests[i].xml.replace(/\v/g, Array(options.spaces + 1).join(' ')); }
if ('spaces' in options && typeof options.spaces === 'string') { tests[i].xml = tests[i].xml.replace(/\v/g, options.spaces); }
if (options.ignoreText) { tests[i].xml = tests[i].xml.replace(/>([\s\S]*?)</gm, '><'); }
if (options.ignoreComment) { tests[i].xml = tests[i].xml.replace(/<!--.*?-->/gm, ''); }
if (options.ignoreCdata) { tests[i].xml = tests[i].xml.replace(/<!\[CDATA\[.*?\]\]>/gm, ''); }
if (options.fullTagEmptyElement) { tests[i].xml = tests[i].xml.replace('<a/>', '<a></a>').replace('<b/>', '<b></b>').replace('<c/>', '<c></c>').replace('/>', '></a>'); }
if ('compact' in options && options.compact) {
tests[i].js = applyOptions(JSON.parse(JSON.stringify(cases[i].js1)));
} else {
tests[i].js = applyOptions(JSON.parse(JSON.stringify(cases[i].js2)));
}
}
if ('onlyItem' in options) {
tests = [tests[options.onlyItem]];
}
return tests;
};
+12
View File
@@ -0,0 +1,12 @@
/*jslint node:true */
var convert = require('..');
var xml =
'<?xml version="1.0" encoding="utf-8"?>' + '\n' +
'<note importance="high" logged="true">' + '\n' +
' <title>Happy</title>' + '\n' +
' <todo>Work</todo>' + '\n' +
' <todo>Play</todo>' + '\n' +
'</note>';
var result1 = convert.xml2json(xml, {compact: true});
var result2 = convert.xml2json(xml, {compact: false});
console.log(result1, '\n', result2);
+246
View File
@@ -0,0 +1,246 @@
/*jslint node:true */
/*global describe,it,expect,beforeEach,afterEach*/
var convert = require('../lib');
var testItems = require('./test-items');
describe('Testing xml2js.js:', function () {
'use strict';
//var books = require('fs').readFileSync('test/fixtures/books.xml');
/*describe('No options supplied (fallback to defaults):', function () {
var options = {};
testItems(options).forEach(function (test) {
it(test.desc, function () {
expect(convert.xml2js(test.xml, options)).toEqual(test.js);
});
});
});*/
describe('No options supplied (fallback to defaults):', function () {
var options = {};
testItems(options).forEach(function (test) {
it(test.desc, function () {
expect(convert.xml2js(test.xml, options)).toEqual(test.js);
});
});
});
describe('options = {compact: false}', function () {
describe('Options set to default values explicitly:', function () {
var options = {singleLine: false, compact: false, trim: false, sanitize: false, nativeType: false, alwaysChildren: false, addParent: false};
testItems(options).forEach(function (test) {
it(test.desc, function () {
expect(convert.xml2js(test.xml, options)).toEqual(test.js);
});
});
});
describe('options = {compact: false}', function () {
var options = {compact: false};
testItems(options).forEach(function (test) {
it(test.desc, function () {
expect(convert.xml2js(test.xml, options)).toEqual(test.js);
});
});
});
describe('options = {compact: false, trim: true}', function () {
var options = {compact: false, trim: true};
testItems(options).forEach(function (test) {
it(test.desc, function () {
expect(convert.xml2js(test.xml, options)).toEqual(test.js);
});
});
});
describe('options = {compact: false, sanitize: true}', function () {
var options = {compact: false, sanitize: true};
testItems(options).forEach(function (test) {
it(test.desc, function () {
expect(convert.xml2js(test.xml, options)).toEqual(test.js);
});
});
});
describe('options = {compact: false, nativeType: true}', function () {
var options = {compact: false, nativeType: true};
testItems(options).forEach(function (test) {
it(test.desc, function () {
expect(convert.xml2js(test.xml, options)).toEqual(test.js);
});
});
});
describe('options = {compact: false, alwaysChildren: true}', function () {
var options = {compact: false, alwaysChildren: true};
testItems(options).forEach(function (test) {
it(test.desc, function () {
expect(convert.xml2js(test.xml, options)).toEqual(test.js);
});
});
});
describe('options = {compact: false, addParent: true}', function () {
var options = {compact: false, addParent: true};
testItems(options).forEach(function (test) {
it(test.desc, function () {
expect(convert.xml2js(test.xml, options)).toEqual(test.js);
});
});
});
});
describe('options = {compact: true}', function () {
describe('Options set to default values explicitly:', function () {
var options = {compact: true, trim: false, sanitize: false, nativeType: false, alwaysChildren: false, addParent: false};
testItems(options).forEach(function (test) {
it(test.desc, function () {
expect(convert.xml2js(test.xml, options)).toEqual(test.js);
});
});
});
describe('options = {compact: true}', function () {
var options = {compact: true};
testItems(options).forEach(function (test) {
it(test.desc, function () {
expect(convert.xml2js(test.xml, options)).toEqual(test.js);
});
});
});
describe('options = {compact: true, trim: true}', function () {
var options = {compact: true, trim: true};
testItems(options).forEach(function (test) {
it(test.desc, function () {
expect(convert.xml2js(test.xml, options)).toEqual(test.js);
});
});
});
describe('options = {compact: true, sanitize: true}', function () {
var options = {compact: true, sanitize: true};
testItems(options).forEach(function (test) {
it(test.desc, function () {
expect(convert.xml2js(test.xml, options)).toEqual(test.js);
});
});
});
describe('options = {compact: true, alwaysChildren: true}', function () {
var options = {compact: true, alwaysChildren: true};
testItems(options).forEach(function (test) {
it(test.desc, function () {
expect(convert.xml2js(test.xml, options)).toEqual(test.js);
});
});
});
describe('options = {compact: true, addParent: true}', function () {
var options = {compact: true, addParent: true};
testItems(options).forEach(function (test) {
it(test.desc, function () {
expect(convert.xml2js(test.xml, options)).toEqual(test.js);
});
});
});
});
describe('Various options:', function () {
describe('options = {trim: true}', function () {
var options = {trim: true};
testItems({trim: true}).forEach(function (test) {
it(test.desc, function () {
expect(convert.xml2js(test.xml, options)).toEqual(test.js);
});
});
});
describe('options = {nativeType: true}', function () {
var options = {nativeType: true};
it('Parse number', function () {
expect(convert.xml2js('<a>123</a>', options)).toEqual({"elements":[{"type":"element","name":"a","elements":[{"type":"text","text":123}]}]});
});
it('Parse true', function () {
expect(convert.xml2js('<a>true</a>', options)).toEqual({"elements":[{"type":"element","name":"a","elements":[{"type":"text","text":true}]}]});
});
it('Parse false', function () {
expect(convert.xml2js('<a>false</a>', options)).toEqual({"elements":[{"type":"element","name":"a","elements":[{"type":"text","text":false}]}]});
});
convert.xml2js('<a>x', {});
/*it('Parse improper XML', function () {
expect(convert.xml2js('<a>x', {})).toEqual({"elements":[{"type":"element","name":"a","elements":[{"type":"text","text":"x"}]}]});
});*/
});
});
describe('xml2json:', function () {
describe('No options supplied (fallback to defaults):', function () {
var options = {};
testItems(options).forEach(function (test) {
it(test.desc, function () {
expect(convert.xml2json(test.xml, options)).toEqual(JSON.stringify(test.js));
});
});
});
describe('options = {compact: true, addParent: true}:', function () {
var options = {onlyItem: 6, compact: true, addParent: true};
testItems(options).forEach(function (test) {
it(test.desc, function () {
expect(convert.xml2json(test.xml, options)).toBe(JSON.stringify(test.js, function (k, v) { return k === '_parent'? '_' : v; }));
});
});
});
});
});