diff --git a/.codesandbox/ci.json b/.codesandbox/ci.json index c8ad92cfd5b..23d1285a83a 100644 --- a/.codesandbox/ci.json +++ b/.codesandbox/ci.json @@ -4,7 +4,8 @@ "new", "/.codesandbox/templates/node", "/.codesandbox/templates/next", - "/.codesandbox/templates/vanilla" + "/.codesandbox/templates/vanilla", + "/.codesandbox/templates/vue" ], "node": "16" } diff --git a/.codesandbox/deploy.mjs b/.codesandbox/deploy.mjs index 4559a21c194..ebd55183d93 100644 --- a/.codesandbox/deploy.mjs +++ b/.codesandbox/deploy.mjs @@ -6,7 +6,7 @@ import match from 'micromatch'; import path from 'path'; import { getGitInfo } from '../scripts/git.mjs'; -const BINARY_EXT = ['png', 'jpg', 'jpeg']; +const BINARY_EXT = ['png', 'jpg', 'jpeg', 'ico']; function bufferToBase64DataUrl(buffer, mimeType) { return 'data:' + mimeType + ';base64,' + buffer.toString('base64'); @@ -94,7 +94,6 @@ export async function createCodeSandbox(appPath) { ); return `https://codesandbox.io/s/${sandbox_id}`; } catch (error) { - // console.log(error.response.data); - throw new Error(error.response.data); + throw error.response?.data || error; } } diff --git a/.codesandbox/templates/next/components/Canvas.tsx b/.codesandbox/templates/next/components/Canvas.tsx index bf2dd9dc425..3f2d6400430 100644 --- a/.codesandbox/templates/next/components/Canvas.tsx +++ b/.codesandbox/templates/next/components/Canvas.tsx @@ -1,69 +1,53 @@ import * as fabric from 'fabric'; -import React, { useCallback, useEffect, useRef } from 'react'; +import React, { useEffect, useRef } from 'react'; const DEV_MODE = process.env.NODE_ENV === 'development'; -export function useCanvas( - ref?: React.ForwardedRef, - init?: (canvas: fabric.Canvas) => any, - saveState = false, - deps: any[] = [] -) { - const elementRef = useRef(null); - const fc = useRef(null); - const data = useRef(null); +declare global { + var canvas: fabric.Canvas | undefined; +} + +export const Canvas = React.forwardRef< + fabric.Canvas, + { onLoad?(canvas: fabric.Canvas): void } +>(({ onLoad }, ref) => { + const canvasRef = useRef(null); - const setRef = useCallback( - (el: HTMLCanvasElement | null) => { - //@ts-ignore - elementRef.current = el; - ref && (ref.current = elementRef.current); - // save state - if (DEV_MODE && saveState && fc.current) { - data.current = fc.current.toJSON(); - } - // dispose canvas - fc.current?.dispose(); - // set/clear ref - if (!el) { - fc.current = null; - return; - } - const canvas = new fabric.Canvas(el); - window.canvas = fc.current = canvas; - // invoke callback - init && init(canvas); - // restore state - if (DEV_MODE && saveState && data.current) { - canvas.loadFromJSON(data.current); - } - }, - [saveState, ...deps] - ); useEffect(() => { - // disposer + if (!canvasRef.current) { + return; + } + + const canvas = new fabric.Canvas(canvasRef.current); + + DEV_MODE && (window.canvas = canvas); + + if (typeof ref === 'function') { + ref(canvas); + } else if (typeof ref === 'object' && ref) { + ref.current = canvas; + } + + // it is crucial `onLoad` is a dependency of this effect + // to ensure the canvas is disposed and re-created if it changes + onLoad?.(canvas); + return () => { - // save state - if (DEV_MODE && saveState && fc.current) { - data.current = fc.current.toJSON(); - } - // we avoid unwanted disposing by doing so only if element ref is unavailable - if (!elementRef.current) { - fc.current?.dispose(); - fc.current = null; + DEV_MODE && delete window.canvas; + + if (typeof ref === 'function') { + ref(null); + } else if (typeof ref === 'object' && ref) { + ref.current = null; } + + // `dispose` is async + // however it runs a sync DOM cleanup + // its async part ensures rendering has completed + // and should not affect react + canvas.dispose(); }; - }, [saveState]); - return [fc, setRef] as [typeof fc, typeof setRef]; -} + }, [canvasRef, onLoad]); -export const Canvas = React.forwardRef< - HTMLCanvasElement, - { - onLoad?: (canvas: fabric.Canvas) => any; - saveState?: boolean; - } ->(({ onLoad, saveState }, ref) => { - const [canvasRef, setCanvasElRef] = useCanvas(ref, onLoad, saveState); - return ; + return ; }); diff --git a/.codesandbox/templates/next/pages/index.tsx b/.codesandbox/templates/next/pages/index.tsx index a77b4e866d3..8cc99cb3a64 100644 --- a/.codesandbox/templates/next/pages/index.tsx +++ b/.codesandbox/templates/next/pages/index.tsx @@ -1,40 +1,60 @@ import * as fabric from 'fabric'; import { NextPage } from 'next'; -import { useCallback } from 'react'; +import { useRef, useCallback } from 'react'; import { Canvas } from '../components/Canvas'; const IndexPage: NextPage = () => { - const onLoad = useCallback(async (canvas: fabric.Canvas) => { - canvas.setDimensions({ - width: window.innerWidth, - height: 500, - }); - const textValue = 'fabric.js sandbox'; - const text = new fabric.Textbox(textValue, { - originX: 'center', - top: 20, - textAlign: 'center', - styles: fabric.util.stylesFromArray( - [ - { - style: { - fontWeight: 'bold', - fontSize: 64, + const ref = useRef(null); + + const onLoad = useCallback( + (canvas: fabric.Canvas) => { + canvas.setDimensions({ + width: window.innerWidth, + height: 500, + }); + const textValue = 'fabric.js sandbox'; + const text = new fabric.Textbox(textValue, { + originX: 'center', + top: 20, + textAlign: 'center', + styles: fabric.util.stylesFromArray( + [ + { + style: { + fontWeight: 'bold', + fontSize: 64, + }, + start: 0, + end: 9, }, - start: 0, - end: 9, - }, - ], - textValue - ), - }); - canvas.add(text); - canvas.centerObjectH(text); - }, []); + ], + textValue + ), + }); + canvas.add(text); + canvas.centerObjectH(text); + + const animate = (toState: number) => { + text.animate( + { scaleX: Math.max(toState, 0.1) * 2 }, + { + onChange: () => canvas.renderAll(), + onComplete: () => animate(Number(!toState)), + duration: 1000, + easing: toState + ? fabric.util.ease.easeInOutQuad + : fabric.util.ease.easeInOutSine, + } + ); + }; + animate(1); + }, + [ref] + ); return (
- +
); }; diff --git a/.codesandbox/templates/vanilla/src/index.ts b/.codesandbox/templates/vanilla/src/index.ts index 547838a0bae..7e6f54a80dd 100644 --- a/.codesandbox/templates/vanilla/src/index.ts +++ b/.codesandbox/templates/vanilla/src/index.ts @@ -1,5 +1,7 @@ import * as fabric from 'fabric'; import './styles.css'; +import { testCase } from './testcases/simpleTextbox'; +// import { testCase } from './testcases/polygons'; const el = document.getElementById('canvas'); const canvas = (window.canvas = new fabric.Canvas(el)); @@ -9,39 +11,5 @@ canvas.setDimensions({ width: 500, height: 500, }); -const textValue = 'fabric.js sandbox'; -const text = new fabric.Textbox(textValue, { - originX: 'center', - splitByGrapheme: true, - width: 200, - top: 20, - styles: fabric.util.stylesFromArray( - [ - { - style: { - fontWeight: 'bold', - fontSize: 64, - }, - start: 0, - end: 9, - }, - ], - textValue - ), -}); -canvas.add(text); -canvas.centerObjectH(text); -function animate(toState) { - text.animate( - { scaleX: Math.max(toState, 0.1) * 2 }, - { - onChange: () => canvas.renderAll(), - onComplete: () => animate(!toState), - duration: 1000, - easing: toState - ? fabric.util.ease.easeInOutQuad - : fabric.util.ease.easeInOutSine, - } - ); -} -// animate(1); + +testCase(canvas); diff --git a/.codesandbox/templates/vanilla/src/testcases/polygons.ts b/.codesandbox/templates/vanilla/src/testcases/polygons.ts new file mode 100644 index 00000000000..59fe54ddbf1 --- /dev/null +++ b/.codesandbox/templates/vanilla/src/testcases/polygons.ts @@ -0,0 +1,151 @@ +import * as fabric from 'fabric'; + +export function testCase(canvas: fabric.Canvas) { + const polygonFlatRed = new fabric.Polygon( + [ + { x: 0, y: 0 }, + { x: 200, y: 0 }, + ], + { + top: 100, + stroke: 'red', + strokeWidth: 4, + transparentCorners: false, + cornerStyle: 'circle', + hasBorders: false, + controls: fabric.controlsUtils.createPolyControls(2), + objectCaching: false, + } + ); + + const polygonGreen = new fabric.Polygon( + [ + { x: 0, y: 0 }, + { x: 200, y: 50 }, + ], + { + top: 200, + stroke: 'green', + strokeWidth: 4, + transparentCorners: false, + cornerStyle: 'circle', + hasBorders: false, + controls: fabric.controlsUtils.createPolyControls(2), + objectCaching: false, + } + ); + + const polygonBlue = new fabric.Polygon( + [ + { x: 0, y: 100 }, + { x: 50, y: 0 }, + { x: 100, y: 100 }, + ], + { + top: 300, + stroke: 'blue', + strokeWidth: 40, + scaleX: 2, + scaleY: 1, + angle: 15, + strokeUniform: true, + exactBoundingBox: true, + strokeMiterLimit: 9999, + skewX: 10, + skewY: 10, + transparentCorners: false, + cornerStyle: 'circle', + hasBorders: false, + controls: fabric.controlsUtils.createPolyControls(3), + objectCaching: false, + } + ); + + const polygonPurple = new fabric.Polygon( + [ + { x: 0, y: 100 }, + { x: 50, y: 0 }, + { x: 100, y: 100 }, + ], + { + top: 300, + stroke: 'purple', + fill: '', + strokeWidth: 40, + scaleX: 2, + scaleY: 1, + angle: 10, + strokeUniform: true, + exactBoundingBox: false, + strokeMiterLimit: 9999, + skewX: 10, + skewY: 10, + transparentCorners: false, + cornerStyle: 'circle', + hasBorders: false, + controls: fabric.controlsUtils.createPolyControls(3), + objectCaching: false, + } + ); + + const polygonYellow = new fabric.Polygon( + [ + { x: 0, y: 100 }, + { x: 50, y: 0 }, + { x: 100, y: 100 }, + ], + { + top: 300, + stroke: 'yellow', + fill: '', + strokeWidth: 40, + scaleX: 2, + scaleY: 1, + angle: 10, + exactBoundingBox: true, + strokeMiterLimit: 9999, + skewX: 10, + skewY: 10, + transparentCorners: false, + cornerStyle: 'circle', + hasBorders: false, + controls: fabric.controlsUtils.createPolyControls(3), + objectCaching: false, + } + ); + + const polygonOrange = new fabric.Polygon( + [ + { x: 0, y: 100 }, + { x: 50, y: 0 }, + { x: 100, y: 100 }, + ], + { + top: 300, + fill: '', + stroke: 'orange', + strokeWidth: 40, + scaleX: 2, + scaleY: 1, + angle: 10, + strokeMiterLimit: 9999, + skewX: 10, + skewY: 10, + transparentCorners: false, + cornerStyle: 'circle', + hasBorders: false, + controls: fabric.controlsUtils.createPolyControls(3), + objectCaching: false, + } + ); + + canvas.add(polygonFlatRed); + canvas.add(polygonGreen); + canvas.add(polygonBlue); + canvas.add(polygonOrange); + canvas.add(polygonPurple); + canvas.add(polygonYellow); + canvas.centerObjectH(polygonFlatRed); + canvas.centerObjectH(polygonGreen); + canvas.centerObjectH(polygonBlue); +} diff --git a/.codesandbox/templates/vanilla/src/testcases/simpleTextbox.ts b/.codesandbox/templates/vanilla/src/testcases/simpleTextbox.ts new file mode 100644 index 00000000000..5e961e3f0ac --- /dev/null +++ b/.codesandbox/templates/vanilla/src/testcases/simpleTextbox.ts @@ -0,0 +1,40 @@ +import * as fabric from 'fabric'; + +export function testCase(canvas: fabric.Canvas) { + const textValue = 'fabric.js sandbox'; + const text = new fabric.Textbox(textValue, { + originX: 'center', + splitByGrapheme: true, + width: 200, + top: 20, + styles: fabric.util.stylesFromArray( + [ + { + style: { + fontWeight: 'bold', + fontSize: 64, + }, + start: 0, + end: 9, + }, + ], + textValue + ), + }); + canvas.add(text); + canvas.centerObjectH(text); + function animate(toState) { + text.animate( + { scaleX: Math.max(toState, 0.1) * 2 }, + { + onChange: () => canvas.renderAll(), + onComplete: () => animate(!toState), + duration: 1000, + easing: toState + ? fabric.util.ease.easeInOutQuad + : fabric.util.ease.easeInOutSine, + } + ); + } + // animate(1); +} diff --git a/.codesandbox/templates/vue/.gitignore b/.codesandbox/templates/vue/.gitignore new file mode 100644 index 00000000000..837e96b09b5 --- /dev/null +++ b/.codesandbox/templates/vue/.gitignore @@ -0,0 +1,24 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +package-lock.json +.DS_Store +dist +dist-ssr +coverage +*.local + +# Editor directories and files +.idea +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/.codesandbox/templates/vue/.vscode/extensions.json b/.codesandbox/templates/vue/.vscode/extensions.json new file mode 100644 index 00000000000..c0a6e5a4811 --- /dev/null +++ b/.codesandbox/templates/vue/.vscode/extensions.json @@ -0,0 +1,3 @@ +{ + "recommendations": ["Vue.volar", "Vue.vscode-typescript-vue-plugin"] +} diff --git a/.codesandbox/templates/vue/README.md b/.codesandbox/templates/vue/README.md new file mode 100644 index 00000000000..110f2980b12 --- /dev/null +++ b/.codesandbox/templates/vue/README.md @@ -0,0 +1,15 @@ +# Fabric Vue.js Sandbox + +A [`vue`](https://vuejs.org/) app for reproducing `fabric` issues and creating examples. + +## Reproducing + +Creating a clear, easy to use reproduction is very **IMPORTANT**. +Keep it simple and concise. +Don't add stuff that is out of scope. + +Make sure you are reproducing with the correct version of fabric. + +Provide a **detailed description** including steps to reproduce in the [`REPRODUCE.md`](./REPRODUCE.md) file. + +Navigate to [`src/App.vue`](./src/App.vue) and start editing. diff --git a/.codesandbox/templates/vue/REPRODUCE.md b/.codesandbox/templates/vue/REPRODUCE.md new file mode 100644 index 00000000000..17198ac3882 --- /dev/null +++ b/.codesandbox/templates/vue/REPRODUCE.md @@ -0,0 +1,5 @@ +# Reproducing + +## Steps + +1. diff --git a/.codesandbox/templates/vue/env.d.ts b/.codesandbox/templates/vue/env.d.ts new file mode 100644 index 00000000000..11f02fe2a00 --- /dev/null +++ b/.codesandbox/templates/vue/env.d.ts @@ -0,0 +1 @@ +/// diff --git a/.codesandbox/templates/vue/index.html b/.codesandbox/templates/vue/index.html new file mode 100644 index 00000000000..11603f878f1 --- /dev/null +++ b/.codesandbox/templates/vue/index.html @@ -0,0 +1,13 @@ + + + + + + + Vite App + + +
+ + + diff --git a/.codesandbox/templates/vue/package.json b/.codesandbox/templates/vue/package.json new file mode 100644 index 00000000000..cbbb7653aa2 --- /dev/null +++ b/.codesandbox/templates/vue/package.json @@ -0,0 +1,27 @@ +{ + "name": "vue", + "version": "0.0.0", + "private": true, + "scripts": { + "dev": "vite", + "build": "run-p type-check \"build-only {@}\" --", + "preview": "vite preview", + "build-only": "vite build", + "type-check": "vue-tsc --noEmit -p tsconfig.app.json --composite false" + }, + "dependencies": { + "fabric": "file:../../..", + "vue": "^3.3.4" + }, + "devDependencies": { + "@tsconfig/node18": "^18.2.2", + "@types/node": "^18.18.5", + "@vitejs/plugin-vue": "^4.4.0", + "@vitejs/plugin-vue-jsx": "^3.0.2", + "@vue/tsconfig": "^0.4.0", + "npm-run-all2": "^6.1.1", + "typescript": "~5.2.0", + "vite": "^4.4.11", + "vue-tsc": "^1.8.19" + } +} diff --git a/.codesandbox/templates/vue/public/favicon.ico b/.codesandbox/templates/vue/public/favicon.ico new file mode 100644 index 00000000000..0d10dd16555 Binary files /dev/null and b/.codesandbox/templates/vue/public/favicon.ico differ diff --git a/.codesandbox/templates/vue/sandbox.config.json b/.codesandbox/templates/vue/sandbox.config.json new file mode 100644 index 00000000000..9b732a0abfa --- /dev/null +++ b/.codesandbox/templates/vue/sandbox.config.json @@ -0,0 +1,3 @@ +{ + "template": "vue-cli" +} diff --git a/.codesandbox/templates/vue/src/App.vue b/.codesandbox/templates/vue/src/App.vue new file mode 100644 index 00000000000..ca641c8b2b5 --- /dev/null +++ b/.codesandbox/templates/vue/src/App.vue @@ -0,0 +1,41 @@ + + + diff --git a/.codesandbox/templates/vue/src/main.ts b/.codesandbox/templates/vue/src/main.ts new file mode 100644 index 00000000000..684d04215d7 --- /dev/null +++ b/.codesandbox/templates/vue/src/main.ts @@ -0,0 +1,4 @@ +import { createApp } from 'vue'; +import App from './App.vue'; + +createApp(App).mount('#app'); diff --git a/.codesandbox/templates/vue/tsconfig.app.json b/.codesandbox/templates/vue/tsconfig.app.json new file mode 100644 index 00000000000..3e5b621ef68 --- /dev/null +++ b/.codesandbox/templates/vue/tsconfig.app.json @@ -0,0 +1,12 @@ +{ + "extends": "@vue/tsconfig/tsconfig.dom.json", + "include": ["env.d.ts", "src/**/*", "src/**/*.vue"], + "exclude": ["src/**/__tests__/*"], + "compilerOptions": { + "composite": true, + "baseUrl": ".", + "paths": { + "@/*": ["./src/*"] + } + } +} diff --git a/.codesandbox/templates/vue/tsconfig.json b/.codesandbox/templates/vue/tsconfig.json new file mode 100644 index 00000000000..66b5e5703e8 --- /dev/null +++ b/.codesandbox/templates/vue/tsconfig.json @@ -0,0 +1,11 @@ +{ + "files": [], + "references": [ + { + "path": "./tsconfig.node.json" + }, + { + "path": "./tsconfig.app.json" + } + ] +} diff --git a/.codesandbox/templates/vue/tsconfig.node.json b/.codesandbox/templates/vue/tsconfig.node.json new file mode 100644 index 00000000000..dee96bed470 --- /dev/null +++ b/.codesandbox/templates/vue/tsconfig.node.json @@ -0,0 +1,16 @@ +{ + "extends": "@tsconfig/node18/tsconfig.json", + "include": [ + "vite.config.*", + "vitest.config.*", + "cypress.config.*", + "nightwatch.conf.*", + "playwright.config.*" + ], + "compilerOptions": { + "composite": true, + "module": "ESNext", + "moduleResolution": "Bundler", + "types": ["node"] + } +} diff --git a/.codesandbox/templates/vue/vite.config.ts b/.codesandbox/templates/vue/vite.config.ts new file mode 100644 index 00000000000..dffd198dff6 --- /dev/null +++ b/.codesandbox/templates/vue/vite.config.ts @@ -0,0 +1,15 @@ +import { fileURLToPath, URL } from 'node:url'; + +import { defineConfig } from 'vite'; +import vue from '@vitejs/plugin-vue'; +import vueJsx from '@vitejs/plugin-vue-jsx'; + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [vue(), vueJsx()], + resolve: { + alias: { + '@': fileURLToPath(new URL('./src', import.meta.url)), + }, + }, +}); diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index fea8f16b2b0..71f0773d910 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -54,6 +54,7 @@ body: - 6.0.0-beta5 - 6.0.0-beta4 - 6.0.0-beta3 + - 6.0.0-beta17 - 6.0.0-beta16 - 6.0.0-beta15 - 6.0.0-beta14 diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 6072008cdbe..c163568a732 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -9,26 +9,20 @@ Pull Requests are not always simple. Don't hesitate to ask for help (beware of [gotchas](http://fabricjs.com/fabric-gotchas) 😓). We appreciate your effort and would like the process to be productive and enjoyable. A strong community means a strong and better product for everyone. ---> - -## Motivation - - + Each PR can introduce a single feature or change or fix a single bug + Large refactors PR have been discussed before and probably splitted in steps +--> ## Description - - -## Changes - - - -## Gist - - + + + + + ## In Action - - + + diff --git a/.gitpod.yml b/.gitpod.yml index 4094afcbbce..934a3995cfb 100644 --- a/.gitpod.yml +++ b/.gitpod.yml @@ -16,3 +16,7 @@ tasks: - name: Vanilla init: npm install command: npm start vanilla -- --no-watch + + - name: Vue.js + init: gp sync-await deps + command: npm start vue -- --no-watch diff --git a/.prettierignore b/.prettierignore index d1d86f6ba46..833acfada8e 100644 --- a/.prettierignore +++ b/.prettierignore @@ -12,6 +12,7 @@ before_commit **/dist/ /lib/ /test/ +/website/ .next/ .parcel-cache/ /docs/ diff --git a/.vscode/settings.json b/.vscode/settings.json index d21dddc7466..5a81fab2d3c 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -12,7 +12,22 @@ "editor.formatOnSave": true, "editor.formatOnPaste": true, "editor.codeActionsOnSave": { - "source.organizeImports": false, - "source.removeUnusedImports": true + "source.organizeImports": "never", + "source.removeUnusedImports": "explicit" } + "search.exclude": { + "**/node_modules": true, + "**/bower_components": true, + "**/.next": true, + "**/.parcel-cache": true, + "**/*.code-search": true, + "dist": true, + "website": true, + "coverage": true, + ".nyc_output": true, + "e2e/test-results": true, + "e2e/test-report": true, + "test/visual/assets": true + }, + "search.useIgnoreFiles": true } diff --git a/CHANGELOG.md b/CHANGELOG.md index 5b8fbec14f8..83671320fa4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,26 @@ ## [next] - fix(Text) Fix style transfer issue on a line that is not empty [#9461](https://github.com/fabricjs/fabric.js/pull/9461) +- ci(): add a vue template [#9502](https://github.com/fabricjs/fabric.js/pull/9502) +- refactor(): `getActiveControl` now returns the key, the corner and the coordinates [#9515](https://github.com/fabricjs/fabric.js/pull/9515) +- fix(Controls): forbid scaling to avoid NaN issues on scaling zero sized objects. #9475 [#9563](https://github.com/fabricjs/fabric.js/pull/9563) +- feat(LayoutManager): BREAKING remove `shouldResetTransform` handling from LayoutManager [#9581](https://github.com/fabricjs/fabric.js/pull/9581) +- refactor(): rm active selection ref [#9561](https://github.com/fabricjs/fabric.js/pull/9561) +- feat(Next.js sandbox): simpler canvas hook [#9577](https://github.com/fabricjs/fabric.js/pull/9577) +- fix(): fix modify polygon points with zero sized polygons ( particular case of axis oriented lines ) [#9575](https://github.com/fabricjs/fabric.js/pull/9575) +- fix(Polyline, Polygon): Fix wrong pathOffset for polyline with the normal bounding box calculation. [#9460](https://github.com/fabricjs/fabric.js/pull/9460) + +## [6.0.0-beta17] + +- refactor(): Rewrite how typeAssertion works to avoid isType and add tests for subclasses [#9570](https://github.com/fabricjs/fabric.js/pull/9570) +- fix(): perform layout on poly change + initialization object subscription [#9537](https://github.com/fabricjs/fabric.js/pull/9537) +- fix(): Addressing path cloning slowness ( partially ) [#9573](https://github.com/fabricjs/fabric.js/pull/9573) +- fix(): `exactBoundingBox` stroke calculations [#9572](https://github.com/fabricjs/fabric.js/pull/9572) +- feat(): Add save/restore ability to group LayoutManager [#9564](https://github.com/fabricjs/fabric.js/pull/9564) +- fix(): Remove unwanted set type warning [#9569](https://github.com/fabricjs/fabric.js/pull/9569) +- refactor(): Separate defaults for base fabric object vs interactive object. Also some moving around of variables [#9474](https://github.com/fabricjs/fabric.js/pull/9474) +- refactor(): Change how LayoutManager handles restoring groups [#9522](https://github.com/fabricjs/fabric.js/pull/9522) +- fix(BaseConfiguration): set `devicePixelRatio` from window [#9470](https://github.com/fabricjs/fabric.js/pull/9470) - fix(): bubble dirty flag for group only when true [#9540](https://github.com/fabricjs/fabric.js/pull/9540) - test() Backport a test to capture a failing text style situation [#9531](https://github.com/fabricjs/fabric.js/pull/9531) @@ -113,6 +133,7 @@ - ci(): properly checkout head for stats [#9080](https://github.com/fabricjs/fabric.js/pull/9080) - fix(Text): `_getFontDeclaration` wasn't considering fontFamily from the style object [#9082](https://github.com/fabricjs/fabric.js/pull/9082) - chore(TS): Fix ITextBehaviour enterEditing type [#9075](https://github.com/fabricjs/fabric.js/pull/9075) +- cd(node): ban `package.json` main entry [#9068](https://github.com/fabricjs/fabric.js/pull/9068) - chore(TS): export FabricObjectProps and GroupProps [#9025](https://github.com/fabricjs/fabric.js/pull/9025) - chore(TS): Replace BaseFabricObject with FabricObject [#9016](https://github.com/fabricjs/fabric.js/pull/9016) - refactor(svgImport): remove the css/gradient/clipPath global definitions [#9030](https://github.com/fabricjs/fabric.js/pull/9030) diff --git a/fabric.ts b/fabric.ts index 4f68bf41865..623255692e8 100644 --- a/fabric.ts +++ b/fabric.ts @@ -124,6 +124,7 @@ export type { } from './src/shapes/Group'; export { Group } from './src/shapes/Group'; export * from './src/LayoutManager'; +export type { SerializedLayoutManager } from './src/LayoutManager'; export type { ActiveSelectionOptions, MultiSelectionStacking, diff --git a/package.json b/package.json index cf60efed2db..12426a11656 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "fabric", "description": "Object model for HTML5 canvas, and SVG-to-canvas parser. Backed by jsdom and node-canvas.", "homepage": "http://fabricjs.com/", - "version": "6.0.0-beta16", + "version": "6.0.0-beta17", "author": "Juriy Zaytsev ", "contributors": [ { @@ -10,15 +10,15 @@ "email": "andreabogazzi79@gmail.com", "url": "https://github.com/asturur" }, - { - "name": "Steve Eberhardt", - "email": "melchiar2@gmail.com", - "url": "https://github.com/melchiar" - }, { "name": "Shachar Nencel", "email": "shacharnen@gmail.com", "url": "https://github.com/ShaMan123" + }, + { + "name": "Steve Eberhardt", + "email": "melchiar2@gmail.com", + "url": "https://github.com/melchiar" } ], "keywords": [ @@ -131,7 +131,6 @@ "node": ">=16.20.0" }, "module": "./dist/index.mjs", - "main": "./dist/index.node.cjs", "types": "./dist/index.d.ts", "typesVersions": { ">=4.2": { diff --git a/src/ClassRegistry.ts b/src/ClassRegistry.ts index 67835cd76d2..8b673c40686 100644 --- a/src/ClassRegistry.ts +++ b/src/ClassRegistry.ts @@ -24,7 +24,7 @@ export class ClassRegistry { this[SVG] = new Map(); } - getClass(classType: string): any { + getClass(classType: string): T { const constructor = this[JSON].get(classType); if (!constructor) { throw new FabricError(`No class registered for ${classType}`); diff --git a/src/EventTypeDefs.ts b/src/EventTypeDefs.ts index a4191e3c612..10ba08cc596 100644 --- a/src/EventTypeDefs.ts +++ b/src/EventTypeDefs.ts @@ -55,7 +55,7 @@ export type ControlCursorCallback = ControlCallback; */ export type Transform = { target: FabricObject; - action: string; + action?: string; actionHandler?: TransformActionHandler; corner: string; scaleX: number; @@ -79,8 +79,6 @@ export type Transform = { originX: TOriginX; originY: TOriginY; }; - // @TODO: investigate if this reset is really needed - reset?: boolean; actionPerformed: boolean; }; @@ -110,7 +108,7 @@ export interface ModifiedEvent extends TEvent { transform: Transform; target: FabricObject; - action: string; + action?: string; } type ModificationEventsSpec< diff --git a/src/LayoutManager/LayoutManager.spec.ts b/src/LayoutManager/LayoutManager.spec.ts index a5c374c53f3..3ef954a6219 100644 --- a/src/LayoutManager/LayoutManager.spec.ts +++ b/src/LayoutManager/LayoutManager.spec.ts @@ -1,16 +1,16 @@ -import { StaticCanvas } from '../canvas/StaticCanvas'; +import type { TModificationEvents } from '../EventTypeDefs'; import { Point } from '../Point'; +import { StaticCanvas } from '../canvas/StaticCanvas'; import { Group } from '../shapes/Group'; import { FabricObject } from '../shapes/Object/FabricObject'; import { LayoutManager } from './LayoutManager'; import { FitContentLayout } from './LayoutStrategies/FitContentLayout'; import { FixedLayout } from './LayoutStrategies/FixedLayout'; - import { - LAYOUT_TYPE_INITIALIZATION, LAYOUT_TYPE_ADDED, - LAYOUT_TYPE_REMOVED, LAYOUT_TYPE_IMPERATIVE, + LAYOUT_TYPE_INITIALIZATION, + LAYOUT_TYPE_REMOVED, } from './constants'; import type { LayoutContext, @@ -113,7 +113,7 @@ describe('Layout Manager', () => { describe('onBeforeLayout', () => { describe('triggers', () => { - const triggers = [ + const triggers: ('modified' | TModificationEvents | 'changed')[] = [ 'modified', 'moving', 'resizing', @@ -121,7 +121,8 @@ describe('Layout Manager', () => { 'scaling', 'skewing', 'changed', - ] as const; + 'modifyPoly', + ]; it('should subscribe object', () => { const lifecycle: jest.SpyInstance[] = []; @@ -294,11 +295,6 @@ describe('Layout Manager', () => { describe('getLayoutResult', () => { test.each([ { type: LAYOUT_TYPE_INITIALIZATION, targets: [] }, - { - type: LAYOUT_TYPE_INITIALIZATION, - objectsRelativeToGroup: true, - targets: [], - }, { type: LAYOUT_TYPE_IMPERATIVE }, ] as const)('$type trigger', (options) => { const manager = new LayoutManager(); @@ -309,19 +305,27 @@ describe('Layout Manager', () => { relativeCorrection: new Point(-30, -40), }); - const target = new Group([], { scaleX: 2, scaleY: 0.5, angle: 30 }); + const rect = new FabricObject({ width: 50, height: 50 }); + const target = new Group([rect], { scaleX: 2, scaleY: 0.5, angle: 30 }); const context: StrictLayoutContext = { bubbles: true, strategy: manager.strategy, target, + targets: [rect], ...options, stopPropagation() { this.bubbles = false; }, }; - expect(manager['getLayoutResult'](context)).toMatchSnapshot(); + expect(manager['getLayoutResult'](context)).toMatchSnapshot({ + cloneDeepWith: (value: any) => { + if (value instanceof Point) { + return new Point(Math.round(value.x), Math.round(value.y)); + } + }, + }); }); }); @@ -479,12 +483,6 @@ describe('Layout Manager', () => { const canvasFire = jest.fn(); target.canvas = { fire: canvasFire }; - const shouldResetTransform = jest - .spyOn(manager.strategy, 'shouldResetTransform') - .mockImplementation(() => { - lifecycle.push(shouldResetTransform); - }); - const context: StrictLayoutContext = { bubbles, strategy: manager.strategy, @@ -505,11 +503,9 @@ describe('Layout Manager', () => { manager['onAfterLayout'](context, layoutResult); expect(lifecycle).toEqual([ - shouldResetTransform, targetFire, ...(bubbles ? [parentPerformLayout] : []), ]); - expect(shouldResetTransform).toBeCalledWith(context); expect(targetFire).toBeCalledWith('layout:after', { context, result: layoutResult, @@ -531,34 +527,6 @@ describe('Layout Manager', () => { } ); - test.each([true, false])('reset target transform %s', (reset) => { - const targets = [new Group([new FabricObject()]), new FabricObject()]; - const target = new Group(targets); - target.left = 50; - - const manager = new LayoutManager(); - jest - .spyOn(manager.strategy, 'shouldResetTransform') - .mockImplementation(() => { - return reset; - }); - - const context: StrictLayoutContext = { - bubbles: true, - strategy: manager.strategy, - type: LAYOUT_TYPE_REMOVED, - target, - targets, - prevStrategy: undefined, - stopPropagation() { - this.bubbles = false; - }, - }; - manager['onAfterLayout'](context); - - expect(target.left).toBe(reset ? 0 : 50); - }); - test('bubbling', () => { const manager = new LayoutManager(); const manager2 = new LayoutManager(); @@ -772,6 +740,19 @@ describe('Layout Manager', () => { expect(child.getCenterPoint()).toMatchObject(group.getCenterPoint()); }); + it('should subscribe objects on initialization', () => { + const child = new FabricObject({ + width: 200, + height: 200, + strokeWidth: 0, + }); + jest.spyOn(child, 'toJSON').mockReturnValue('child'); + const group = new Group([child]); + expect( + Array.from(group.layoutManager['_subscriptions'].keys()) + ).toMatchObject([child]); + }); + test.each([true, false])( 'initialization edge case, legacy layout %s', (legacy) => { diff --git a/src/LayoutManager/LayoutManager.ts b/src/LayoutManager/LayoutManager.ts index a00ddd8835f..7bd78b6be99 100644 --- a/src/LayoutManager/LayoutManager.ts +++ b/src/LayoutManager/LayoutManager.ts @@ -4,7 +4,6 @@ import { CENTER, iMatrix } from '../constants'; import type { Group } from '../shapes/Group'; import type { FabricObject } from '../shapes/Object/FabricObject'; import { invertTransform } from '../util/misc/matrix'; -import { resetObjectTransform } from '../util/misc/objectTransforms'; import { resolveOrigin } from '../util/misc/resolveOrigin'; import { FitContentLayout } from './LayoutStrategies/FitContentLayout'; import type { LayoutStrategy } from './LayoutStrategies/LayoutStrategy'; @@ -17,6 +16,14 @@ import { LAYOUT_TYPE_OBJECT_MODIFYING, } from './constants'; import type { LayoutContext, LayoutResult, StrictLayoutContext } from './types'; +import { classRegistry } from '../ClassRegistry'; + +const LAYOUT_MANAGER = 'layoutManager'; + +export type SerializedLayoutManager = { + type: string; + strategy: string; +}; export class LayoutManager { private declare _prevLayoutStrategy?: LayoutStrategy; @@ -72,6 +79,7 @@ export class LayoutManager { 'scaling', 'skewing', 'changed', + 'modifyPoly', ] as TModificationEvents[] ).map((key) => object.on(key, (e) => @@ -161,21 +169,17 @@ export class LayoutManager { correction = new Point(), relativeCorrection = new Point(), } = result; - const offset = - context.type === LAYOUT_TYPE_INITIALIZATION && - context.objectsRelativeToGroup - ? new Point() - : prevCenter - .subtract(nextCenter) - .add(correction) - .transform( - // in `initialization` we do not account for target's transformation matrix - context.type === LAYOUT_TYPE_INITIALIZATION - ? iMatrix - : invertTransform(target.calcOwnMatrix()), - true - ) - .add(relativeCorrection); + const offset = prevCenter + .subtract(nextCenter) + .add(correction) + .transform( + // in `initialization` we do not account for target's transformation matrix + context.type === LAYOUT_TYPE_INITIALIZATION + ? iMatrix + : invertTransform(target.calcOwnMatrix()), + true + ) + .add(relativeCorrection); return { result, @@ -221,12 +225,10 @@ export class LayoutManager { ) { const { target } = context; // adjust objects to account for new center - (context.type !== LAYOUT_TYPE_INITIALIZATION || - !context.objectsRelativeToGroup) && - target.forEachObject((object) => { - object.group === target && - this.layoutObject(context, layoutResult, object); - }); + target.forEachObject((object) => { + object.group === target && + this.layoutObject(context, layoutResult, object); + }); // adjust clip path to account for new center context.strategy.shouldLayoutClipPath(context) && this.layoutObject(context, layoutResult, target.clipPath as FabricObject); @@ -259,11 +261,6 @@ export class LayoutManager { ...bubblingContext } = context; const { canvas } = target; - if (strategy.shouldResetTransform(context)) { - resetObjectTransform(target); - target.left = 0; - target.top = 0; - } // fire layout event (event will fire only for layouts after initialization layout) target.fire('layout:after', { @@ -295,9 +292,16 @@ export class LayoutManager { this._subscriptions.clear(); } - toJSON() { + toObject() { return { + type: LAYOUT_MANAGER, strategy: (this.strategy.constructor as typeof LayoutStrategy).type, }; } + + toJSON() { + return this.toObject(); + } } + +classRegistry.setClass(LayoutManager, LAYOUT_MANAGER); diff --git a/src/LayoutManager/LayoutStrategies/ClipPathLayout.ts b/src/LayoutManager/LayoutStrategies/ClipPathLayout.ts index 162d87f6159..89c8ed6496f 100644 --- a/src/LayoutManager/LayoutStrategies/ClipPathLayout.ts +++ b/src/LayoutManager/LayoutStrategies/ClipPathLayout.ts @@ -5,6 +5,7 @@ import { sendPointToPlane } from '../../util/misc/planeChange'; import type { LayoutStrategyResult, StrictLayoutContext } from '../types'; import { LayoutStrategy } from './LayoutStrategy'; import { getObjectBounds } from './utils'; +import { classRegistry } from '../../ClassRegistry'; /** * Layout will adjust the bounding box to match the clip path bounding box. @@ -29,6 +30,7 @@ export class ClipPathLayout extends LayoutStrategy { if (!clipPath || !this.shouldPerformLayout(context)) { return; } + // TODO: remove stroke calculation from this case const { width, height } = makeBoundingBoxFromPoints( getObjectBounds(target, clipPath as FabricObject) ); @@ -68,3 +70,5 @@ export class ClipPathLayout extends LayoutStrategy { } } } + +classRegistry.setClass(ClipPathLayout); diff --git a/src/LayoutManager/LayoutStrategies/FitContentLayout.ts b/src/LayoutManager/LayoutStrategies/FitContentLayout.ts index f90d443684e..6c42e1d33bf 100644 --- a/src/LayoutManager/LayoutStrategies/FitContentLayout.ts +++ b/src/LayoutManager/LayoutStrategies/FitContentLayout.ts @@ -1,5 +1,6 @@ import type { StrictLayoutContext } from '../types'; import { LayoutStrategy } from './LayoutStrategy'; +import { classRegistry } from '../../ClassRegistry'; /** * Layout will adjust the bounding box to fit target's objects. @@ -16,3 +17,5 @@ export class FitContentLayout extends LayoutStrategy { return true; } } + +classRegistry.setClass(FitContentLayout); diff --git a/src/LayoutManager/LayoutStrategies/FixedLayout.ts b/src/LayoutManager/LayoutStrategies/FixedLayout.ts index ffb4325167f..8ed45e683ac 100644 --- a/src/LayoutManager/LayoutStrategies/FixedLayout.ts +++ b/src/LayoutManager/LayoutStrategies/FixedLayout.ts @@ -5,6 +5,7 @@ import type { StrictLayoutContext, } from '../types'; import { LayoutStrategy } from './LayoutStrategy'; +import { classRegistry } from '../../ClassRegistry'; /** * Layout will keep target's initial size. @@ -22,3 +23,5 @@ export class FixedLayout extends LayoutStrategy { return new Point(target.width || size.x, target.height || size.y); } } + +classRegistry.setClass(FixedLayout); diff --git a/src/LayoutManager/LayoutStrategies/LayoutStrategy.ts b/src/LayoutManager/LayoutStrategies/LayoutStrategy.ts index a7bb9bf0e95..12fdc395577 100644 --- a/src/LayoutManager/LayoutStrategies/LayoutStrategy.ts +++ b/src/LayoutManager/LayoutStrategies/LayoutStrategy.ts @@ -61,13 +61,6 @@ export abstract class LayoutStrategy { return result.size; } - /** - * called from the `onAfterLayout` hook - */ - shouldResetTransform(context: StrictLayoutContext) { - return context.target.size() === 0; - } - /** * Override this method to customize layout. */ diff --git a/src/LayoutManager/LayoutStrategies/utils.ts b/src/LayoutManager/LayoutStrategies/utils.ts index af5f92eedba..76fa0697911 100644 --- a/src/LayoutManager/LayoutStrategies/utils.ts +++ b/src/LayoutManager/LayoutStrategies/utils.ts @@ -34,14 +34,17 @@ export const getObjectBounds = ( const objectCenter = t ? object.getRelativeCenterPoint().transform(t) : object.getRelativeCenterPoint(); - const strokeUniformVector = strokeUniform - ? sendVectorToPlane( - new Point(strokeWidth, strokeWidth), - undefined, - destinationGroup.calcTransformMatrix() - ) - : ZERO; - const scalingStrokeWidth = strokeUniform ? 0 : strokeWidth; + const accountForStroke = !object['isStrokeAccountedForInDimensions'](); + const strokeUniformVector = + strokeUniform && accountForStroke + ? sendVectorToPlane( + new Point(strokeWidth, strokeWidth), + undefined, + destinationGroup.calcTransformMatrix() + ) + : ZERO; + const scalingStrokeWidth = + !strokeUniform && accountForStroke ? strokeWidth : 0; const sizeVector = sizeAfterTransform( width + scalingStrokeWidth, height + scalingStrokeWidth, diff --git a/src/LayoutManager/README.md b/src/LayoutManager/README.md index 22dfe86700a..53592c278e0 100644 --- a/src/LayoutManager/README.md +++ b/src/LayoutManager/README.md @@ -23,8 +23,6 @@ The flow has the following goals/features: - calculate group new size and position - move the objects to their new position relative to the group center. -**Note**: the option `objectsRelativeToGroup` is related to restoring a group from serialization and should be removed. Object should be eventually normalized in the from Object function or we should ask why do we want to perform a layout if the group has been saved with the layout properties already calculated. - ### Design Topics TBD - Should layout trigger also on changes to objects like `strokeWidth`, `fontSize` etc.? @@ -46,12 +44,11 @@ getLayoutResult will return an object that contains: - result of strategy.calcLayoutResult - nextCenter ( that is part of result, duplicate ) - prevCenter 0,0 in case of INITIALIZATION -- offset calculated with prevCenter, nextCenter and various switches ( needs simplification removing `objectsRelativeToGroup`) +- offset calculated with prevCenter, nextCenter and various switches commitLayout will get the above results and - set width/height of the group -- set the position of all objects ( unless we are coming from `objectsRelativeToGroup`) - set the group top/left by either the passed in x/y or the nextCenter value onAfterLayout will diff --git a/src/LayoutManager/__snapshots__/LayoutManager.spec.ts.snap b/src/LayoutManager/__snapshots__/LayoutManager.spec.ts.snap index 7afc65b8b17..741508b80e1 100644 --- a/src/LayoutManager/__snapshots__/LayoutManager.spec.ts.snap +++ b/src/LayoutManager/__snapshots__/LayoutManager.spec.ts.snap @@ -7,12 +7,12 @@ exports[`Layout Manager getLayoutResult imperative trigger 1`] = ` "y": 100, }, "offset": Point { - "x": -70, - "y": -120, + "x": -42, + "y": -113, }, "prevCenter": Point { - "x": 0, - "y": 0, + "x": 38, + "y": 37, }, "result": { "center": Point { @@ -69,38 +69,3 @@ exports[`Layout Manager getLayoutResult initialization trigger 1`] = ` }, } `; - -exports[`Layout Manager getLayoutResult initialization trigger 2`] = ` -{ - "nextCenter": Point { - "x": 50, - "y": 100, - }, - "offset": Point { - "x": 0, - "y": 0, - }, - "prevCenter": Point { - "x": 0, - "y": 0, - }, - "result": { - "center": Point { - "x": 50, - "y": 100, - }, - "correction": Point { - "x": 10, - "y": 20, - }, - "relativeCorrection": Point { - "x": -30, - "y": -40, - }, - "size": Point { - "x": 200, - "y": 250, - }, - }, -} -`; diff --git a/src/LayoutManager/types.ts b/src/LayoutManager/types.ts index 94f17653377..caa6c309642 100644 --- a/src/LayoutManager/types.ts +++ b/src/LayoutManager/types.ts @@ -83,7 +83,6 @@ export type CommonLayoutContext = { export type InitializationLayoutContext = CommonLayoutContext & { type: typeof LAYOUT_TYPE_INITIALIZATION; - objectsRelativeToGroup?: boolean; targets: FabricObject[]; x?: number; y?: number; diff --git a/src/Pattern/Pattern.ts b/src/Pattern/Pattern.ts index 88540b8796c..e6e66517433 100644 --- a/src/Pattern/Pattern.ts +++ b/src/Pattern/Pattern.ts @@ -92,7 +92,7 @@ export class Pattern { * @param {Object} [options] Options object * @param {option.source} [source] the pattern source, eventually empty or a drawable */ - constructor(options: PatternOptions = {}) { + constructor(options: PatternOptions) { this.id = uid(); Object.assign(this, options); } @@ -192,7 +192,7 @@ export class Pattern { /* _TO_SVG_END_ */ static async fromObject( - { source, ...serialized }: SerializedPatternOptions, + { type, source, ...serialized }: SerializedPatternOptions, options: Abortable ): Promise { const img = await loadImage(source, { diff --git a/src/Pattern/types.ts b/src/Pattern/types.ts index de49ab25b4b..ea835eab647 100644 --- a/src/Pattern/types.ts +++ b/src/Pattern/types.ts @@ -10,8 +10,11 @@ type ExportedKeys = | 'repeat' | 'source'; -export type PatternOptions = Partial>; +export type PatternOptions = Partial> & { + source: CanvasImageSource; +}; export type SerializedPatternOptions = PatternOptions & { + type: 'pattern'; source: string; }; diff --git a/src/benchmarks/pathCloning.mjs b/src/benchmarks/pathCloning.mjs new file mode 100644 index 00000000000..07ae0fd1333 --- /dev/null +++ b/src/benchmarks/pathCloning.mjs @@ -0,0 +1,111 @@ +import { Path, FabricObject, util } from '../../dist/index.mjs'; +import lodash from 'lodash'; +import { normalPath, insanelyLongButRealPath } from './pathData.mjs'; + +class OldPath extends Path { + /** + * Returns object representation of an instance + * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output + * @return {Object} object representation of an instance + */ + toObject(propertiesToInclude = []) { + return { + ...FabricObject.prototype.toObject.call(this, propertiesToInclude), + path: this.path.map((pathCmd) => pathCmd.slice()), + }; + } +} + +const benchmark = async (callback) => { + const start = Date.now(); + await callback(); + return Date.now() - start; +}; + +const size = 1; + +const pathCloneDeep = await benchmark(async () => { + const path = new Path(insanelyLongButRealPath); + for (let i = 0; i < size; i++) { + await path.clone(); + } +}); + +const pathOldCode = await benchmark(async () => { + const path = new OldPath(insanelyLongButRealPath); + for (let i = 0; i < size; i++) { + await path.clone(); + } +}); + +console.log({ + pathCloneDeep, + pathOldCode, +}); + +const parsedPath = util.parsePath(insanelyLongButRealPath); + +const parsedNormalPath = util.parsePath(normalPath); + +const size2 = 100; + +const cloningSimple = await benchmark(async () => { + for (let i = 0; i < size2; i++) { + const cloned = JSON.parse(JSON.stringify(parsedPath)); + } +}); + +const cloningLodash = await benchmark(async () => { + for (let i = 0; i < size2; i++) { + const cloned = lodash.cloneDeep(parsedPath); + } +}); + +const cloningCustom = await benchmark(async () => { + for (let i = 0; i < size2; i++) { + const cloned = parsedPath.map((pathCmd) => pathCmd.slice()); + } +}); + +console.log({ + cloningLodash, + cloningSimple, + cloningCustom, +}); + +const size3 = 10_000; + +const cloningSimpleNormal = await benchmark(async () => { + for (let i = 0; i < size3; i++) { + const cloned = JSON.parse(JSON.stringify(parsedNormalPath)); + } +}); + +const cloningLodashNormal = await benchmark(async () => { + for (let i = 0; i < size3; i++) { + const cloned = lodash.cloneDeep(parsedNormalPath); + } +}); + +const cloningCustomNormal = await benchmark(async () => { + for (let i = 0; i < size3; i++) { + const cloned = parsedNormalPath.map((pathCmd) => pathCmd.slice()); + } +}); + +console.log({ + cloningLodashNormal, + cloningSimpleNormal, + cloningCustomNormal, +}); + +/** + * results on a m1pro + * { pathCloneDeep: 649, pathOldCode: 497 } + * { cloningLodash: 384, cloningSimple: 778, cloningCustom: 26 } + * { + * cloningLodashNormal: 56, + * cloningSimpleNormal: 139, + * cloningCustomNormal: 7 + * } + */ diff --git a/src/benchmarks/pathData.mjs b/src/benchmarks/pathData.mjs new file mode 100644 index 00000000000..0bf83a22fd1 --- /dev/null +++ b/src/benchmarks/pathData.mjs @@ -0,0 +1,5 @@ +export const normalPath = + 'M262.224,424.883C260.775,424.883 259.666,424.471 258.896,423.648C258.127,422.825 257.743,421.663 257.743,420.16L257.743,410.284C257.743,408.782 258.127,407.619 258.896,406.796C259.666,405.973 260.775,405.561 262.224,405.561C263.673,405.561 264.782,405.973 265.552,406.796C266.321,407.619 266.706,408.782 266.706,410.284L266.706,420.16C266.706,421.663 266.321,422.825 265.552,423.648C264.782,424.471 263.673,424.883 262.224,424.883ZM262.224,422.199C263.244,422.199 263.754,421.582 263.754,420.348L263.754,410.097C263.754,408.862 263.244,408.245 262.224,408.245C261.204,408.245 260.694,408.862 260.694,410.097L260.694,420.348C260.694,421.582 261.204,422.199 262.224,422.199Z'; + +export const insanelyLongButRealPath = + 'M623.329,1257.95L607.338,1257.95L590.616,1241.22C601.536,1241.24 612.442,1241.26 623.329,1241.31L623.329,1257.95ZM623.329,1257.95L641.5,1257.95L641.5,1292.11L623.253,1273.86C623.264,1268.48 623.285,1263.12 623.329,1257.95ZM770.329,1378.88L728.272,1378.88L711.537,1362.14C731.17,1362.14 750.783,1362.16 770.329,1362.25L770.329,1378.88ZM770.329,1378.88L788.5,1378.88L788.5,1436.64L788.415,1436.64C788.177,1437.19 787.918,1437.73 787.636,1438.25L770.003,1420.61C770.117,1420.3 770.2,1419.98 770.244,1419.66C770.462,1418.06 770.244,1416.26 770.244,1414.54C770.244,1402.9 770.232,1390.44 770.329,1378.88ZM916.079,1499.81L852.522,1499.81C852.504,1500.9 852.489,1501.99 852.477,1503.09L832.482,1483.09C860.395,1483.07 888.304,1483.06 916.079,1483.18L916.079,1499.81ZM916.079,1499.81L934.25,1499.81L934.25,1557.57L934.165,1557.57C932.143,1562.32 928.575,1565.52 922.733,1566.44L915.834,1566.44L898.879,1549.49C900.761,1549.55 902.668,1549.69 904.306,1549.47C906.71,1549.13 909.336,1547.76 911.301,1546.48C913.195,1545.25 915.667,1542.98 915.994,1540.59C916.212,1538.99 915.994,1537.19 915.994,1535.47C915.994,1523.83 915.982,1511.38 916.079,1499.81ZM1063.08,1620.75L999.522,1620.75C999.363,1630.38 999.435,1640.25 999.45,1650.06L981.25,1631.86C981.21,1628.12 981.136,1624.4 981.01,1620.75L970.14,1620.75L953.43,1604.04C990.015,1604.03 1026.66,1603.96 1063.08,1604.11L1063.08,1620.75ZM1063.08,1620.75L1081.25,1620.75L1081.25,1678.5L1081.16,1678.5C1079.14,1683.25 1075.58,1686.45 1069.73,1687.38L1036.77,1687.38L1019.79,1670.4L1044.65,1670.4C1046.91,1670.4 1049.31,1670.68 1051.31,1670.4C1053.71,1670.06 1056.34,1668.69 1058.3,1667.41C1060.19,1666.18 1062.67,1663.91 1062.99,1661.53C1063.21,1659.93 1062.99,1658.12 1062.99,1656.41C1062.99,1644.76 1062.98,1632.31 1063.08,1620.75ZM1208.83,1741.68L1145.27,1741.68C1145.02,1757.15 1145.36,1773.22 1145.1,1788.69L1138.08,1788.69L1127,1777.61C1127.03,1765.52 1127.16,1753.33 1126.76,1741.68L1091.07,1741.68L1074.36,1724.97C1119.17,1725 1164.17,1724.86 1208.83,1725.05L1208.83,1741.68ZM1208.83,1741.68L1227,1741.68L1227,1799.44L1226.91,1799.44C1224.89,1804.18 1221.33,1807.38 1215.48,1808.31L1157.7,1808.31L1140.72,1791.33C1157.31,1791.33 1173.95,1791.33 1190.4,1791.33C1192.66,1791.33 1195.06,1791.61 1197.06,1791.33C1199.46,1791 1202.09,1789.62 1204.05,1788.35C1205.94,1787.12 1208.42,1784.85 1208.74,1782.46C1208.96,1780.86 1208.74,1779.06 1208.74,1777.34C1208.74,1765.7 1208.73,1753.24 1208.83,1741.68ZM1355.83,1862.62L1292.27,1862.62C1292.02,1878.09 1292.36,1894.15 1292.1,1909.62L1274.02,1909.62C1273.89,1893.99 1274.29,1877.84 1273.76,1862.62L1215.58,1862.62C1215.63,1857.07 1215.46,1851.3 1215.66,1845.89C1262.36,1845.95 1309.28,1845.78 1355.83,1845.98L1355.83,1862.62ZM1355.83,1862.62L1374,1862.62L1374,1920.37L1373.91,1920.37C1371.89,1925.12 1368.33,1928.32 1362.48,1929.24L1278.63,1929.24L1261.66,1912.27C1286.77,1912.27 1312.31,1912.27 1337.4,1912.27C1339.66,1912.27 1342.06,1912.55 1344.06,1912.27C1346.46,1911.93 1349.09,1910.56 1351.05,1909.28C1352.94,1908.05 1355.42,1905.78 1355.74,1903.39C1355.96,1901.8 1355.74,1899.99 1355.74,1898.28C1355.74,1886.63 1355.73,1874.18 1355.83,1862.62ZM1501.58,1983.55L1438.02,1983.55C1437.77,1999.02 1438.11,2015.09 1437.85,2030.56L1419.77,2030.56C1419.64,2014.92 1420.04,1998.78 1419.51,1983.55L1361.33,1983.55C1361.38,1978 1361.21,1972.23 1361.41,1966.83C1408.11,1966.88 1455.03,1966.72 1501.58,1966.91L1501.58,1983.55ZM1501.58,1983.55L1519.75,1983.55L1519.75,2041.31L1519.66,2041.31C1517.64,2046.05 1514.08,2049.25 1508.23,2050.18L1399.57,2050.18L1382.59,2033.2C1415.54,2033.2 1449.74,2033.2 1483.15,2033.2C1485.41,2033.2 1487.81,2033.48 1489.81,2033.2C1492.21,2032.86 1494.84,2031.49 1496.8,2030.22C1498.69,2028.99 1501.17,2026.72 1501.49,2024.33C1501.71,2022.73 1501.49,2020.92 1501.49,2019.21C1501.49,2007.57 1501.48,1995.11 1501.58,1983.55ZM2526.83,1378.88L2463.27,1378.88C2463.02,1394.35 2463.36,1410.42 2463.1,1425.89L2445.02,1425.89C2444.89,1410.25 2445.29,1394.11 2444.76,1378.88L2386.58,1378.88C2386.64,1373.34 2386.46,1367.56 2386.66,1362.16C2433.36,1362.22 2480.28,1362.05 2526.83,1362.25L2526.83,1378.88ZM2526.83,1378.88L2545,1378.88L2545,1428.41L2527.9,1445.51L2407.56,1445.51L2407.56,1428.53C2440.6,1428.53 2474.89,1428.53 2508.4,1428.53C2510.66,1428.53 2513.06,1428.81 2515.06,1428.53C2517.46,1428.19 2520.09,1426.82 2522.05,1425.55C2523.95,1424.32 2526.42,1422.05 2526.74,1419.66C2526.96,1418.06 2526.74,1416.26 2526.74,1414.54C2526.74,1402.9 2526.73,1390.44 2526.83,1378.88ZM2672.58,1257.95L2609.02,1257.95C2608.77,1273.42 2609.11,1289.48 2608.85,1304.95L2590.77,1304.95C2590.64,1289.32 2591.04,1273.17 2590.51,1257.95L2532.33,1257.95C2532.39,1252.4 2532.21,1246.63 2532.41,1241.23C2579.11,1241.28 2626.03,1241.11 2672.58,1241.31L2672.58,1257.95ZM2672.58,1257.95L2690.75,1257.95L2690.75,1282.66L2648.84,1324.57L2553.31,1324.57L2553.31,1307.6C2586.35,1307.6 2620.64,1307.6 2654.15,1307.6C2656.41,1307.6 2658.81,1307.88 2660.81,1307.6C2663.21,1307.26 2665.84,1305.89 2667.8,1304.61C2669.7,1303.38 2672.17,1301.11 2672.49,1298.73C2672.71,1297.13 2672.49,1295.32 2672.49,1293.61C2672.49,1281.96 2672.48,1269.51 2672.58,1257.95ZM2672.58,1016.08L2609.02,1016.08C2608.77,1031.55 2609.11,1047.62 2608.85,1063.09L2590.77,1063.09C2590.64,1047.45 2591.04,1031.31 2590.51,1016.08L2532.33,1016.08C2532.39,1010.53 2532.21,1004.76 2532.41,999.358C2575.21,999.41 2618.21,999.271 2660.93,999.401L2672.58,1011.05L2672.58,1016.08ZM2672.58,1016.08L2677.61,1016.08L2690.75,1029.22L2690.75,1073.83L2690.66,1073.83C2688.64,1078.58 2685.08,1081.78 2679.23,1082.71L2553.31,1082.71L2553.31,1065.73C2586.35,1065.73 2620.64,1065.73 2654.15,1065.73C2656.41,1065.73 2658.81,1066.01 2660.81,1065.73C2663.21,1065.39 2665.84,1064.02 2667.8,1062.74C2669.7,1061.51 2672.17,1059.24 2672.49,1056.86C2672.71,1055.26 2672.49,1053.45 2672.49,1051.74C2672.49,1040.09 2672.48,1027.64 2672.58,1016.08ZM2087.08,532.343L2023.52,532.343C2023.27,547.813 2023.61,563.879 2023.35,579.35L2005.27,579.35C2005.14,563.717 2005.54,547.572 2005.01,532.343L1946.83,532.343C1946.88,526.798 1946.71,521.025 1946.91,515.622C1993.61,515.679 2040.53,515.508 2087.08,515.708L2087.08,532.343ZM2087.08,532.343L2105.25,532.343L2105.25,590.099L2105.16,590.099C2103.14,594.844 2099.57,598.045 2093.73,598.971L1967.81,598.971L1967.81,581.994C2000.85,581.994 2035.14,581.994 2068.65,581.994C2070.91,581.994 2073.31,582.274 2075.31,581.994C2077.71,581.657 2080.34,580.284 2082.3,579.008C2084.2,577.778 2086.67,575.508 2086.99,573.122C2087.21,571.522 2086.99,569.719 2086.99,568.003C2086.99,556.359 2086.98,543.904 2087.08,532.343ZM1501.58,48.608L1438.02,48.608C1437.77,64.078 1438.11,80.144 1437.85,95.614L1419.77,95.614C1419.64,79.981 1420.04,63.836 1419.51,48.608L1361.33,48.608C1361.38,43.062 1361.21,37.29 1361.41,31.887C1408.11,31.943 1455.03,31.773 1501.58,31.972L1501.58,48.608ZM1501.58,48.608L1519.75,48.608L1519.75,106.363L1519.66,106.363C1517.64,111.109 1514.08,114.31 1508.23,115.236L1382.31,115.236L1382.31,98.258C1415.35,98.259 1449.64,98.258 1483.15,98.258C1485.41,98.258 1487.81,98.538 1489.81,98.258C1492.21,97.921 1494.84,96.549 1496.8,95.273C1498.69,94.043 1501.17,91.773 1501.49,89.386C1501.71,87.787 1501.49,85.983 1501.49,84.268C1501.49,72.623 1501.48,60.168 1501.58,48.608ZM1501.58,290.476L1438.02,290.476C1437.77,305.946 1438.11,322.011 1437.85,337.482L1419.77,337.482C1419.64,321.849 1420.04,305.704 1419.51,290.476L1361.33,290.476C1361.38,284.93 1361.21,279.158 1361.41,273.755C1408.11,273.811 1455.03,273.641 1501.58,273.84L1501.58,290.476ZM1501.58,290.476L1519.75,290.476L1519.75,348.231L1519.66,348.231C1517.64,352.977 1514.08,356.177 1508.23,357.103L1382.31,357.103L1382.31,340.126C1415.35,340.126 1449.64,340.126 1483.15,340.126C1485.41,340.126 1487.81,340.406 1489.81,340.126C1492.21,339.789 1494.84,338.417 1496.8,337.141C1498.69,335.911 1501.17,333.64 1501.49,331.254C1501.71,329.655 1501.49,327.851 1501.49,326.135C1501.49,314.491 1501.48,302.036 1501.58,290.476ZM1355.83,169.542L1292.27,169.542C1292.02,185.012 1292.36,201.078 1292.1,216.548L1274.02,216.548C1273.89,200.915 1274.29,184.77 1273.76,169.542L1215.58,169.542C1215.63,163.996 1215.46,158.224 1215.66,152.821C1262.36,152.877 1309.28,152.707 1355.83,152.906L1355.83,169.542ZM1355.83,169.542L1374,169.542L1374,227.297L1373.91,227.297C1371.89,232.043 1368.33,235.243 1362.48,236.169L1236.56,236.169L1236.56,219.192C1269.6,219.193 1303.89,219.192 1337.4,219.192C1339.66,219.192 1342.06,219.472 1344.06,219.192C1346.46,218.855 1349.09,217.483 1351.05,216.207C1352.94,214.977 1355.42,212.706 1355.74,210.32C1355.96,208.721 1355.74,206.917 1355.74,205.202C1355.74,193.557 1355.73,181.102 1355.83,169.542ZM1648.58,169.542L1585.02,169.542C1584.77,185.012 1585.11,201.078 1584.85,216.548L1566.77,216.548C1566.64,200.915 1567.04,184.77 1566.51,169.542L1508.33,169.542C1508.38,163.996 1508.21,158.224 1508.41,152.821C1555.11,152.877 1602.03,152.707 1648.58,152.906L1648.58,169.542ZM1648.58,169.542L1666.75,169.542L1666.75,227.297L1666.66,227.297C1664.64,232.043 1661.08,235.243 1655.23,236.169L1529.31,236.169L1529.31,219.192C1562.35,219.193 1596.64,219.192 1630.15,219.192C1632.41,219.192 1634.81,219.472 1636.81,219.192C1639.21,218.855 1641.84,217.483 1643.8,216.207C1645.69,214.977 1648.17,212.706 1648.49,210.32C1648.71,208.721 1648.49,206.917 1648.49,205.202C1648.49,193.557 1648.48,181.102 1648.58,169.542ZM1208.83,290.476L1145.27,290.476C1145.02,305.946 1145.36,322.011 1145.1,337.482L1127.02,337.482C1126.89,321.849 1127.29,305.704 1126.76,290.476L1068.58,290.476C1068.63,284.93 1068.46,279.158 1068.66,273.755C1115.36,273.811 1162.28,273.641 1208.83,273.84L1208.83,290.476ZM1208.83,290.476L1227,290.476L1227,348.231L1226.91,348.231C1224.89,352.977 1221.33,356.177 1215.48,357.103L1089.56,357.103L1089.56,340.126C1122.6,340.126 1156.89,340.126 1190.4,340.126C1192.66,340.126 1195.06,340.406 1197.06,340.126C1199.46,339.789 1202.09,338.417 1204.05,337.141C1205.94,335.911 1208.42,333.64 1208.74,331.254C1208.96,329.655 1208.74,327.851 1208.74,326.135C1208.74,314.491 1208.73,302.036 1208.83,290.476ZM916.079,532.343L852.522,532.343C852.266,547.813 852.607,563.879 852.352,579.35L834.266,579.35C834.144,563.717 834.536,547.572 834.01,532.343L775.828,532.343C775.885,526.798 775.714,521.025 775.913,515.622C822.606,515.679 869.53,515.508 916.079,515.708L916.079,532.343ZM916.079,532.343L934.25,532.343L934.25,590.099L934.165,590.099C932.143,594.844 928.575,598.045 922.733,598.971L796.814,598.971L796.814,581.994C829.846,581.994 864.143,581.994 897.652,581.994C899.914,581.994 902.31,582.274 904.306,581.994C906.71,581.657 909.336,580.284 911.301,579.008C913.195,577.778 915.667,575.508 915.994,573.122C916.212,571.522 915.994,569.719 915.994,568.003C915.994,556.359 915.982,543.904 916.079,532.343ZM1794.33,532.343L1730.77,532.343C1730.52,547.813 1730.86,563.879 1730.6,579.35L1712.52,579.35C1712.39,563.717 1712.79,547.572 1712.26,532.343L1654.08,532.343C1654.13,526.798 1653.96,521.025 1654.16,515.622C1700.86,515.679 1747.78,515.508 1794.33,515.708L1794.33,532.343ZM1794.33,532.343L1812.5,532.343L1812.5,590.099L1812.41,590.099C1810.39,594.844 1806.83,598.045 1800.98,598.971L1675.06,598.971L1675.06,581.994C1708.1,581.994 1742.39,581.994 1775.9,581.994C1778.16,581.994 1780.56,582.274 1782.56,581.994C1784.96,581.657 1787.59,580.284 1789.55,579.008C1791.44,577.778 1793.92,575.508 1794.24,573.122C1794.46,571.522 1794.24,569.719 1794.24,568.003C1794.24,556.359 1794.23,543.904 1794.33,532.343ZM1941.33,411.409L1959.5,411.409L1959.5,469.165L1959.41,469.165C1957.39,473.911 1953.83,477.111 1947.98,478.037L1822.06,478.037L1822.06,461.06C1855.1,461.06 1889.39,461.06 1922.9,461.06C1925.16,461.06 1927.56,461.34 1929.56,461.06C1931.96,460.723 1934.59,459.351 1936.55,458.074C1938.44,456.845 1940.92,454.574 1941.24,452.188C1941.46,450.588 1941.24,448.785 1941.24,447.069C1941.24,435.425 1941.23,422.97 1941.33,411.409ZM1941.33,411.409L1877.77,411.409C1877.52,426.879 1877.86,442.945 1877.6,458.416L1859.52,458.416C1859.39,442.783 1859.79,426.638 1859.26,411.409L1801.08,411.409C1801.13,405.864 1800.96,400.092 1801.16,394.689C1847.86,394.745 1894.78,394.574 1941.33,394.774L1941.33,411.409ZM1063.08,411.409L999.522,411.409C999.266,426.879 999.607,442.945 999.352,458.416L981.266,458.416C981.144,442.783 981.536,426.638 981.01,411.409L922.828,411.409C922.885,405.864 922.714,400.092 922.913,394.689C969.606,394.745 1016.53,394.574 1063.08,394.774L1063.08,411.409ZM1063.08,411.409L1081.25,411.409L1081.25,469.165L1081.16,469.165C1079.14,473.911 1075.58,477.111 1069.73,478.037L943.814,478.037L943.814,461.06C976.846,461.06 1011.14,461.06 1044.65,461.06C1046.91,461.06 1049.31,461.34 1051.31,461.06C1053.71,460.723 1056.34,459.351 1058.3,458.074C1060.19,456.845 1062.67,454.574 1062.99,452.188C1063.21,450.588 1062.99,448.785 1062.99,447.069C1062.99,435.425 1062.98,422.97 1063.08,411.409ZM1501.58,532.343L1519.75,532.343L1519.75,590.099L1519.66,590.099C1517.64,594.844 1514.08,598.045 1508.23,598.971L1382.31,598.971L1382.31,581.994C1415.35,581.994 1449.64,581.994 1483.15,581.994C1485.41,581.994 1487.81,582.274 1489.81,581.994C1492.21,581.657 1494.84,580.284 1496.8,579.008C1498.69,577.778 1501.17,575.508 1501.49,573.122C1501.71,571.522 1501.49,569.719 1501.49,568.003C1501.49,556.359 1501.48,543.904 1501.58,532.343ZM1501.58,532.343L1438.02,532.343C1437.77,547.813 1438.11,563.879 1437.85,579.35L1419.77,579.35C1419.64,563.717 1420.04,547.572 1419.51,532.343L1361.33,532.343C1361.38,526.798 1361.21,521.025 1361.41,515.622C1408.11,515.679 1455.03,515.508 1501.58,515.708L1501.58,532.343ZM1355.83,411.409L1292.27,411.409C1292.02,426.879 1292.36,442.945 1292.1,458.416L1274.02,458.416C1273.89,442.783 1274.29,426.638 1273.76,411.409L1215.58,411.409C1215.63,405.864 1215.46,400.092 1215.66,394.689C1262.36,394.745 1309.28,394.574 1355.83,394.774L1355.83,411.409ZM1355.83,411.409L1374,411.409L1374,469.165L1373.91,469.165C1371.89,473.911 1368.33,477.111 1362.48,478.037L1236.56,478.037L1236.56,461.06C1269.6,461.06 1303.89,461.06 1337.4,461.06C1339.66,461.06 1342.06,461.34 1344.06,461.06C1346.46,460.723 1349.09,459.351 1351.05,458.074C1352.94,456.845 1355.42,454.574 1355.74,452.188C1355.96,450.588 1355.74,448.785 1355.74,447.069C1355.74,435.425 1355.73,422.97 1355.83,411.409ZM1648.58,411.409L1666.75,411.409L1666.75,469.165L1666.66,469.165C1664.64,473.911 1661.08,477.111 1655.23,478.037L1529.31,478.037L1529.31,461.06C1562.35,461.06 1596.64,461.06 1630.15,461.06C1632.41,461.06 1634.81,461.34 1636.81,461.06C1639.21,460.723 1641.84,459.351 1643.8,458.074C1645.69,456.845 1648.17,454.574 1648.49,452.188C1648.71,450.588 1648.49,448.785 1648.49,447.069C1648.49,435.425 1648.48,422.97 1648.58,411.409ZM1648.58,411.409L1585.02,411.409C1584.77,426.879 1585.11,442.945 1584.85,458.416L1566.77,458.416C1566.64,442.783 1567.04,426.638 1566.51,411.409L1508.33,411.409C1508.38,405.864 1508.21,400.092 1508.41,394.689C1555.11,394.745 1602.03,394.574 1648.58,394.774L1648.58,411.409ZM1208.83,532.343L1145.27,532.343C1145.02,547.813 1145.36,563.879 1145.1,579.35L1127.02,579.35C1126.89,563.717 1127.29,547.572 1126.76,532.343L1068.58,532.343C1068.63,526.798 1068.46,521.025 1068.66,515.622C1115.36,515.679 1162.28,515.508 1208.83,515.708L1208.83,532.343ZM1208.83,532.343L1227,532.343L1227,590.099L1226.91,590.099C1224.89,594.844 1221.33,598.045 1215.48,598.971L1089.56,598.971L1089.56,581.994C1122.6,581.994 1156.89,581.994 1190.4,581.994C1192.66,581.994 1195.06,582.274 1197.06,581.994C1199.46,581.657 1202.09,580.284 1204.05,579.008C1205.94,577.778 1208.42,575.508 1208.74,573.122C1208.96,571.522 1208.74,569.719 1208.74,568.003C1208.74,556.359 1208.73,543.904 1208.83,532.343ZM1794.33,290.476L1730.77,290.476C1730.52,305.946 1730.86,322.011 1730.6,337.482L1712.52,337.482C1712.39,321.849 1712.79,305.704 1712.26,290.476L1654.08,290.476C1654.13,284.93 1653.96,279.158 1654.16,273.755C1700.86,273.811 1747.78,273.641 1794.33,273.84L1794.33,290.476ZM1794.33,290.476L1812.5,290.476L1812.5,348.231L1812.41,348.231C1810.39,352.977 1806.83,356.177 1800.98,357.103L1675.06,357.103L1675.06,340.126C1708.1,340.126 1742.39,340.126 1775.9,340.126C1778.16,340.126 1780.56,340.406 1782.56,340.126C1784.96,339.789 1787.59,338.417 1789.55,337.141C1791.44,335.911 1793.92,333.64 1794.24,331.254C1794.46,329.655 1794.24,327.851 1794.24,326.135C1794.24,314.491 1794.23,302.036 1794.33,290.476ZM1063.08,653.277L999.522,653.277C999.266,668.747 999.607,684.813 999.352,700.283L981.266,700.283C981.144,684.651 981.536,668.506 981.01,653.277L922.828,653.277C922.885,647.732 922.714,641.959 922.913,636.556C969.606,636.613 1016.53,636.442 1063.08,636.642L1063.08,653.277ZM1063.08,653.277L1081.25,653.277L1081.25,711.033L1081.16,711.033C1079.14,715.778 1075.58,718.979 1069.73,719.905L943.814,719.905L943.814,702.928C976.846,702.928 1011.14,702.928 1044.65,702.928C1046.91,702.928 1049.31,703.208 1051.31,702.928C1053.71,702.591 1056.34,701.218 1058.3,699.942C1060.19,698.712 1062.67,696.442 1062.99,694.055C1063.21,692.456 1062.99,690.653 1062.99,688.937C1062.99,677.293 1062.98,664.838 1063.08,653.277ZM770.329,653.277L706.772,653.277C706.516,668.747 706.857,684.813 706.602,700.283L688.516,700.283C688.394,684.651 688.786,668.506 688.26,653.277L630.078,653.277C630.135,647.732 629.964,641.959 630.163,636.556C676.856,636.613 723.78,636.442 770.329,636.642L770.329,653.277ZM770.329,653.277L788.5,653.277L788.5,711.033L788.415,711.033C786.393,715.778 782.825,718.979 776.983,719.905L651.064,719.905L651.064,702.928C684.096,702.928 718.393,702.928 751.902,702.928C754.164,702.928 756.56,703.208 758.556,702.928C760.96,702.591 763.586,701.218 765.551,699.942C767.445,698.712 769.917,696.442 770.244,694.055C770.462,692.456 770.244,690.653 770.244,688.937C770.244,677.293 770.232,664.838 770.329,653.277ZM916.079,774.211L852.522,774.211C852.266,789.681 852.607,805.747 852.352,821.217L834.266,821.217C834.144,805.584 834.536,789.439 834.01,774.211L775.828,774.211C775.885,768.666 775.714,762.893 775.913,757.49C822.606,757.547 869.53,757.376 916.079,757.576L916.079,774.211ZM916.079,774.211L934.25,774.211L934.25,831.966L934.165,831.966C932.143,836.712 928.575,839.913 922.733,840.839L796.814,840.839L796.814,823.862C829.846,823.862 864.143,823.862 897.652,823.862C899.914,823.862 902.31,824.142 904.306,823.862C906.71,823.525 909.336,822.152 911.301,820.876C913.195,819.646 915.667,817.376 915.994,814.989C916.212,813.39 915.994,811.586 915.994,809.871C915.994,798.226 915.982,785.771 916.079,774.211ZM623.329,774.211L559.772,774.211C559.516,789.681 559.857,805.747 559.602,821.217L541.516,821.217C541.394,805.584 541.786,789.439 541.26,774.211L483.078,774.211C483.135,768.666 482.964,762.893 483.163,757.49C529.856,757.547 576.78,757.376 623.329,757.576L623.329,774.211ZM623.329,774.211L641.5,774.211L641.5,831.966L641.415,831.966C639.393,836.712 635.825,839.913 629.983,840.839L504.064,840.839L504.064,823.862C537.096,823.862 571.393,823.862 604.902,823.862C607.164,823.862 609.56,824.142 611.556,823.862C613.96,823.525 616.586,822.152 618.551,820.876C620.445,819.646 622.917,817.376 623.244,814.989C623.462,813.39 623.244,811.586 623.244,809.871C623.244,798.226 623.232,785.771 623.329,774.211ZM1355.83,-72.326L1374,-72.326L1374,-14.571L1373.91,-14.571C1371.89,-9.825 1368.33,-6.624 1362.48,-5.698L1236.56,-5.698L1236.56,-22.676C1269.6,-22.675 1303.89,-22.676 1337.4,-22.676C1339.66,-22.676 1342.06,-22.395 1344.06,-22.676C1346.46,-23.013 1349.09,-24.385 1351.05,-25.661C1352.94,-26.891 1355.42,-29.161 1355.74,-31.548C1355.96,-33.147 1355.74,-34.951 1355.74,-36.666C1355.74,-48.311 1355.73,-60.766 1355.83,-72.326ZM1208.83,48.608L1227,48.608L1227,106.363L1226.91,106.363C1224.89,111.109 1221.33,114.31 1215.48,115.236L1089.56,115.236L1089.56,98.258C1122.6,98.259 1156.89,98.258 1190.4,98.258C1192.66,98.258 1195.06,98.538 1197.06,98.258C1199.46,97.921 1202.09,96.549 1204.05,95.273C1205.94,94.043 1208.42,91.773 1208.74,89.386C1208.96,87.787 1208.74,85.983 1208.74,84.268C1208.74,72.623 1208.73,60.168 1208.83,48.608ZM1392.19,-209.97C1411.97,-209.976 1431.77,-210 1451.54,-209.995L1468.27,-193.26L1438.02,-193.26C1437.77,-177.79 1438.11,-161.724 1437.85,-146.254L1419.77,-146.254C1419.64,-161.887 1420.04,-178.032 1419.51,-193.26L1375.48,-193.26L1392.19,-209.97ZM1372.23,-190.007C1386.94,-190.014 1401.72,-190.093 1416.27,-189.933C1416.27,-183.508 1416.27,-177.141 1416.27,-170.482C1416.27,-165.887 1416.43,-160.34 1416.1,-156.065C1415.98,-154.563 1415.59,-153.585 1414.82,-152.482C1412.17,-148.701 1407.51,-146.254 1401.6,-146.254L1382.14,-146.254L1382.14,-162.889L1389.39,-162.889C1392.68,-162.889 1396.87,-162.311 1397.76,-164.425C1398.72,-166.714 1397.57,-170.281 1398.01,-173.298L1379.5,-173.298L1379.5,-126.632L1361.24,-126.632C1361.46,-144.102 1361.27,-161.626 1361.33,-179.113L1372.23,-190.007ZM1358.51,-176.292L1358.51,-146.254L1340.26,-146.254L1340.26,-158.036L1358.51,-176.292ZM1337.78,-155.562L1337.78,-146.254L1328.47,-146.254L1337.78,-155.562ZM1325.84,-143.617C1336.9,-143.63 1347.97,-143.644 1358.68,-143.524L1358.68,-126.632L1308.85,-126.632L1325.84,-143.617ZM1271.27,-89.05C1299.5,-89.068 1327.74,-89.082 1355.83,-88.962L1355.83,-72.326L1292.27,-72.326C1292.02,-56.856 1292.36,-40.79 1292.1,-25.32L1274.02,-25.32C1273.89,-40.953 1274.29,-57.098 1273.76,-72.326L1254.55,-72.326L1271.27,-89.05ZM1251.32,-69.098C1257.75,-69.093 1264.15,-69.069 1270.52,-68.999C1270.52,-62.574 1270.52,-56.207 1270.52,-49.548C1270.52,-44.953 1270.68,-39.406 1270.35,-35.131C1270.23,-33.629 1269.84,-32.652 1269.07,-31.548C1266.42,-27.767 1261.76,-25.32 1255.85,-25.32L1236.39,-25.32L1236.39,-41.955L1243.64,-41.955C1246.93,-41.955 1251.12,-41.377 1252.01,-43.491C1252.97,-45.781 1251.82,-49.348 1252.26,-52.364L1234.58,-52.364L1251.32,-69.098ZM1233.75,-51.529L1233.75,-5.698L1215.49,-5.698C1215.61,-14.913 1215.61,-24.142 1215.59,-33.373L1233.75,-51.529ZM1212.76,-30.542L1212.76,-25.32L1207.54,-25.32L1212.76,-30.542ZM1204.88,-22.657C1207.58,-22.641 1210.27,-22.62 1212.93,-22.59L1212.93,-5.698L1187.92,-5.698L1204.88,-22.657ZM1150.35,31.873C1169.88,31.87 1189.39,31.889 1208.83,31.972L1208.83,48.608L1145.27,48.608C1145.02,64.078 1145.36,80.144 1145.1,95.614L1127.02,95.614C1126.91,82.248 1127.18,68.507 1126.93,55.285L1150.35,31.873ZM1123.52,58.702C1123.52,62.871 1123.52,67.067 1123.52,71.385C1123.52,75.98 1123.68,81.528 1123.35,85.803C1123.23,87.305 1122.84,88.282 1122.07,89.386C1119.42,93.167 1114.76,95.614 1108.85,95.614L1089.39,95.614L1089.39,92.827L1103.56,78.663C1104.24,78.422 1104.75,78.04 1105.01,77.443C1105.06,77.326 1105.1,77.206 1105.14,77.083L1123.52,58.702ZM1086.75,95.471L1086.75,115.236L1068.49,115.236C1068.5,114.727 1068.51,114.218 1068.51,113.709L1086.75,95.471ZM1029.4,152.818C1040.64,152.832 1051.87,152.858 1063.08,152.906L1063.08,169.542L1012.68,169.542L1029.4,152.818ZM1063.08,169.542L1081.25,169.542L1081.25,227.297L1081.16,227.297C1079.14,232.043 1075.58,235.243 1069.73,236.169L946.051,236.169L963.028,219.192C990.029,219.192 1017.6,219.192 1044.65,219.192C1046.91,219.192 1049.31,219.472 1051.31,219.192C1053.71,218.855 1056.34,217.483 1058.3,216.207C1060.19,214.977 1062.67,212.706 1062.99,210.32C1063.21,208.721 1062.99,206.917 1062.99,205.202C1062.99,193.557 1062.98,181.102 1063.08,169.542ZM908.41,273.81C910.967,273.819 913.524,273.829 916.079,273.84L916.079,290.476L891.744,290.476L908.41,273.81ZM916.079,290.476L934.25,290.476L934.25,348.231L934.165,348.231C932.143,352.977 928.575,356.177 922.733,357.103L825.117,357.103L842.094,340.126C860.624,340.126 879.257,340.126 897.652,340.126C899.914,340.126 902.31,340.406 904.306,340.126C906.71,339.789 909.336,338.417 911.301,337.141C913.195,335.911 915.667,333.64 915.994,331.254C916.212,329.655 915.994,327.851 915.994,326.135C915.994,314.491 915.982,302.036 916.079,290.476ZM783.192,399.028C783.314,399.145 783.434,399.262 783.552,399.38C786.028,401.856 788.108,405.074 788.5,409.532L788.5,410.215C787.773,410.117 786.645,410.421 786.197,410.044C785.637,406.242 783.98,402.957 781.675,400.831C781.626,400.785 781.576,400.74 781.526,400.695L783.192,399.028ZM779.552,402.668C781.535,404.42 782.741,406.95 783.211,410.215L780.993,410.215C780.461,407.751 779.484,405.732 777.885,404.335L779.552,402.668ZM775.736,406.484C776.816,407.32 777.476,408.574 777.751,410.215L775.618,410.215C775.245,409.383 774.766,408.658 774.028,408.192L775.736,406.484ZM770.811,411.409L788.5,411.409L788.5,469.165L788.415,469.165C786.393,473.911 782.825,477.111 776.983,478.037L704.183,478.037L721.16,461.06C731.442,461.06 741.708,461.06 751.902,461.06C754.164,461.06 756.56,461.34 758.556,461.06C760.96,460.723 763.586,459.351 765.551,458.074C767.445,456.845 769.917,454.574 770.244,452.188C770.462,450.588 770.244,448.785 770.244,447.069C770.244,435.588 770.232,423.318 770.325,411.895L770.811,411.409ZM641.5,540.72L641.5,590.099L641.415,590.099C639.393,594.844 635.825,598.045 629.983,598.971L583.249,598.971L600.226,581.994C601.786,581.994 603.345,581.994 604.902,581.994C607.164,581.994 609.56,582.274 611.556,581.994C613.96,581.657 616.586,580.284 618.551,579.008C620.445,577.778 622.917,575.508 623.244,573.122C623.462,571.522 623.244,569.719 623.244,568.003C623.244,565.038 623.243,562.019 623.244,558.977L641.5,540.72ZM545.664,636.556L627.262,636.556L627.262,653.277L568.398,653.277L568.398,684.415C568.398,687.923 567.944,691.59 568.569,694.653C568.605,694.832 568.646,695.105 568.739,695.335C570.101,698.714 574.817,701.872 578.635,702.672C580.39,703.039 582.519,702.928 584.522,702.928C598.889,702.928 613.468,702.857 627.433,703.013L627.433,719.905L561.914,719.905C559.135,719.551 556.59,718.412 554.578,716.748C552.68,715.179 550.89,713.033 550.483,710.35C550.157,708.209 550.312,705.736 550.312,703.354C550.312,687.208 550.135,669.482 550.227,653.363C544.738,653.163 538.881,653.334 533.25,653.277L533.25,648.97L545.664,636.556ZM495.75,686.47L495.75,711.033L495.665,711.033C493.643,715.778 490.075,718.979 484.233,719.905L462.315,719.905L495.75,686.47ZM424.73,757.49L480.262,757.49L480.262,774.211L421.398,774.211L421.398,805.349C421.398,808.857 420.944,812.524 421.569,815.587C421.605,815.766 421.646,816.039 421.739,816.269C423.101,819.648 427.817,822.806 431.635,823.606C433.39,823.973 435.519,823.862 437.522,823.862C451.889,823.862 466.468,823.791 480.433,823.947L480.433,840.839L414.914,840.839C412.135,840.485 409.59,839.346 407.578,837.682C405.68,836.113 403.89,833.967 403.483,831.284C403.157,829.143 403.312,826.67 403.312,824.288C403.312,809.703 403.167,793.828 403.207,779.013L424.73,757.49ZM346.361,835.859C345.775,836.581 345.123,837.236 344.399,837.821L346.361,835.859ZM303.796,878.424L334.512,878.424L334.512,895.145L287.075,895.145L303.796,878.424ZM283.834,898.386L334.512,898.386L334.512,942.151L316.256,942.151L316.256,915.107L297.829,915.107C297.675,916.408 297.744,917.941 297.744,919.458C297.744,920.973 297.527,922.68 297.999,923.638C298.377,924.404 299.917,924.916 300.9,925.174C302.243,925.527 303.742,925.457 304.995,925.516C308.091,925.659 310.936,925.407 313.782,925.516L313.782,942.151L302.265,942.151C298.531,942.151 294.698,942.488 291.436,942.044L279.507,930.115C279.494,928.576 279.572,926.955 279.572,925.43L279.572,902.648L283.834,898.386ZM275.648,906.572L275.648,926.256L265.806,916.414L275.648,906.572ZM999.421,182.799C999.412,194.062 999.535,205.458 999.352,216.548L981.266,216.548C981.226,211.39 981.242,206.176 981.262,200.958L999.421,182.799ZM977.725,204.496C977.694,205.271 977.652,206.022 977.597,206.737C977.482,208.239 977.09,209.216 976.318,210.32C974.101,213.491 970.466,215.723 965.859,216.361L977.725,204.496ZM1009.69,172.528L1058.05,172.528C1058.2,181.172 1058.13,190.333 1058.13,199.4C1058.13,202.322 1058.49,206.434 1057.62,208.614C1056.12,212.342 1051.22,215.312 1046.87,216.207C1044.77,216.638 1042.03,216.462 1039.28,216.462L1031.51,216.462C1026.12,216.462 1020.57,216.81 1015.9,216.462C1013.37,216.274 1010.46,214.942 1008.48,213.647C1006.49,212.347 1004.44,210.484 1003.62,208.443C1002.86,206.561 1003.19,202.25 1003.19,199.827C1003.19,192.965 1003.19,185.842 1003.19,179.03L1009.69,172.528ZM852.435,329.785C852.42,332.363 852.394,334.931 852.352,337.482L844.738,337.482L852.435,329.785ZM888.759,293.461L911.045,293.461C911.202,302.106 911.13,311.267 911.131,320.334C911.131,323.256 911.494,327.368 910.619,329.548C909.122,333.276 904.225,336.245 899.87,337.141C897.769,337.572 895.03,337.396 892.277,337.396L884.514,337.396C879.117,337.396 873.569,337.743 868.902,337.396C866.374,337.208 863.46,335.876 861.48,334.581C859.493,333.281 857.439,331.418 856.617,329.377C856.303,328.596 856.176,327.395 856.135,326.085L888.759,293.461ZM765.334,416.886C765.439,424.789 765.38,433.067 765.381,441.268C765.381,444.19 765.744,448.302 764.869,450.481C763.372,454.21 758.475,457.179 754.12,458.074C752.019,458.506 749.28,458.33 746.527,458.33L738.764,458.33C733.632,458.33 728.362,458.644 723.844,458.376L740.459,441.761C743.296,441.795 746.058,441.574 746.783,440.244C747.49,438.948 747.303,437.017 747.133,435.087L765.334,416.886ZM618.405,563.815C618.47,566.493 618.592,569.614 617.869,571.415C616.372,575.144 611.475,578.113 607.12,579.008C605.896,579.26 604.455,579.305 602.921,579.299L618.405,563.815ZM1021.36,189.589L1021.36,194.111C1021.36,195.478 1021.13,197.315 1021.7,198.376C1022.58,200.003 1025.48,199.741 1028.1,199.741C1031.57,199.741 1038.33,200.575 1039.53,198.376C1040.74,196.158 1039.34,192.081 1039.88,189.333L1021.45,189.333C1021.35,189.348 1021.35,189.468 1021.36,189.589ZM874.362,310.523L874.362,315.045C874.362,316.412 874.128,318.248 874.703,319.31C875.584,320.936 878.476,320.675 881.102,320.675C884.569,320.675 891.334,321.509 892.533,319.31C893.743,317.092 892.335,313.015 892.875,310.267L874.447,310.267C874.348,310.282 874.354,310.402 874.362,310.523ZM1501.58,774.211L1438.02,774.211C1437.77,789.681 1438.11,805.747 1437.85,821.217L1419.77,821.217C1419.64,805.584 1420.04,789.439 1419.51,774.211L1361.33,774.211C1361.38,768.666 1361.21,762.893 1361.41,757.49C1408.11,757.547 1455.03,757.376 1501.58,757.576L1501.58,774.211ZM1501.58,774.211L1519.75,774.211L1519.75,831.966L1519.66,831.966C1517.64,836.712 1514.08,839.913 1508.23,840.839L1382.31,840.839L1382.31,823.862C1415.35,823.862 1449.64,823.862 1483.15,823.862C1485.41,823.862 1487.81,824.142 1489.81,823.862C1492.21,823.525 1494.84,822.152 1496.8,820.876C1498.69,819.646 1501.17,817.376 1501.49,814.989C1501.71,813.39 1501.49,811.586 1501.49,809.871C1501.49,798.226 1501.48,785.771 1501.58,774.211ZM1355.83,653.277L1292.27,653.277C1292.02,668.747 1292.36,684.813 1292.1,700.283L1274.02,700.283C1273.89,684.651 1274.29,668.506 1273.76,653.277L1215.58,653.277C1215.63,647.732 1215.46,641.959 1215.66,636.556C1262.36,636.613 1309.28,636.442 1355.83,636.642L1355.83,653.277ZM1355.83,653.277L1374,653.277L1374,711.033L1373.91,711.033C1371.89,715.778 1368.33,718.979 1362.48,719.905L1236.56,719.905L1236.56,702.928C1269.6,702.928 1303.89,702.928 1337.4,702.928C1339.66,702.928 1342.06,703.208 1344.06,702.928C1346.46,702.591 1349.09,701.218 1351.05,699.942C1352.94,698.712 1355.42,696.442 1355.74,694.055C1355.96,692.456 1355.74,690.653 1355.74,688.937C1355.74,677.293 1355.73,664.838 1355.83,653.277ZM1648.58,653.277L1585.02,653.277C1584.77,668.747 1585.11,684.813 1584.85,700.283L1566.77,700.283C1566.64,684.651 1567.04,668.506 1566.51,653.277L1508.33,653.277C1508.38,647.732 1508.21,641.959 1508.41,636.556C1555.11,636.613 1602.03,636.442 1648.58,636.642L1648.58,653.277ZM1648.58,653.277L1666.75,653.277L1666.75,711.033L1666.66,711.033C1664.64,715.778 1661.08,718.979 1655.23,719.905L1529.31,719.905L1529.31,702.928C1562.35,702.928 1596.64,702.928 1630.15,702.928C1632.41,702.928 1634.81,703.208 1636.81,702.928C1639.21,702.591 1641.84,701.218 1643.8,699.942C1645.69,698.712 1648.17,696.442 1648.49,694.055C1648.71,692.456 1648.49,690.653 1648.49,688.937C1648.49,677.293 1648.48,664.838 1648.58,653.277ZM1208.83,774.211L1145.27,774.211C1145.02,789.681 1145.36,805.747 1145.1,821.217L1127.02,821.217C1126.89,805.584 1127.29,789.439 1126.76,774.211L1068.58,774.211C1068.63,768.666 1068.46,762.893 1068.66,757.49C1115.36,757.547 1162.28,757.376 1208.83,757.576L1208.83,774.211ZM1208.83,774.211L1227,774.211L1227,831.966L1226.91,831.966C1224.89,836.712 1221.33,839.913 1215.48,840.839L1089.56,840.839L1089.56,823.862C1122.6,823.862 1156.89,823.862 1190.4,823.862C1192.66,823.862 1195.06,824.142 1197.06,823.862C1199.46,823.525 1202.09,822.152 1204.05,820.876C1205.94,819.646 1208.42,817.376 1208.74,814.989C1208.96,813.39 1208.74,811.586 1208.74,809.871C1208.74,798.226 1208.73,785.771 1208.83,774.211ZM2379.83,774.211L2316.27,774.211C2316.02,789.681 2316.36,805.747 2316.1,821.217L2298.02,821.217C2297.89,805.584 2298.29,789.439 2297.76,774.211L2239.58,774.211C2239.64,768.666 2239.46,762.893 2239.66,757.49C2286.36,757.547 2333.28,757.376 2379.83,757.576L2379.83,774.211ZM2379.83,774.211L2398,774.211L2398,831.966L2397.91,831.966C2395.89,836.712 2392.33,839.913 2386.48,840.839L2260.56,840.839L2260.56,823.862C2293.6,823.862 2327.89,823.862 2361.4,823.862C2363.66,823.862 2366.06,824.142 2368.06,823.862C2370.46,823.525 2373.09,822.152 2375.05,820.876C2376.95,819.646 2379.42,817.376 2379.74,814.989C2379.96,813.39 2379.74,811.586 2379.74,809.871C2379.74,798.226 2379.73,785.771 2379.83,774.211ZM2087.08,774.211L2105.25,774.211L2105.25,831.966L2105.16,831.966C2103.14,836.712 2099.57,839.913 2093.73,840.839L1967.81,840.839L1967.81,823.862C2000.85,823.862 2035.14,823.862 2068.65,823.862C2070.91,823.862 2073.31,824.142 2075.31,823.862C2077.71,823.525 2080.34,822.152 2082.3,820.876C2084.2,819.646 2086.67,817.376 2086.99,814.989C2087.21,813.39 2086.99,811.586 2086.99,809.871C2086.99,798.226 2086.98,785.771 2087.08,774.211ZM2087.08,774.211L2023.52,774.211C2023.27,789.681 2023.61,805.747 2023.35,821.217L2005.27,821.217C2005.14,805.584 2005.54,789.439 2005.01,774.211L1946.83,774.211C1946.88,768.666 1946.71,762.893 1946.91,757.49C1993.61,757.547 2040.53,757.376 2087.08,757.576L2087.08,774.211ZM1794.33,774.211L1812.5,774.211L1812.5,831.966L1812.41,831.966C1810.39,836.712 1806.83,839.913 1800.98,840.839L1675.06,840.839L1675.06,823.862C1708.1,823.862 1742.39,823.862 1775.9,823.862C1778.16,823.862 1780.56,824.142 1782.56,823.862C1784.96,823.525 1787.59,822.152 1789.55,820.876C1791.44,819.646 1793.92,817.376 1794.24,814.989C1794.46,813.39 1794.24,811.586 1794.24,809.871C1794.24,798.226 1794.23,785.771 1794.33,774.211ZM1794.33,774.211L1730.77,774.211C1730.52,789.681 1730.86,805.747 1730.6,821.217L1712.52,821.217C1712.39,805.584 1712.79,789.439 1712.26,774.211L1654.08,774.211C1654.13,768.666 1653.96,762.893 1654.16,757.49C1700.86,757.547 1747.78,757.376 1794.33,757.576L1794.33,774.211ZM2234.08,653.277L2170.52,653.277C2170.27,668.747 2170.61,684.813 2170.35,700.283L2152.27,700.283C2152.14,684.651 2152.54,668.506 2152.01,653.277L2093.83,653.277C2093.89,647.732 2093.71,641.959 2093.91,636.556C2140.61,636.613 2187.53,636.442 2234.08,636.642L2234.08,653.277ZM2234.08,653.277L2252.25,653.277L2252.25,711.033L2252.16,711.033C2250.14,715.778 2246.58,718.979 2240.73,719.905L2114.81,719.905L2114.81,702.928C2147.85,702.928 2182.14,702.928 2215.65,702.928C2217.91,702.928 2220.31,703.208 2222.31,702.928C2224.71,702.591 2227.34,701.218 2229.3,699.942C2231.2,698.712 2233.67,696.442 2233.99,694.055C2234.21,692.456 2233.99,690.653 2233.99,688.937C2233.99,677.293 2233.98,664.838 2234.08,653.277ZM1941.33,653.277L1877.77,653.277C1877.52,668.747 1877.86,684.813 1877.6,700.283L1859.52,700.283C1859.39,684.651 1859.79,668.506 1859.26,653.277L1801.08,653.277C1801.13,647.732 1800.96,641.959 1801.16,636.556C1847.86,636.613 1894.78,636.442 1941.33,636.642L1941.33,653.277ZM1941.33,653.277L1959.5,653.277L1959.5,711.033L1959.41,711.033C1957.39,715.778 1953.83,718.979 1947.98,719.905L1822.06,719.905L1822.06,702.928C1855.1,702.928 1889.39,702.928 1922.9,702.928C1925.16,702.928 1927.56,703.208 1929.56,702.928C1931.96,702.591 1934.59,701.218 1936.55,699.942C1938.44,698.712 1940.92,696.442 1941.24,694.055C1941.46,692.456 1941.24,690.653 1941.24,688.937C1941.24,677.293 1941.23,664.838 1941.33,653.277ZM477.579,895.145L414.022,895.145C413.766,910.615 414.107,926.681 413.852,942.151L395.766,942.151C395.644,926.518 396.036,910.373 395.51,895.145L337.328,895.145C337.385,889.599 337.214,883.827 337.413,878.424C384.106,878.481 431.03,878.31 477.579,878.509L477.579,895.145ZM477.579,895.145L495.75,895.145L495.75,952.9L495.665,952.9C493.643,957.646 490.075,960.847 484.233,961.773L358.314,961.773L358.314,944.795C391.346,944.796 425.643,944.795 459.152,944.795C461.414,944.795 463.81,945.076 465.806,944.795C468.21,944.458 470.836,943.086 472.801,941.81C474.695,940.58 477.167,938.31 477.494,935.923C477.712,934.324 477.494,932.52 477.494,930.805C477.494,919.16 477.482,906.705 477.579,895.145ZM1063.08,895.145L999.522,895.145C999.266,910.615 999.607,926.681 999.352,942.151L981.266,942.151C981.144,926.518 981.536,910.373 981.01,895.145L922.828,895.145C922.885,889.599 922.714,883.827 922.913,878.424C969.606,878.481 1016.53,878.31 1063.08,878.509L1063.08,895.145ZM1063.08,895.145L1081.25,895.145L1081.25,952.9L1081.16,952.9C1079.14,957.646 1075.58,960.847 1069.73,961.773L943.814,961.773L943.814,944.795C976.846,944.796 1011.14,944.795 1044.65,944.795C1046.91,944.795 1049.31,945.076 1051.31,944.795C1053.71,944.458 1056.34,943.086 1058.3,941.81C1060.19,940.58 1062.67,938.31 1062.99,935.923C1063.21,934.324 1062.99,932.52 1062.99,930.805C1062.99,919.16 1062.98,906.705 1063.08,895.145ZM770.329,895.145L706.772,895.145C706.516,910.615 706.857,926.681 706.602,942.151L688.516,942.151C688.394,926.518 688.786,910.373 688.26,895.145L630.078,895.145C630.135,889.599 629.964,883.827 630.163,878.424C676.856,878.481 723.78,878.31 770.329,878.509L770.329,895.145ZM770.329,895.145L788.5,895.145L788.5,952.9L788.415,952.9C786.393,957.646 782.825,960.847 776.983,961.773L651.064,961.773L651.064,944.795C684.096,944.796 718.393,944.795 751.902,944.795C754.164,944.795 756.56,945.076 758.556,944.795C760.96,944.458 763.586,943.086 765.551,941.81C767.445,940.58 769.917,938.31 770.244,935.923C770.462,934.324 770.244,932.52 770.244,930.805C770.244,919.16 770.232,906.705 770.329,895.145ZM916.079,1016.08L852.522,1016.08C852.266,1031.55 852.607,1047.62 852.352,1063.09L834.266,1063.09C834.144,1047.45 834.536,1031.31 834.01,1016.08L775.828,1016.08C775.885,1010.53 775.714,1004.76 775.913,999.358C822.606,999.414 869.53,999.244 916.079,999.443L916.079,1016.08ZM916.079,1016.08L934.25,1016.08L934.25,1073.83L934.165,1073.83C932.143,1078.58 928.575,1081.78 922.733,1082.71L796.814,1082.71L796.814,1065.73C829.846,1065.73 864.143,1065.73 897.652,1065.73C899.914,1065.73 902.31,1066.01 904.306,1065.73C906.71,1065.39 909.336,1064.02 911.301,1062.74C913.195,1061.51 915.667,1059.24 915.994,1056.86C916.212,1055.26 915.994,1053.45 915.994,1051.74C915.994,1040.09 915.982,1027.64 916.079,1016.08ZM623.329,1016.08L559.772,1016.08C559.516,1031.55 559.857,1047.62 559.602,1063.09L541.516,1063.09C541.394,1047.45 541.786,1031.31 541.26,1016.08L483.078,1016.08C483.135,1010.53 482.964,1004.76 483.163,999.358C529.856,999.414 576.78,999.244 623.329,999.443L623.329,1016.08ZM623.329,1016.08L641.5,1016.08L641.5,1073.83L641.415,1073.83C639.393,1078.58 635.825,1081.78 629.983,1082.71L504.064,1082.71L504.064,1065.73C537.096,1065.73 571.393,1065.73 604.902,1065.73C607.164,1065.73 609.56,1066.01 611.556,1065.73C613.96,1065.39 616.586,1064.02 618.551,1062.74C620.445,1061.51 622.917,1059.24 623.244,1056.86C623.462,1055.26 623.244,1053.45 623.244,1051.74C623.244,1040.09 623.232,1027.64 623.329,1016.08ZM1501.58,1016.08L1438.02,1016.08C1437.77,1031.55 1438.11,1047.62 1437.85,1063.09L1419.77,1063.09C1419.64,1047.45 1420.04,1031.31 1419.51,1016.08L1361.33,1016.08C1361.38,1010.53 1361.21,1004.76 1361.41,999.358C1408.11,999.414 1455.03,999.244 1501.58,999.443L1501.58,1016.08ZM1501.58,1016.08L1519.75,1016.08L1519.75,1073.83L1519.66,1073.83C1517.64,1078.58 1514.08,1081.78 1508.23,1082.71L1382.31,1082.71L1382.31,1065.73C1415.35,1065.73 1449.64,1065.73 1483.15,1065.73C1485.41,1065.73 1487.81,1066.01 1489.81,1065.73C1492.21,1065.39 1494.84,1064.02 1496.8,1062.74C1498.69,1061.51 1501.17,1059.24 1501.49,1056.86C1501.71,1055.26 1501.49,1053.45 1501.49,1051.74C1501.49,1040.09 1501.48,1027.64 1501.58,1016.08ZM1355.83,895.145L1292.27,895.145C1292.02,910.615 1292.36,926.681 1292.1,942.151L1274.02,942.151C1273.89,926.518 1274.29,910.373 1273.76,895.145L1215.58,895.145C1215.63,889.599 1215.46,883.827 1215.66,878.424C1262.36,878.481 1309.28,878.31 1355.83,878.509L1355.83,895.145ZM1355.83,895.145L1374,895.145L1374,952.9L1373.91,952.9C1371.89,957.646 1368.33,960.847 1362.48,961.773L1236.56,961.773L1236.56,944.795C1269.6,944.796 1303.89,944.795 1337.4,944.795C1339.66,944.795 1342.06,945.076 1344.06,944.795C1346.46,944.458 1349.09,943.086 1351.05,941.81C1352.94,940.58 1355.42,938.31 1355.74,935.923C1355.96,934.324 1355.74,932.52 1355.74,930.805C1355.74,919.16 1355.73,906.705 1355.83,895.145ZM1648.58,895.145L1585.02,895.145C1584.77,910.615 1585.11,926.681 1584.85,942.151L1566.77,942.151C1566.64,926.518 1567.04,910.373 1566.51,895.145L1508.33,895.145C1508.38,889.599 1508.21,883.827 1508.41,878.424C1555.11,878.481 1602.03,878.31 1648.58,878.509L1648.58,895.145ZM1648.58,895.145L1666.75,895.145L1666.75,952.9L1666.66,952.9C1664.64,957.646 1661.08,960.847 1655.23,961.773L1529.31,961.773L1529.31,944.795C1562.35,944.796 1596.64,944.795 1630.15,944.795C1632.41,944.795 1634.81,945.076 1636.81,944.795C1639.21,944.458 1641.84,943.086 1643.8,941.81C1645.69,940.58 1648.17,938.31 1648.49,935.923C1648.71,934.324 1648.49,932.52 1648.49,930.805C1648.49,919.16 1648.48,906.705 1648.58,895.145ZM1208.83,1016.08L1145.27,1016.08C1145.02,1031.55 1145.36,1047.62 1145.1,1063.09L1127.02,1063.09C1126.89,1047.45 1127.29,1031.31 1126.76,1016.08L1068.58,1016.08C1068.63,1010.53 1068.46,1004.76 1068.66,999.358C1115.36,999.414 1162.28,999.244 1208.83,999.443L1208.83,1016.08ZM1208.83,1016.08L1227,1016.08L1227,1073.83L1226.91,1073.83C1224.89,1078.58 1221.33,1081.78 1215.48,1082.71L1089.56,1082.71L1089.56,1065.73C1122.6,1065.73 1156.89,1065.73 1190.4,1065.73C1192.66,1065.73 1195.06,1066.01 1197.06,1065.73C1199.46,1065.39 1202.09,1064.02 1204.05,1062.74C1205.94,1061.51 1208.42,1059.24 1208.74,1056.86C1208.96,1055.26 1208.74,1053.45 1208.74,1051.74C1208.74,1040.09 1208.73,1027.64 1208.83,1016.08ZM2379.83,1016.08L2316.27,1016.08C2316.02,1031.55 2316.36,1047.62 2316.1,1063.09L2298.02,1063.09C2297.89,1047.45 2298.29,1031.31 2297.76,1016.08L2239.58,1016.08C2239.64,1010.53 2239.46,1004.76 2239.66,999.358C2286.36,999.414 2333.28,999.244 2379.83,999.443L2379.83,1016.08ZM2379.83,1016.08L2398,1016.08L2398,1073.83L2397.91,1073.83C2395.89,1078.58 2392.33,1081.78 2386.48,1082.71L2260.56,1082.71L2260.56,1065.73C2293.6,1065.73 2327.89,1065.73 2361.4,1065.73C2363.66,1065.73 2366.06,1066.01 2368.06,1065.73C2370.46,1065.39 2373.09,1064.02 2375.05,1062.74C2376.95,1061.51 2379.42,1059.24 2379.74,1056.86C2379.96,1055.26 2379.74,1053.45 2379.74,1051.74C2379.74,1040.09 2379.73,1027.64 2379.83,1016.08ZM2087.08,1016.08L2023.52,1016.08C2023.27,1031.55 2023.61,1047.62 2023.35,1063.09L2005.27,1063.09C2005.14,1047.45 2005.54,1031.31 2005.01,1016.08L1946.83,1016.08C1946.88,1010.53 1946.71,1004.76 1946.91,999.358C1993.61,999.414 2040.53,999.244 2087.08,999.443L2087.08,1016.08ZM2087.08,1016.08L2105.25,1016.08L2105.25,1073.83L2105.16,1073.83C2103.14,1078.58 2099.57,1081.78 2093.73,1082.71L1967.81,1082.71L1967.81,1065.73C2000.85,1065.73 2035.14,1065.73 2068.65,1065.73C2070.91,1065.73 2073.31,1066.01 2075.31,1065.73C2077.71,1065.39 2080.34,1064.02 2082.3,1062.74C2084.2,1061.51 2086.67,1059.24 2086.99,1056.86C2087.21,1055.26 2086.99,1053.45 2086.99,1051.74C2086.99,1040.09 2086.98,1027.64 2087.08,1016.08ZM1794.33,1016.08L1730.77,1016.08C1730.52,1031.55 1730.86,1047.62 1730.6,1063.09L1712.52,1063.09C1712.39,1047.45 1712.79,1031.31 1712.26,1016.08L1654.08,1016.08C1654.13,1010.53 1653.96,1004.76 1654.16,999.358C1700.86,999.414 1747.78,999.244 1794.33,999.443L1794.33,1016.08ZM1794.33,1016.08L1812.5,1016.08L1812.5,1073.83L1812.41,1073.83C1810.39,1078.58 1806.83,1081.78 1800.98,1082.71L1675.06,1082.71L1675.06,1065.73C1708.1,1065.73 1742.39,1065.73 1775.9,1065.73C1778.16,1065.73 1780.56,1066.01 1782.56,1065.73C1784.96,1065.39 1787.59,1064.02 1789.55,1062.74C1791.44,1061.51 1793.92,1059.24 1794.24,1056.86C1794.46,1055.26 1794.24,1053.45 1794.24,1051.74C1794.24,1040.09 1794.23,1027.64 1794.33,1016.08ZM2526.83,895.145L2463.27,895.145C2463.02,910.615 2463.36,926.681 2463.1,942.151L2445.02,942.151C2444.89,926.518 2445.29,910.373 2444.76,895.145L2386.58,895.145C2386.64,889.599 2386.46,883.827 2386.66,878.424C2433.36,878.481 2480.28,878.31 2526.83,878.509L2526.83,895.145ZM2526.83,895.145L2545,895.145L2545,952.9L2544.91,952.9C2542.89,957.646 2539.33,960.847 2533.48,961.773L2407.56,961.773L2407.56,944.795C2440.6,944.796 2474.89,944.795 2508.4,944.795C2510.66,944.795 2513.06,945.076 2515.06,944.795C2517.46,944.458 2520.09,943.086 2522.05,941.81C2523.95,940.58 2526.42,938.31 2526.74,935.923C2526.96,934.324 2526.74,932.52 2526.74,930.805C2526.74,919.16 2526.73,906.705 2526.83,895.145ZM2234.08,895.145L2170.52,895.145C2170.27,910.615 2170.61,926.681 2170.35,942.151L2152.27,942.151C2152.14,926.518 2152.54,910.373 2152.01,895.145L2093.83,895.145C2093.89,889.599 2093.71,883.827 2093.91,878.424C2140.61,878.481 2187.53,878.31 2234.08,878.509L2234.08,895.145ZM2234.08,895.145L2252.25,895.145L2252.25,952.9L2252.16,952.9C2250.14,957.646 2246.58,960.847 2240.73,961.773L2114.81,961.773L2114.81,944.795C2147.85,944.796 2182.14,944.795 2215.65,944.795C2217.91,944.795 2220.31,945.076 2222.31,944.795C2224.71,944.458 2227.34,943.086 2229.3,941.81C2231.2,940.58 2233.67,938.31 2233.99,935.923C2234.21,934.324 2233.99,932.52 2233.99,930.805C2233.99,919.16 2233.98,906.705 2234.08,895.145ZM1941.33,895.145L1877.77,895.145C1877.52,910.615 1877.86,926.681 1877.6,942.151L1859.52,942.151C1859.39,926.518 1859.79,910.373 1859.26,895.145L1801.08,895.145C1801.13,889.599 1800.96,883.827 1801.16,878.424C1847.86,878.481 1894.78,878.31 1941.33,878.509L1941.33,895.145ZM1941.33,895.145L1959.5,895.145L1959.5,952.9L1959.41,952.9C1957.39,957.646 1953.83,960.847 1947.98,961.773L1822.06,961.773L1822.06,944.795C1855.1,944.796 1889.39,944.795 1922.9,944.795C1925.16,944.795 1927.56,945.076 1929.56,944.795C1931.96,944.458 1934.59,943.086 1936.55,941.81C1938.44,940.58 1940.92,938.31 1941.24,935.923C1941.46,934.324 1941.24,932.52 1941.24,930.805C1941.24,919.16 1941.23,906.705 1941.33,895.145ZM1063.08,1137.01L999.522,1137.01C999.266,1152.48 999.607,1168.55 999.352,1184.02L981.266,1184.02C981.144,1168.39 981.536,1152.24 981.01,1137.01L922.828,1137.01C922.885,1131.47 922.714,1125.69 922.913,1120.29C969.606,1120.35 1016.53,1120.18 1063.08,1120.38L1063.08,1137.01ZM1063.08,1137.01L1081.25,1137.01L1081.25,1194.77L1081.16,1194.77C1079.14,1199.51 1075.58,1202.71 1069.73,1203.64L943.814,1203.64L943.814,1186.66C976.846,1186.66 1011.14,1186.66 1044.65,1186.66C1046.91,1186.66 1049.31,1186.94 1051.31,1186.66C1053.71,1186.33 1056.34,1184.95 1058.3,1183.68C1060.19,1182.45 1062.67,1180.18 1062.99,1177.79C1063.21,1176.19 1062.99,1174.39 1062.99,1172.67C1062.99,1161.03 1062.98,1148.57 1063.08,1137.01ZM770.329,1137.01L706.772,1137.01C706.516,1152.48 706.857,1168.55 706.602,1184.02L688.516,1184.02C688.394,1168.39 688.786,1152.24 688.26,1137.01L630.078,1137.01C630.135,1131.47 629.964,1125.69 630.163,1120.29C676.856,1120.35 723.78,1120.18 770.329,1120.38L770.329,1137.01ZM770.329,1137.01L788.5,1137.01L788.5,1194.77L788.415,1194.77C786.393,1199.51 782.825,1202.71 776.983,1203.64L651.064,1203.64L651.064,1186.66C684.096,1186.66 718.393,1186.66 751.902,1186.66C754.164,1186.66 756.56,1186.94 758.556,1186.66C760.96,1186.33 763.586,1184.95 765.551,1183.68C767.445,1182.45 769.917,1180.18 770.244,1177.79C770.462,1176.19 770.244,1174.39 770.244,1172.67C770.244,1161.03 770.232,1148.57 770.329,1137.01ZM916.079,1257.95L852.522,1257.95C852.266,1273.42 852.607,1289.48 852.352,1304.95L834.266,1304.95C834.144,1289.32 834.536,1273.17 834.01,1257.95L775.828,1257.95C775.885,1252.4 775.714,1246.63 775.913,1241.23C822.606,1241.28 869.53,1241.11 916.079,1241.31L916.079,1257.95ZM916.079,1257.95L934.25,1257.95L934.25,1315.7L934.165,1315.7C932.143,1320.45 928.575,1323.65 922.733,1324.57L796.814,1324.57L796.814,1307.6C829.846,1307.6 864.143,1307.6 897.652,1307.6C899.914,1307.6 902.31,1307.88 904.306,1307.6C906.71,1307.26 909.336,1305.89 911.301,1304.61C913.195,1303.38 915.667,1301.11 915.994,1298.73C916.212,1297.13 915.994,1295.32 915.994,1293.61C915.994,1281.96 915.982,1269.51 916.079,1257.95ZM1501.58,1257.95L1438.02,1257.95C1437.77,1273.42 1438.11,1289.48 1437.85,1304.95L1419.77,1304.95C1419.64,1289.32 1420.04,1273.17 1419.51,1257.95L1361.33,1257.95C1361.38,1252.4 1361.21,1246.63 1361.41,1241.23C1408.11,1241.28 1455.03,1241.11 1501.58,1241.31L1501.58,1257.95ZM1501.58,1257.95L1519.75,1257.95L1519.75,1315.7L1519.66,1315.7C1517.64,1320.45 1514.08,1323.65 1508.23,1324.57L1382.31,1324.57L1382.31,1307.6C1415.35,1307.6 1449.64,1307.6 1483.15,1307.6C1485.41,1307.6 1487.81,1307.88 1489.81,1307.6C1492.21,1307.26 1494.84,1305.89 1496.8,1304.61C1498.69,1303.38 1501.17,1301.11 1501.49,1298.73C1501.71,1297.13 1501.49,1295.32 1501.49,1293.61C1501.49,1281.96 1501.48,1269.51 1501.58,1257.95ZM1355.83,1137.01L1292.27,1137.01C1292.02,1152.48 1292.36,1168.55 1292.1,1184.02L1274.02,1184.02C1273.89,1168.39 1274.29,1152.24 1273.76,1137.01L1215.58,1137.01C1215.63,1131.47 1215.46,1125.69 1215.66,1120.29C1262.36,1120.35 1309.28,1120.18 1355.83,1120.38L1355.83,1137.01ZM1355.83,1137.01L1374,1137.01L1374,1194.77L1373.91,1194.77C1371.89,1199.51 1368.33,1202.71 1362.48,1203.64L1236.56,1203.64L1236.56,1186.66C1269.6,1186.66 1303.89,1186.66 1337.4,1186.66C1339.66,1186.66 1342.06,1186.94 1344.06,1186.66C1346.46,1186.33 1349.09,1184.95 1351.05,1183.68C1352.94,1182.45 1355.42,1180.18 1355.74,1177.79C1355.96,1176.19 1355.74,1174.39 1355.74,1172.67C1355.74,1161.03 1355.73,1148.57 1355.83,1137.01ZM1648.58,1137.01L1585.02,1137.01C1584.77,1152.48 1585.11,1168.55 1584.85,1184.02L1566.77,1184.02C1566.64,1168.39 1567.04,1152.24 1566.51,1137.01L1508.33,1137.01C1508.38,1131.47 1508.21,1125.69 1508.41,1120.29C1555.11,1120.35 1602.03,1120.18 1648.58,1120.38L1648.58,1137.01ZM1648.58,1137.01L1666.75,1137.01L1666.75,1194.77L1666.66,1194.77C1664.64,1199.51 1661.08,1202.71 1655.23,1203.64L1529.31,1203.64L1529.31,1186.66C1562.35,1186.66 1596.64,1186.66 1630.15,1186.66C1632.41,1186.66 1634.81,1186.94 1636.81,1186.66C1639.21,1186.33 1641.84,1184.95 1643.8,1183.68C1645.69,1182.45 1648.17,1180.18 1648.49,1177.79C1648.71,1176.19 1648.49,1174.39 1648.49,1172.67C1648.49,1161.03 1648.48,1148.57 1648.58,1137.01ZM1208.83,1257.95L1145.27,1257.95C1145.02,1273.42 1145.36,1289.48 1145.1,1304.95L1127.02,1304.95C1126.89,1289.32 1127.29,1273.17 1126.76,1257.95L1068.58,1257.95C1068.63,1252.4 1068.46,1246.63 1068.66,1241.23C1115.36,1241.28 1162.28,1241.11 1208.83,1241.31L1208.83,1257.95ZM1208.83,1257.95L1227,1257.95L1227,1315.7L1226.91,1315.7C1224.89,1320.45 1221.33,1323.65 1215.48,1324.57L1089.56,1324.57L1089.56,1307.6C1122.6,1307.6 1156.89,1307.6 1190.4,1307.6C1192.66,1307.6 1195.06,1307.88 1197.06,1307.6C1199.46,1307.26 1202.09,1305.89 1204.05,1304.61C1205.94,1303.38 1208.42,1301.11 1208.74,1298.73C1208.96,1297.13 1208.74,1295.32 1208.74,1293.61C1208.74,1281.96 1208.73,1269.51 1208.83,1257.95ZM2379.83,1257.95L2316.27,1257.95C2316.02,1273.42 2316.36,1289.48 2316.1,1304.95L2298.02,1304.95C2297.89,1289.32 2298.29,1273.17 2297.76,1257.95L2239.58,1257.95C2239.64,1252.4 2239.46,1246.63 2239.66,1241.23C2286.36,1241.28 2333.28,1241.11 2379.83,1241.31L2379.83,1257.95ZM2379.83,1257.95L2398,1257.95L2398,1315.7L2397.91,1315.7C2395.89,1320.45 2392.33,1323.65 2386.48,1324.57L2260.56,1324.57L2260.56,1307.6C2293.6,1307.6 2327.89,1307.6 2361.4,1307.6C2363.66,1307.6 2366.06,1307.88 2368.06,1307.6C2370.46,1307.26 2373.09,1305.89 2375.05,1304.61C2376.95,1303.38 2379.42,1301.11 2379.74,1298.73C2379.96,1297.13 2379.74,1295.32 2379.74,1293.61C2379.74,1281.96 2379.73,1269.51 2379.83,1257.95ZM2087.08,1257.95L2023.52,1257.95C2023.27,1273.42 2023.61,1289.48 2023.35,1304.95L2005.27,1304.95C2005.14,1289.32 2005.54,1273.17 2005.01,1257.95L1946.83,1257.95C1946.88,1252.4 1946.71,1246.63 1946.91,1241.23C1993.61,1241.28 2040.53,1241.11 2087.08,1241.31L2087.08,1257.95ZM2087.08,1257.95L2105.25,1257.95L2105.25,1315.7L2105.16,1315.7C2103.14,1320.45 2099.57,1323.65 2093.73,1324.57L1967.81,1324.57L1967.81,1307.6C2000.85,1307.6 2035.14,1307.6 2068.65,1307.6C2070.91,1307.6 2073.31,1307.88 2075.31,1307.6C2077.71,1307.26 2080.34,1305.89 2082.3,1304.61C2084.2,1303.38 2086.67,1301.11 2086.99,1298.73C2087.21,1297.13 2086.99,1295.32 2086.99,1293.61C2086.99,1281.96 2086.98,1269.51 2087.08,1257.95ZM1794.33,1257.95L1730.77,1257.95C1730.52,1273.42 1730.86,1289.48 1730.6,1304.95L1712.52,1304.95C1712.39,1289.32 1712.79,1273.17 1712.26,1257.95L1654.08,1257.95C1654.13,1252.4 1653.96,1246.63 1654.16,1241.23C1700.86,1241.28 1747.78,1241.11 1794.33,1241.31L1794.33,1257.95ZM1794.33,1257.95L1812.5,1257.95L1812.5,1315.7L1812.41,1315.7C1810.39,1320.45 1806.83,1323.65 1800.98,1324.57L1675.06,1324.57L1675.06,1307.6C1708.1,1307.6 1742.39,1307.6 1775.9,1307.6C1778.16,1307.6 1780.56,1307.88 1782.56,1307.6C1784.96,1307.26 1787.59,1305.89 1789.55,1304.61C1791.44,1303.38 1793.92,1301.11 1794.24,1298.73C1794.46,1297.13 1794.24,1295.32 1794.24,1293.61C1794.24,1281.96 1794.23,1269.51 1794.33,1257.95ZM2526.83,1137.01L2463.27,1137.01C2463.02,1152.48 2463.36,1168.55 2463.1,1184.02L2445.02,1184.02C2444.89,1168.39 2445.29,1152.24 2444.76,1137.01L2386.58,1137.01C2386.64,1131.47 2386.46,1125.69 2386.66,1120.29C2433.36,1120.35 2480.28,1120.18 2526.83,1120.38L2526.83,1137.01ZM2526.83,1137.01L2545,1137.01L2545,1194.77L2544.91,1194.77C2542.89,1199.51 2539.33,1202.71 2533.48,1203.64L2407.56,1203.64L2407.56,1186.66C2440.6,1186.66 2474.89,1186.66 2508.4,1186.66C2510.66,1186.66 2513.06,1186.94 2515.06,1186.66C2517.46,1186.33 2520.09,1184.95 2522.05,1183.68C2523.95,1182.45 2526.42,1180.18 2526.74,1177.79C2526.96,1176.19 2526.74,1174.39 2526.74,1172.67C2526.74,1161.03 2526.73,1148.57 2526.83,1137.01ZM2234.08,1137.01L2170.52,1137.01C2170.27,1152.48 2170.61,1168.55 2170.35,1184.02L2152.27,1184.02C2152.14,1168.39 2152.54,1152.24 2152.01,1137.01L2093.83,1137.01C2093.89,1131.47 2093.71,1125.69 2093.91,1120.29C2140.61,1120.35 2187.53,1120.18 2234.08,1120.38L2234.08,1137.01ZM2234.08,1137.01L2252.25,1137.01L2252.25,1194.77L2252.16,1194.77C2250.14,1199.51 2246.58,1202.71 2240.73,1203.64L2114.81,1203.64L2114.81,1186.66C2147.85,1186.66 2182.14,1186.66 2215.65,1186.66C2217.91,1186.66 2220.31,1186.94 2222.31,1186.66C2224.71,1186.33 2227.34,1184.95 2229.3,1183.68C2231.2,1182.45 2233.67,1180.18 2233.99,1177.79C2234.21,1176.19 2233.99,1174.39 2233.99,1172.67C2233.99,1161.03 2233.98,1148.57 2234.08,1137.01ZM1941.33,1137.01L1877.77,1137.01C1877.52,1152.48 1877.86,1168.55 1877.6,1184.02L1859.52,1184.02C1859.39,1168.39 1859.79,1152.24 1859.26,1137.01L1801.08,1137.01C1801.13,1131.47 1800.96,1125.69 1801.16,1120.29C1847.86,1120.35 1894.78,1120.18 1941.33,1120.38L1941.33,1137.01ZM1941.33,1137.01L1959.5,1137.01L1959.5,1194.77L1959.41,1194.77C1957.39,1199.51 1953.83,1202.71 1947.98,1203.64L1822.06,1203.64L1822.06,1186.66C1855.1,1186.66 1889.39,1186.66 1922.9,1186.66C1925.16,1186.66 1927.56,1186.94 1929.56,1186.66C1931.96,1186.33 1934.59,1184.95 1936.55,1183.68C1938.44,1182.45 1940.92,1180.18 1941.24,1177.79C1941.46,1176.19 1941.24,1174.39 1941.24,1172.67C1941.24,1161.03 1941.23,1148.57 1941.33,1137.01ZM1063.08,1378.88L999.522,1378.88C999.266,1394.35 999.607,1410.42 999.352,1425.89L981.266,1425.89C981.144,1410.25 981.536,1394.11 981.01,1378.88L922.828,1378.88C922.885,1373.34 922.714,1367.56 922.913,1362.16C969.606,1362.22 1016.53,1362.05 1063.08,1362.25L1063.08,1378.88ZM1063.08,1378.88L1081.25,1378.88L1081.25,1436.64L1081.16,1436.64C1079.14,1441.38 1075.58,1444.58 1069.73,1445.51L943.814,1445.51L943.814,1428.53C976.846,1428.53 1011.14,1428.53 1044.65,1428.53C1046.91,1428.53 1049.31,1428.81 1051.31,1428.53C1053.71,1428.19 1056.34,1426.82 1058.3,1425.55C1060.19,1424.32 1062.67,1422.05 1062.99,1419.66C1063.21,1418.06 1062.99,1416.26 1062.99,1414.54C1062.99,1402.9 1062.98,1390.44 1063.08,1378.88ZM1501.58,1499.81L1438.02,1499.81C1437.77,1515.28 1438.11,1531.35 1437.85,1546.82L1419.77,1546.82C1419.64,1531.19 1420.04,1515.04 1419.51,1499.81L1361.33,1499.81C1361.38,1494.27 1361.21,1488.5 1361.41,1483.09C1408.11,1483.15 1455.03,1482.98 1501.58,1483.18L1501.58,1499.81ZM1501.58,1499.81L1519.75,1499.81L1519.75,1557.57L1519.66,1557.57C1517.64,1562.32 1514.08,1565.52 1508.23,1566.44L1382.31,1566.44L1382.31,1549.47C1415.35,1549.47 1449.64,1549.47 1483.15,1549.47C1485.41,1549.47 1487.81,1549.75 1489.81,1549.47C1492.21,1549.13 1494.84,1547.76 1496.8,1546.48C1498.69,1545.25 1501.17,1542.98 1501.49,1540.59C1501.71,1538.99 1501.49,1537.19 1501.49,1535.47C1501.49,1523.83 1501.48,1511.38 1501.58,1499.81ZM1355.83,1378.88L1292.27,1378.88C1292.02,1394.35 1292.36,1410.42 1292.1,1425.89L1274.02,1425.89C1273.89,1410.25 1274.29,1394.11 1273.76,1378.88L1215.58,1378.88C1215.63,1373.34 1215.46,1367.56 1215.66,1362.16C1262.36,1362.22 1309.28,1362.05 1355.83,1362.25L1355.83,1378.88ZM1355.83,1378.88L1374,1378.88L1374,1436.64L1373.91,1436.64C1371.89,1441.38 1368.33,1444.58 1362.48,1445.51L1236.56,1445.51L1236.56,1428.53C1269.6,1428.53 1303.89,1428.53 1337.4,1428.53C1339.66,1428.53 1342.06,1428.81 1344.06,1428.53C1346.46,1428.19 1349.09,1426.82 1351.05,1425.55C1352.94,1424.32 1355.42,1422.05 1355.74,1419.66C1355.96,1418.06 1355.74,1416.26 1355.74,1414.54C1355.74,1402.9 1355.73,1390.44 1355.83,1378.88ZM1648.58,1378.88L1585.02,1378.88C1584.77,1394.35 1585.11,1410.42 1584.85,1425.89L1566.77,1425.89C1566.64,1410.25 1567.04,1394.11 1566.51,1378.88L1508.33,1378.88C1508.38,1373.34 1508.21,1367.56 1508.41,1362.16C1555.11,1362.22 1602.03,1362.05 1648.58,1362.25L1648.58,1378.88ZM1648.58,1378.88L1666.75,1378.88L1666.75,1436.64L1666.66,1436.64C1664.64,1441.38 1661.08,1444.58 1655.23,1445.51L1529.31,1445.51L1529.31,1428.53C1562.35,1428.53 1596.64,1428.53 1630.15,1428.53C1632.41,1428.53 1634.81,1428.81 1636.81,1428.53C1639.21,1428.19 1641.84,1426.82 1643.8,1425.55C1645.69,1424.32 1648.17,1422.05 1648.49,1419.66C1648.71,1418.06 1648.49,1416.26 1648.49,1414.54C1648.49,1402.9 1648.48,1390.44 1648.58,1378.88ZM1208.83,1499.81L1145.27,1499.81C1145.02,1515.28 1145.36,1531.35 1145.1,1546.82L1127.02,1546.82C1126.89,1531.19 1127.29,1515.04 1126.76,1499.81L1068.58,1499.81C1068.63,1494.27 1068.46,1488.5 1068.66,1483.09C1115.36,1483.15 1162.28,1482.98 1208.83,1483.18L1208.83,1499.81ZM1208.83,1499.81L1227,1499.81L1227,1557.57L1226.91,1557.57C1224.89,1562.32 1221.33,1565.52 1215.48,1566.44L1089.56,1566.44L1089.56,1549.47C1122.6,1549.47 1156.89,1549.47 1190.4,1549.47C1192.66,1549.47 1195.06,1549.75 1197.06,1549.47C1199.46,1549.13 1202.09,1547.76 1204.05,1546.48C1205.94,1545.25 1208.42,1542.98 1208.74,1540.59C1208.96,1538.99 1208.74,1537.19 1208.74,1535.47C1208.74,1523.83 1208.73,1511.38 1208.83,1499.81ZM2379.83,1499.81L2316.27,1499.81C2316.02,1515.28 2316.36,1531.35 2316.1,1546.82L2298.02,1546.82C2297.89,1531.19 2298.29,1515.04 2297.76,1499.81L2239.58,1499.81C2239.64,1494.27 2239.46,1488.5 2239.66,1483.09C2286.36,1483.15 2333.28,1482.98 2379.83,1483.18L2379.83,1499.81ZM2379.83,1499.81L2398,1499.81L2398,1557.57L2397.91,1557.57C2395.89,1562.32 2392.33,1565.52 2386.48,1566.44L2260.56,1566.44L2260.56,1549.47C2293.6,1549.47 2327.89,1549.47 2361.4,1549.47C2363.66,1549.47 2366.06,1549.75 2368.06,1549.47C2370.46,1549.13 2373.09,1547.76 2375.05,1546.48C2376.95,1545.25 2379.42,1542.98 2379.74,1540.59C2379.96,1538.99 2379.74,1537.19 2379.74,1535.47C2379.74,1523.83 2379.73,1511.38 2379.83,1499.81ZM2087.08,1499.81L2023.52,1499.81C2023.27,1515.28 2023.61,1531.35 2023.35,1546.82L2005.27,1546.82C2005.14,1531.19 2005.54,1515.04 2005.01,1499.81L1946.83,1499.81C1946.88,1494.27 1946.71,1488.5 1946.91,1483.09C1993.61,1483.15 2040.53,1482.98 2087.08,1483.18L2087.08,1499.81ZM2087.08,1499.81L2105.25,1499.81L2105.25,1557.57L2105.16,1557.57C2103.14,1562.32 2099.57,1565.52 2093.73,1566.44L1967.81,1566.44L1967.81,1549.47C2000.85,1549.47 2035.14,1549.47 2068.65,1549.47C2070.91,1549.47 2073.31,1549.75 2075.31,1549.47C2077.71,1549.13 2080.34,1547.76 2082.3,1546.48C2084.2,1545.25 2086.67,1542.98 2086.99,1540.59C2087.21,1538.99 2086.99,1537.19 2086.99,1535.47C2086.99,1523.83 2086.98,1511.38 2087.08,1499.81ZM1794.33,1499.81L1730.77,1499.81C1730.52,1515.28 1730.86,1531.35 1730.6,1546.82L1712.52,1546.82C1712.39,1531.19 1712.79,1515.04 1712.26,1499.81L1654.08,1499.81C1654.13,1494.27 1653.96,1488.5 1654.16,1483.09C1700.86,1483.15 1747.78,1482.98 1794.33,1483.18L1794.33,1499.81ZM1794.33,1499.81L1812.5,1499.81L1812.5,1557.57L1812.41,1557.57C1810.39,1562.32 1806.83,1565.52 1800.98,1566.44L1675.06,1566.44L1675.06,1549.47C1708.1,1549.47 1742.39,1549.47 1775.9,1549.47C1778.16,1549.47 1780.56,1549.75 1782.56,1549.47C1784.96,1549.13 1787.59,1547.76 1789.55,1546.48C1791.44,1545.25 1793.92,1542.98 1794.24,1540.59C1794.46,1538.99 1794.24,1537.19 1794.24,1535.47C1794.24,1523.83 1794.23,1511.38 1794.33,1499.81ZM2234.08,1378.88L2170.52,1378.88C2170.27,1394.35 2170.61,1410.42 2170.35,1425.89L2152.27,1425.89C2152.14,1410.25 2152.54,1394.11 2152.01,1378.88L2093.83,1378.88C2093.89,1373.34 2093.71,1367.56 2093.91,1362.16C2140.61,1362.22 2187.53,1362.05 2234.08,1362.25L2234.08,1378.88ZM2234.08,1378.88L2252.25,1378.88L2252.25,1436.64L2252.16,1436.64C2250.14,1441.38 2246.58,1444.58 2240.73,1445.51L2114.81,1445.51L2114.81,1428.53C2147.85,1428.53 2182.14,1428.53 2215.65,1428.53C2217.91,1428.53 2220.31,1428.81 2222.31,1428.53C2224.71,1428.19 2227.34,1426.82 2229.3,1425.55C2231.2,1424.32 2233.67,1422.05 2233.99,1419.66C2234.21,1418.06 2233.99,1416.26 2233.99,1414.54C2233.99,1402.9 2233.98,1390.44 2234.08,1378.88ZM1941.33,1378.88L1877.77,1378.88C1877.52,1394.35 1877.86,1410.42 1877.6,1425.89L1859.52,1425.89C1859.39,1410.25 1859.79,1394.11 1859.26,1378.88L1801.08,1378.88C1801.13,1373.34 1800.96,1367.56 1801.16,1362.16C1847.86,1362.22 1894.78,1362.05 1941.33,1362.25L1941.33,1378.88ZM1941.33,1378.88L1959.5,1378.88L1959.5,1436.64L1959.41,1436.64C1957.39,1441.38 1953.83,1444.58 1947.98,1445.51L1822.06,1445.51L1822.06,1428.53C1855.1,1428.53 1889.39,1428.53 1922.9,1428.53C1925.16,1428.53 1927.56,1428.81 1929.56,1428.53C1931.96,1428.19 1934.59,1426.82 1936.55,1425.55C1938.44,1424.32 1940.92,1422.05 1941.24,1419.66C1941.46,1418.06 1941.24,1416.26 1941.24,1414.54C1941.24,1402.9 1941.23,1390.44 1941.33,1378.88ZM1501.58,1741.68L1438.02,1741.68C1437.77,1757.15 1438.11,1773.22 1437.85,1788.69L1419.77,1788.69C1419.64,1773.06 1420.04,1756.91 1419.51,1741.68L1361.33,1741.68C1361.38,1736.14 1361.21,1730.36 1361.41,1724.96C1408.11,1725.02 1455.03,1724.85 1501.58,1725.05L1501.58,1741.68ZM1501.58,1741.68L1519.75,1741.68L1519.75,1799.44L1519.66,1799.44C1517.64,1804.18 1514.08,1807.38 1508.23,1808.31L1382.31,1808.31L1382.31,1791.33C1415.35,1791.33 1449.64,1791.33 1483.15,1791.33C1485.41,1791.33 1487.81,1791.61 1489.81,1791.33C1492.21,1791 1494.84,1789.62 1496.8,1788.35C1498.69,1787.12 1501.17,1784.85 1501.49,1782.46C1501.71,1780.86 1501.49,1779.06 1501.49,1777.34C1501.49,1765.7 1501.48,1753.24 1501.58,1741.68ZM1355.83,1620.75L1292.27,1620.75C1292.02,1636.22 1292.36,1652.28 1292.1,1667.75L1274.02,1667.75C1273.89,1652.12 1274.29,1635.98 1273.76,1620.75L1215.58,1620.75C1215.63,1615.2 1215.46,1609.43 1215.66,1604.03C1262.36,1604.08 1309.28,1603.91 1355.83,1604.11L1355.83,1620.75ZM1355.83,1620.75L1374,1620.75L1374,1678.5L1373.91,1678.5C1371.89,1683.25 1368.33,1686.45 1362.48,1687.38L1236.56,1687.38L1236.56,1670.4C1269.6,1670.4 1303.89,1670.4 1337.4,1670.4C1339.66,1670.4 1342.06,1670.68 1344.06,1670.4C1346.46,1670.06 1349.09,1668.69 1351.05,1667.41C1352.94,1666.18 1355.42,1663.91 1355.74,1661.53C1355.96,1659.93 1355.74,1658.12 1355.74,1656.41C1355.74,1644.76 1355.73,1632.31 1355.83,1620.75ZM1648.58,1620.75L1585.02,1620.75C1584.77,1636.22 1585.11,1652.28 1584.85,1667.75L1566.77,1667.75C1566.64,1652.12 1567.04,1635.98 1566.51,1620.75L1508.33,1620.75C1508.38,1615.2 1508.21,1609.43 1508.41,1604.03C1555.11,1604.08 1602.03,1603.91 1648.58,1604.11L1648.58,1620.75ZM1648.58,1620.75L1666.75,1620.75L1666.75,1678.5L1666.66,1678.5C1664.64,1683.25 1661.08,1686.45 1655.23,1687.38L1529.31,1687.38L1529.31,1670.4C1562.35,1670.4 1596.64,1670.4 1630.15,1670.4C1632.41,1670.4 1634.81,1670.68 1636.81,1670.4C1639.21,1670.06 1641.84,1668.69 1643.8,1667.41C1645.69,1666.18 1648.17,1663.91 1648.49,1661.53C1648.71,1659.93 1648.49,1658.12 1648.49,1656.41C1648.49,1644.76 1648.48,1632.31 1648.58,1620.75ZM2087.08,1741.68L2023.52,1741.68C2023.27,1757.15 2023.61,1773.22 2023.35,1788.69L2005.27,1788.69C2005.14,1773.06 2005.54,1756.91 2005.01,1741.68L1946.83,1741.68C1946.88,1736.14 1946.71,1730.36 1946.91,1724.96C1993.61,1725.02 2040.53,1724.85 2087.08,1725.05L2087.08,1741.68ZM2087.08,1741.68L2105.25,1741.68L2105.25,1799.44L2105.16,1799.44C2103.14,1804.18 2099.57,1807.38 2093.73,1808.31L1967.81,1808.31L1967.81,1791.33C2000.85,1791.33 2035.14,1791.33 2068.65,1791.33C2070.91,1791.33 2073.31,1791.61 2075.31,1791.33C2077.71,1791 2080.34,1789.62 2082.3,1788.35C2084.2,1787.12 2086.67,1784.85 2086.99,1782.46C2087.21,1780.86 2086.99,1779.06 2086.99,1777.34C2086.99,1765.7 2086.98,1753.24 2087.08,1741.68ZM1794.33,1741.68L1730.77,1741.68C1730.52,1757.15 1730.86,1773.22 1730.6,1788.69L1712.52,1788.69C1712.39,1773.06 1712.79,1756.91 1712.26,1741.68L1654.08,1741.68C1654.13,1736.14 1653.96,1730.36 1654.16,1724.96C1700.86,1725.02 1747.78,1724.85 1794.33,1725.05L1794.33,1741.68ZM1794.33,1741.68L1812.5,1741.68L1812.5,1799.44L1812.41,1799.44C1810.39,1804.18 1806.83,1807.38 1800.98,1808.31L1675.06,1808.31L1675.06,1791.33C1708.1,1791.33 1742.39,1791.33 1775.9,1791.33C1778.16,1791.33 1780.56,1791.61 1782.56,1791.33C1784.96,1791 1787.59,1789.62 1789.55,1788.35C1791.44,1787.12 1793.92,1784.85 1794.24,1782.46C1794.46,1780.86 1794.24,1779.06 1794.24,1777.34C1794.24,1765.7 1794.23,1753.24 1794.33,1741.68ZM2234.08,1620.75L2170.52,1620.75C2170.27,1636.22 2170.61,1652.28 2170.35,1667.75L2152.27,1667.75C2152.14,1652.12 2152.54,1635.98 2152.01,1620.75L2093.83,1620.75C2093.89,1615.2 2093.71,1609.43 2093.91,1604.03C2140.61,1604.08 2187.53,1603.91 2234.08,1604.11L2234.08,1620.75ZM2234.08,1620.75L2252.25,1620.75L2252.25,1678.5L2252.16,1678.5C2250.14,1683.25 2246.58,1686.45 2240.73,1687.38L2114.81,1687.38L2114.81,1670.4C2147.85,1670.4 2182.14,1670.4 2215.65,1670.4C2217.91,1670.4 2220.31,1670.68 2222.31,1670.4C2224.71,1670.06 2227.34,1668.69 2229.3,1667.41C2231.2,1666.18 2233.67,1663.91 2233.99,1661.53C2234.21,1659.93 2233.99,1658.12 2233.99,1656.41C2233.99,1644.76 2233.98,1632.31 2234.08,1620.75ZM1941.33,1620.75L1877.77,1620.75C1877.52,1636.22 1877.86,1652.28 1877.6,1667.75L1859.52,1667.75C1859.39,1652.12 1859.79,1635.98 1859.26,1620.75L1801.08,1620.75C1801.13,1615.2 1800.96,1609.43 1801.16,1604.03C1847.86,1604.08 1894.78,1603.91 1941.33,1604.11L1941.33,1620.75ZM1941.33,1620.75L1959.5,1620.75L1959.5,1678.5L1959.41,1678.5C1957.39,1683.25 1953.83,1686.45 1947.98,1687.38L1822.06,1687.38L1822.06,1670.4C1855.1,1670.4 1889.39,1670.4 1922.9,1670.4C1925.16,1670.4 1927.56,1670.68 1929.56,1670.4C1931.96,1670.06 1934.59,1668.69 1936.55,1667.41C1938.44,1666.18 1940.92,1663.91 1941.24,1661.53C1941.46,1659.93 1941.24,1658.12 1941.24,1656.41C1941.24,1644.76 1941.23,1632.31 1941.33,1620.75ZM1648.58,1862.62L1585.02,1862.62C1584.77,1878.09 1585.11,1894.15 1584.85,1909.62L1566.77,1909.62C1566.64,1893.99 1567.04,1877.84 1566.51,1862.62L1508.33,1862.62C1508.38,1857.07 1508.21,1851.3 1508.41,1845.89C1555.11,1845.95 1602.03,1845.78 1648.58,1845.98L1648.58,1862.62ZM1648.58,1862.62L1666.75,1862.62L1666.75,1920.37L1666.66,1920.37C1664.64,1925.12 1661.08,1928.32 1655.23,1929.24L1529.31,1929.24L1529.31,1912.27C1562.35,1912.27 1596.64,1912.27 1630.15,1912.27C1632.41,1912.27 1634.81,1912.55 1636.81,1912.27C1639.21,1911.93 1641.84,1910.56 1643.8,1909.28C1645.69,1908.05 1648.17,1905.78 1648.49,1903.39C1648.71,1901.8 1648.49,1899.99 1648.49,1898.28C1648.49,1886.63 1648.48,1874.18 1648.58,1862.62ZM1794.33,1983.55L1730.77,1983.55C1730.52,1999.02 1730.86,2015.09 1730.6,2030.56L1712.52,2030.56C1712.39,2014.92 1712.79,1998.78 1712.26,1983.55L1654.08,1983.55C1654.13,1978 1653.96,1972.23 1654.16,1966.83C1700.86,1966.88 1747.78,1966.72 1794.33,1966.91L1794.33,1983.55ZM1794.33,1983.55L1812.5,1983.55L1812.5,2041.31L1812.41,2041.31C1810.39,2046.05 1806.83,2049.25 1800.98,2050.18L1675.06,2050.18L1675.06,2033.2C1708.1,2033.2 1742.39,2033.2 1775.9,2033.2C1778.16,2033.2 1780.56,2033.48 1782.56,2033.2C1784.96,2032.86 1787.59,2031.49 1789.55,2030.22C1791.44,2028.99 1793.92,2026.72 1794.24,2024.33C1794.46,2022.73 1794.24,2020.92 1794.24,2019.21C1794.24,2007.57 1794.23,1995.11 1794.33,1983.55ZM1941.33,1862.62L1877.77,1862.62C1877.52,1878.09 1877.86,1894.15 1877.6,1909.62L1859.52,1909.62C1859.39,1893.99 1859.79,1877.84 1859.26,1862.62L1801.08,1862.62C1801.13,1857.07 1800.96,1851.3 1801.16,1845.89C1847.86,1845.95 1894.78,1845.78 1941.33,1845.98L1941.33,1862.62ZM1941.33,1862.62L1959.5,1862.62L1959.5,1920.37L1959.41,1920.37C1957.39,1925.12 1953.83,1928.32 1947.98,1929.24L1822.06,1929.24L1822.06,1912.27C1855.1,1912.27 1889.39,1912.27 1922.9,1912.27C1925.16,1912.27 1927.56,1912.55 1929.56,1912.27C1931.96,1911.93 1934.59,1910.56 1936.55,1909.28C1938.44,1908.05 1940.92,1905.78 1941.24,1903.39C1941.46,1901.8 1941.24,1899.99 1941.24,1898.28C1941.24,1886.63 1941.23,1874.18 1941.33,1862.62ZM1648.58,2104.48L1585.02,2104.48C1584.77,2119.95 1585.11,2136.02 1584.85,2151.49L1566.77,2151.49C1566.64,2135.86 1567.04,2119.71 1566.51,2104.48L1508.33,2104.48C1508.38,2098.94 1508.21,2093.17 1508.41,2087.76C1555.11,2087.82 1602.03,2087.65 1648.58,2087.85L1648.58,2104.48ZM1648.58,2104.48L1666.75,2104.48L1666.75,2162.24L1666.66,2162.24C1664.64,2166.99 1661.08,2170.18 1655.23,2171.11L1529.31,2171.11L1529.31,2154.13C1562.35,2154.14 1596.64,2154.13 1630.15,2154.13C1632.41,2154.13 1634.81,2154.41 1636.81,2154.13C1639.21,2153.8 1641.84,2152.43 1643.8,2151.15C1645.69,2149.92 1648.17,2147.65 1648.49,2145.26C1648.71,2143.66 1648.49,2141.86 1648.49,2140.14C1648.49,2128.5 1648.48,2116.04 1648.58,2104.48ZM294.186,944.795C307.769,944.788 321.5,944.734 334.683,944.881L334.683,961.773L311.164,961.773L294.186,944.795ZM403.286,1053.89C403.241,1041.31 403.158,1028.28 403.227,1016.16C397.738,1015.97 391.881,1016.13 386.25,1016.08L386.25,999.358L480.262,999.358L480.262,1016.08L421.398,1016.08L421.398,1047.22C421.398,1050.72 420.944,1054.39 421.569,1057.45C421.605,1057.63 421.646,1057.91 421.739,1058.14C423.101,1061.52 427.817,1064.67 431.635,1065.47C433.39,1065.84 435.519,1065.73 437.522,1065.73C451.889,1065.73 466.468,1065.66 480.433,1065.82L480.433,1082.71L432.098,1082.71L403.286,1053.89ZM469.739,1120.35C472.353,1120.36 474.967,1120.37 477.579,1120.38L477.579,1128.19L469.739,1120.35ZM480.401,1131.01C482.981,1131.47 484.455,1133.03 484.955,1135.56L480.401,1131.01ZM486.404,1137.01L495.75,1137.01L495.75,1146.36L486.404,1137.01ZM1195.29,1845.89L1212.76,1845.89L1212.76,1862.62L1212.01,1862.62L1195.29,1845.89ZM1215.66,1866.27L1215.66,1865.86C1233.92,1865.91 1252.4,1865.74 1270.52,1865.94C1270.52,1872.37 1270.52,1878.74 1270.52,1885.39C1270.52,1889.99 1270.68,1895.54 1270.35,1899.81C1270.23,1901.31 1269.84,1902.29 1269.07,1903.39C1266.88,1906.52 1263.32,1908.74 1258.8,1909.41L1242.38,1892.99L1243.64,1892.99C1246.93,1892.99 1251.12,1893.57 1252.01,1891.45C1252.97,1889.16 1251.82,1885.59 1252.26,1882.58L1233.75,1882.58L1233.75,1884.36L1215.66,1866.27ZM1316.22,1966.83L1358.51,1966.83L1358.51,1983.55L1332.94,1983.55L1316.22,1966.83ZM1336.18,1986.79L1358.51,1986.79L1358.51,2009.12L1336.18,1986.79ZM1361.32,2011.93C1361.31,2003.55 1361.32,1995.16 1361.41,1986.79C1379.67,1986.85 1398.15,1986.68 1416.27,1986.88C1416.27,1993.3 1416.27,1999.67 1416.27,2006.33C1416.27,2010.92 1416.43,2016.47 1416.1,2020.75C1415.98,2022.25 1415.59,2023.22 1414.82,2024.33C1412.17,2028.11 1407.51,2030.56 1401.6,2030.56L1382.14,2030.56L1382.14,2013.92L1389.39,2013.92C1392.68,2013.92 1396.87,2014.5 1397.76,2012.38C1398.72,2010.1 1397.57,2006.53 1398.01,2003.51L1379.5,2003.51L1379.5,2030.11L1361.32,2011.93ZM1437.15,2087.76L1505.51,2087.76L1505.51,2104.48L1453.88,2104.48L1437.15,2087.76ZM1457.12,2107.72L1505.51,2107.72L1505.51,2151.49L1500.88,2151.49L1487.26,2137.87L1487.26,2124.45L1473.84,2124.45L1457.12,2107.72ZM1503.59,2154.2C1504.29,2154.2 1504.99,2154.21 1505.68,2154.22L1505.68,2156.29L1503.59,2154.2ZM1508.34,2158.95C1508.4,2141.88 1508.21,2124.77 1508.41,2107.72C1526.67,2107.78 1545.15,2107.61 1563.27,2107.81C1563.27,2114.24 1563.27,2120.6 1563.27,2127.26C1563.27,2131.86 1563.43,2137.4 1563.1,2141.68C1562.98,2143.18 1562.59,2144.16 1561.82,2145.26C1559.17,2149.04 1554.51,2151.49 1548.6,2151.49L1529.14,2151.49L1529.14,2134.85L1536.39,2134.85C1539.68,2134.85 1543.87,2135.43 1544.76,2133.32C1545.72,2131.03 1544.57,2127.46 1545.01,2124.45L1526.5,2124.45L1526.5,2171.11L1520.5,2171.11L1508.34,2158.95ZM1558.09,2208.7L1651.26,2208.7L1651.26,2225.42L1592.4,2225.42L1592.4,2243.01L1558.09,2208.7ZM1596.32,2246.93L1596.32,2228.91C1596.32,2228.79 1596.31,2228.67 1596.41,2228.66L1651.26,2228.66L1651.26,2272.42L1635.74,2272.42C1634.82,2272.14 1633.91,2271.84 1633.01,2271.52L1633.01,2245.38L1614.58,2245.38C1614.42,2246.68 1614.49,2248.21 1614.49,2249.73C1614.49,2251.25 1614.28,2252.95 1614.75,2253.91C1615.13,2254.68 1616.67,2255.19 1617.65,2255.45C1618.99,2255.8 1620.49,2255.73 1621.75,2255.79C1624.84,2255.93 1627.69,2255.68 1630.53,2255.79L1630.53,2270.62C1619.58,2266.43 1609.31,2259.92 1600.49,2251.1L1596.32,2246.93ZM1647.02,2275.11C1648.5,2275.12 1649.97,2275.14 1651.43,2275.15L1651.43,2275.74C1649.96,2275.57 1648.48,2275.36 1647.02,2275.11ZM1654.1,2276.01C1654.12,2260.22 1653.98,2244.42 1654.16,2228.66C1672.42,2228.72 1690.9,2228.55 1709.02,2228.74C1709.02,2235.17 1709.02,2241.54 1709.02,2248.2C1709.02,2252.6 1709.16,2257.88 1708.89,2262.08C1702.04,2266.61 1694.68,2270.06 1687.06,2272.42L1674.89,2272.42L1674.89,2255.79L1682.14,2255.79C1685.43,2255.79 1689.62,2256.37 1690.51,2254.25C1691.47,2251.96 1690.32,2248.4 1690.76,2245.38L1672.25,2245.38L1672.25,2275.63C1666.23,2276.39 1660.14,2276.51 1654.1,2276.01ZM1712.5,2259.55C1712.54,2248.05 1712.64,2236.49 1712.26,2225.42L1654.08,2225.42C1654.13,2219.87 1653.96,2214.1 1654.16,2208.7C1690.97,2208.74 1727.92,2208.64 1764.71,2208.7L1747.99,2225.42L1730.77,2225.42C1730.68,2231.13 1730.66,2236.92 1730.67,2242.74L1722.31,2251.1C1719.21,2254.2 1715.93,2257.02 1712.5,2259.55ZM1802.3,2171.11L1800.99,2171.11C1801.26,2150.01 1800.92,2128.82 1801.16,2107.72C1819.42,2107.78 1837.9,2107.61 1856.02,2107.81C1856.02,2111.01 1856.02,2114.18 1856.02,2117.39L1821.92,2151.49L1821.89,2151.49L1821.89,2134.85L1829.14,2134.85C1832.43,2134.85 1836.62,2135.43 1837.51,2133.32C1838.47,2131.03 1837.32,2127.46 1837.76,2124.45L1819.25,2124.45L1819.25,2154.16L1802.3,2171.11ZM1859.48,2113.93C1859.44,2110.75 1859.37,2107.6 1859.26,2104.48L1801.08,2104.48C1801.13,2098.94 1800.96,2093.17 1801.16,2087.76C1829.29,2087.8 1857.5,2087.75 1885.66,2087.75L1859.48,2113.93ZM1923.23,2050.18L1878.66,2050.18C1875.88,2049.82 1873.34,2048.68 1871.33,2047.02C1869.43,2045.45 1867.64,2043.31 1867.23,2040.62C1866.91,2038.48 1867.06,2036.01 1867.06,2033.63C1867.06,2017.48 1866.88,1999.76 1866.98,1983.63C1861.49,1983.44 1855.63,1983.61 1850,1983.55L1850,1966.83L1944.01,1966.83L1944.01,1983.55L1885.15,1983.55L1885.15,2014.69C1885.15,2018.2 1884.69,2021.86 1885.32,2024.93C1885.36,2025.1 1885.4,2025.38 1885.49,2025.61C1886.85,2028.99 1891.57,2032.14 1895.38,2032.94C1897.14,2033.31 1899.27,2033.2 1901.27,2033.2C1914.27,2033.2 1927.43,2033.14 1940.16,2033.25L1923.23,2050.18ZM1942.85,2030.56L1925.76,2030.56L1925.76,2003.51L1907.33,2003.51C1907.17,2004.81 1907.24,2006.35 1907.24,2007.86C1907.24,2009.38 1907.03,2011.09 1907.5,2012.04C1907.88,2012.81 1909.42,2013.32 1910.4,2013.58C1911.74,2013.93 1913.24,2013.86 1914.5,2013.92C1917.59,2014.06 1920.44,2013.81 1923.28,2013.92L1923.28,2030.56L1911.77,2030.56C1907.87,2030.56 1903.86,2030.92 1900.5,2030.38C1898.12,2030 1895.82,2028.83 1893.93,2027.57C1892.18,2026.39 1889.97,2024.53 1889.41,2022.45C1888.78,2020.07 1889.07,2016.78 1889.07,2013.84L1889.07,1987.05C1889.07,1986.93 1889.06,1986.81 1889.16,1986.79L1944.01,1986.79L1944.01,2029.4L1942.85,2030.56ZM1946.85,2026.56C1946.84,2013.3 1946.76,2000.03 1946.91,1986.79C1960.11,1986.83 1973.42,1986.76 1986.63,1986.78L1969.9,2003.51L1965,2003.51L1965,2008.41L1946.85,2026.56ZM1989.86,1983.55L1946.83,1983.55C1946.88,1978 1946.71,1972.23 1946.91,1966.83C1966.78,1966.85 1986.68,1966.84 2006.59,1966.82L1989.86,1983.55ZM2044.17,1929.24L2025.66,1929.24C2022.88,1928.89 2020.34,1927.75 2018.33,1926.09C2016.43,1924.52 2014.64,1922.37 2014.23,1919.69C2013.91,1917.55 2014.06,1915.08 2014.06,1912.69C2014.06,1896.55 2013.88,1878.82 2013.98,1862.7C2008.49,1862.5 2002.63,1862.67 1997,1862.62L1997,1845.89L2091.01,1845.89L2091.01,1862.62L2032.15,1862.62L2032.15,1893.75C2032.15,1897.26 2031.69,1900.93 2032.32,1903.99C2032.36,1904.17 2032.4,1904.44 2032.49,1904.67C2033.85,1908.05 2038.57,1911.21 2042.38,1912.01C2044.14,1912.38 2046.27,1912.27 2048.27,1912.27C2052.55,1912.27 2056.86,1912.26 2061.16,1912.26L2044.17,1929.24ZM2063.79,1909.62L2058.76,1909.62C2054.87,1909.62 2050.86,1909.99 2047.5,1909.45C2045.12,1909.07 2042.82,1907.9 2040.93,1906.64C2039.18,1905.46 2036.97,1903.6 2036.41,1901.52C2035.78,1899.14 2036.07,1895.84 2036.07,1892.9L2036.07,1866.11C2036.07,1865.99 2036.06,1865.87 2036.16,1865.86L2091.01,1865.86L2091.01,1882.4L2072.76,1900.65L2072.76,1882.58L2054.33,1882.58C2054.18,1883.88 2054.24,1885.41 2054.24,1886.93C2054.24,1888.44 2054.03,1890.15 2054.5,1891.11C2054.88,1891.88 2056.42,1892.39 2057.4,1892.64C2058.74,1893 2060.24,1892.93 2061.49,1892.99C2064.59,1893.13 2067.44,1892.88 2070.28,1892.99L2070.28,1903.13L2063.79,1909.62ZM2093.82,1879.59C2093.84,1875.01 2093.86,1870.43 2093.91,1865.86C2098.45,1865.87 2102.99,1865.87 2107.54,1865.87L2093.82,1879.59ZM2110.79,1862.62L2093.83,1862.62C2093.89,1857.07 2093.71,1851.3 2093.91,1845.89C2105.1,1845.91 2116.3,1845.91 2127.51,1845.9L2110.79,1862.62ZM2166.6,1806.81C2165.69,1806.35 2164.85,1805.79 2164.08,1805.15C2162.18,1803.58 2160.39,1801.44 2159.98,1798.76C2159.66,1796.61 2159.81,1794.14 2159.81,1791.76C2159.81,1775.61 2159.64,1757.89 2159.73,1741.77C2154.24,1741.57 2148.38,1741.74 2142.75,1741.68L2142.75,1724.96L2236.76,1724.96L2236.76,1736.65L2231.73,1741.68L2177.9,1741.68L2177.9,1772.82C2177.9,1776.33 2177.44,1780 2178.07,1783.06C2178.11,1783.24 2178.15,1783.51 2178.24,1783.74C2179.12,1785.93 2181.41,1788.03 2183.96,1789.45L2166.6,1806.81ZM2239.57,1733.84C2239.56,1730.84 2239.56,1727.85 2239.66,1724.96C2242.59,1724.97 2245.51,1724.97 2248.44,1724.97L2239.57,1733.84ZM2306.81,1666.6C2306.78,1651.62 2306.64,1635.56 2306.73,1620.83C2301.24,1620.63 2295.38,1620.81 2289.75,1620.75L2289.75,1604.03L2369.38,1604.03L2352.66,1620.75L2324.9,1620.75L2324.9,1648.51L2306.81,1666.6ZM2452.47,1520.94C2452.45,1513.8 2452.44,1506.71 2452.48,1499.9C2446.99,1499.7 2441.13,1499.87 2435.5,1499.81L2435.5,1483.09L2490.32,1483.09L2473.6,1499.81L2470.65,1499.81L2470.65,1502.76L2452.47,1520.94ZM2594.54,1378.87C2590.55,1378.85 2586.47,1378.92 2582.5,1378.88L2582.5,1362.16L2611.25,1362.16L2594.54,1378.87ZM2728.25,1245.16L2728.25,1241.23L2732.18,1241.23L2728.25,1245.16ZM2767.39,1203.64L2700.31,1203.64L2700.31,1186.66C2725.16,1186.66 2750.73,1186.66 2776.14,1186.66C2773.89,1192.56 2770.98,1198.26 2767.39,1203.64ZM2777.07,1184.09C2775.45,1184.08 2773.88,1184.04 2772.4,1183.93C2769.87,1183.75 2766.96,1182.41 2764.98,1181.12C2762.99,1179.82 2760.94,1177.95 2760.12,1175.91C2759.36,1174.03 2759.69,1169.72 2759.69,1167.3C2759.69,1158.3 2759.69,1148.86 2759.69,1140.25C2759.68,1140.13 2759.68,1140.01 2759.78,1140L2780.3,1140C2781.34,1145.55 2781.83,1151.18 2781.77,1156.8L2777.95,1156.8C2777.85,1156.82 2777.85,1156.94 2777.86,1157.06L2777.86,1161.58C2777.86,1162.95 2777.63,1164.79 2778.2,1165.85C2778.68,1166.73 2779.75,1167.06 2781.05,1167.17C2780.3,1172.9 2778.97,1178.57 2777.07,1184.09ZM2779.68,1137.01L2756.02,1137.01C2755.77,1152.48 2756.11,1168.55 2755.85,1184.02L2737.77,1184.02C2737.64,1168.39 2738.04,1152.24 2737.51,1137.01L2679.33,1137.01C2679.39,1131.47 2679.21,1125.69 2679.41,1120.29C2710.93,1120.33 2742.54,1120.27 2774.08,1120.28C2776.54,1125.69 2778.4,1131.3 2779.68,1137.01ZM2623.31,961.773L2611.16,961.773C2608.39,961.419 2605.84,960.28 2603.83,958.616C2601.93,957.047 2600.14,954.901 2599.73,952.218C2599.41,950.077 2599.56,947.604 2599.56,945.222C2599.56,942.852 2599.56,940.447 2599.55,938.019L2623.31,961.773ZM2502.37,840.839L2464.16,840.839C2461.39,840.485 2458.84,839.346 2456.83,837.682C2454.93,836.113 2453.14,833.967 2452.73,831.284C2452.41,829.143 2452.56,826.67 2452.56,824.288C2452.56,813.554 2452.48,802.12 2452.46,790.925L2470.55,809.015C2470.46,811.322 2470.41,813.583 2470.82,815.587C2470.86,815.766 2470.9,816.039 2470.99,816.269C2472.35,819.648 2477.07,822.806 2480.89,823.606C2482.24,823.89 2483.83,823.887 2485.41,823.872L2502.37,840.839ZM2435.75,774.213C2435.66,774.213 2435.58,774.212 2435.5,774.211L2435.5,773.967L2435.75,774.213ZM2381.44,719.905L2318.41,719.905C2315.64,719.551 2313.09,718.412 2311.08,716.748C2309.18,715.179 2307.39,713.033 2306.98,710.35C2306.66,708.209 2306.81,705.736 2306.81,703.354C2306.81,687.208 2306.64,669.482 2306.73,653.363C2301.24,653.163 2295.38,653.334 2289.75,653.277L2289.75,636.556L2298.09,636.556L2324.9,663.365L2324.9,684.415C2324.9,687.923 2324.44,691.59 2325.07,694.653C2325.11,694.832 2325.15,695.105 2325.24,695.335C2326.6,698.714 2331.32,701.872 2335.14,702.672C2336.89,703.039 2339.02,702.928 2341.02,702.928C2348.81,702.928 2356.66,702.907 2364.45,702.913L2381.44,719.905ZM2257.75,596.216L2257.75,598.971L2239.49,598.971C2239.58,592.01 2239.6,585.04 2239.6,578.067L2257.75,596.216ZM2236.76,575.229L2236.76,579.35L2218.51,579.35L2218.51,556.973L2236.76,575.229ZM2213.84,552.306L2200.08,552.306C2199.93,553.606 2199.99,555.14 2199.99,556.657C2199.99,558.172 2199.78,559.879 2200.25,560.837C2200.63,561.602 2202.17,562.114 2203.15,562.372C2204.49,562.726 2205.99,562.656 2207.24,562.714C2210.34,562.858 2213.19,562.606 2216.03,562.714L2216.03,579.35L2204.51,579.35C2200.62,579.35 2196.61,579.717 2193.25,579.179C2190.87,578.795 2188.57,577.626 2186.68,576.363C2184.93,575.188 2182.72,573.323 2182.16,571.245C2181.53,568.864 2181.82,565.569 2181.82,562.629L2181.82,535.841C2181.82,535.72 2181.81,535.599 2181.91,535.585L2197.12,535.585L2213.84,552.306ZM2193.88,532.343L2177.9,532.343L2177.9,563.481C2177.9,566.989 2177.44,570.656 2178.07,573.719C2178.11,573.898 2178.15,574.171 2178.24,574.402C2179.6,577.78 2184.32,580.938 2188.14,581.738C2189.89,582.105 2192.02,581.994 2194.02,581.994C2208.39,581.994 2222.97,581.923 2236.93,582.079L2236.93,598.971L2171.41,598.971C2168.64,598.617 2166.09,597.478 2164.08,595.815C2162.18,594.246 2160.39,592.099 2159.98,589.416C2159.66,587.275 2159.81,584.802 2159.81,582.42C2159.81,566.275 2159.64,548.548 2159.73,532.429C2154.24,532.23 2148.38,532.4 2142.75,532.343L2142.75,515.622L2177.16,515.622L2193.88,532.343ZM2139.57,478.037L2114.81,478.037L2114.81,461.06L2122.59,461.06L2139.57,478.037ZM2119.95,458.416L2114.64,458.416L2114.64,453.11L2119.95,458.416ZM2112,450.466L2112,478.037L2093.74,478.037C2093.93,462.808 2093.81,447.537 2093.82,432.286L2112,450.466ZM2091.01,429.479L2091.01,458.416L2072.76,458.416L2072.76,431.372L2054.33,431.372C2054.18,432.672 2054.24,434.206 2054.24,435.723C2054.24,437.238 2054.03,438.945 2054.5,439.903C2054.88,440.669 2056.42,441.18 2057.4,441.438C2058.74,441.792 2060.24,441.722 2061.49,441.78C2064.59,441.924 2067.44,441.672 2070.28,441.78L2070.28,458.416L2058.76,458.416C2054.87,458.416 2050.86,458.783 2047.5,458.245C2045.12,457.862 2042.82,456.692 2040.93,455.429C2039.18,454.254 2036.97,452.389 2036.41,450.311C2035.78,447.93 2036.07,444.635 2036.07,441.695L2036.07,414.907C2036.07,414.786 2036.06,414.665 2036.16,414.651L2076.18,414.651L2091.01,429.479ZM2072.94,411.409L2032.15,411.409L2032.15,442.548C2032.15,446.055 2031.69,449.722 2032.32,452.785C2032.36,452.964 2032.4,453.237 2032.49,453.468C2033.85,456.846 2038.57,460.005 2042.38,460.804C2044.14,461.171 2046.27,461.06 2048.27,461.06C2062.64,461.06 2077.22,460.99 2091.18,461.145L2091.18,478.037L2025.66,478.037C2022.88,477.683 2020.34,476.545 2018.33,474.881C2016.43,473.312 2014.64,471.165 2014.23,468.482C2013.91,466.341 2014.06,463.868 2014.06,461.486C2014.06,445.341 2013.88,427.615 2013.98,411.495C2008.49,411.296 2002.63,411.466 1997,411.409L1997,394.689L2056.22,394.689L2072.94,411.409ZM2018.64,357.103L1967.81,357.103L1967.81,340.126C1978.98,340.126 1990.29,340.126 2001.66,340.126L2018.64,357.103ZM1996.46,334.931C1993.94,336.543 1990.76,337.482 1987.1,337.482L1967.64,337.482L1967.64,320.846L1974.89,320.846C1977.34,320.846 1980.28,321.166 1981.99,320.46L1996.46,334.931ZM1971.97,310.438L1965,310.438L1965,357.103L1946.74,357.103C1947.01,336 1946.67,314.817 1946.91,293.717C1949.69,293.726 1952.48,293.729 1955.26,293.729L1971.97,310.438ZM1952.01,290.476L1946.83,290.476C1946.85,288.766 1946.84,287.035 1946.83,285.3L1952.01,290.476ZM1944.01,282.479L1944.01,290.476L1885.15,290.476L1885.15,321.614C1885.15,325.121 1884.69,328.788 1885.32,331.851C1885.36,332.03 1885.4,332.303 1885.49,332.534C1886.85,335.912 1891.57,339.071 1895.38,339.87C1897.14,340.237 1899.27,340.126 1901.27,340.126C1915.64,340.126 1930.22,340.056 1944.18,340.211L1944.18,357.103L1878.66,357.103C1875.88,356.75 1873.34,355.611 1871.33,353.947C1869.43,352.378 1867.64,350.231 1867.23,347.548C1866.91,345.408 1867.06,342.934 1867.06,340.553C1867.06,324.407 1866.88,306.681 1866.98,290.561C1861.49,290.362 1855.63,290.532 1850,290.476L1850,273.755L1935.29,273.755L1944.01,282.479ZM1897.7,236.169L1822.06,236.169L1822.06,219.192C1841.32,219.192 1861.01,219.192 1880.73,219.192L1897.7,236.169ZM1877.61,216.076C1877.61,216.234 1877.6,216.391 1877.6,216.548L1859.52,216.548C1859.47,210.412 1859.5,204.198 1859.52,197.99L1877.61,216.076ZM1856.03,194.494C1856.06,198.587 1856.13,203.118 1855.85,206.737C1855.73,208.239 1855.34,209.216 1854.57,210.32C1851.92,214.101 1847.26,216.548 1841.35,216.548L1821.89,216.548L1821.89,199.912L1829.14,199.912C1832.43,199.912 1836.62,200.49 1837.51,198.376C1838.47,196.087 1837.32,192.52 1837.76,189.504L1819.25,189.504L1819.25,236.169L1800.99,236.169C1801.26,215.066 1800.92,193.883 1801.16,172.783C1812.17,172.818 1823.26,172.769 1834.3,172.769L1856.03,194.494ZM1831.08,169.542L1801.08,169.542C1801.13,163.996 1800.96,158.224 1801.16,152.821C1805.56,152.826 1809.96,152.829 1814.36,152.831L1831.08,169.542ZM1776.77,115.236L1675.06,115.236L1675.06,98.258C1702.82,98.259 1731.47,98.258 1759.79,98.258L1776.77,115.236ZM1757.14,95.61C1753.63,95.686 1750.2,95.755 1747.15,95.528C1744.62,95.34 1741.71,94.008 1739.73,92.713C1737.74,91.413 1735.69,89.55 1734.87,87.51C1734.11,85.627 1734.44,81.316 1734.44,78.893C1734.44,76.915 1734.44,74.915 1734.44,72.908L1757.14,95.61ZM1730.68,69.146C1730.7,78.016 1730.75,86.909 1730.6,95.614L1712.52,95.614C1712.4,80.728 1712.75,65.377 1712.33,50.796L1730.68,69.146ZM1710.14,48.608L1654.08,48.608C1654.13,43.062 1653.96,37.29 1654.16,31.887C1667.24,31.903 1680.33,31.901 1693.43,31.894L1710.14,48.608ZM1655.75,-5.787C1655.58,-5.755 1655.41,-5.726 1655.23,-5.698L1529.31,-5.698L1529.31,-22.676C1562.35,-22.675 1596.64,-22.676 1630.15,-22.676C1632.41,-22.676 1634.81,-22.395 1636.81,-22.676C1637.36,-22.753 1637.92,-22.884 1638.48,-23.055L1655.75,-5.787ZM1635.07,-26.459C1634.17,-26.114 1633.26,-25.844 1632.37,-25.661C1630.27,-25.23 1627.53,-25.406 1624.78,-25.406L1617.01,-25.406C1611.62,-25.406 1606.07,-25.058 1601.4,-25.406C1598.87,-25.594 1595.96,-26.926 1593.98,-28.221C1591.99,-29.521 1589.94,-31.384 1589.12,-33.424C1588.36,-35.307 1588.69,-39.618 1588.69,-42.041C1588.69,-51.036 1588.69,-60.481 1588.69,-69.085C1588.68,-69.205 1588.68,-69.326 1588.78,-69.34L1592.19,-69.34L1609,-52.534L1606.95,-52.534C1606.85,-52.52 1606.85,-52.4 1606.86,-52.278L1606.86,-47.757C1606.86,-46.389 1606.63,-44.553 1607.2,-43.491C1608.08,-41.865 1610.98,-42.126 1613.6,-42.126C1615.18,-42.126 1617.45,-41.953 1619.56,-41.973L1635.07,-26.459ZM1589.21,-72.326L1585.02,-72.326C1584.77,-56.856 1585.11,-40.79 1584.85,-25.32L1566.77,-25.32C1566.64,-40.953 1567.04,-57.098 1566.51,-72.326L1508.33,-72.326C1508.38,-77.872 1508.21,-83.644 1508.41,-89.047C1529.74,-89.021 1551.11,-89.043 1572.48,-89.055L1589.21,-72.326ZM1519.75,-141.783L1519.75,-135.505L1519.66,-135.505C1517.64,-130.759 1514.08,-127.558 1508.23,-126.632L1382.31,-126.632L1382.31,-143.609C1415.35,-143.609 1449.64,-143.609 1483.15,-143.609C1485.41,-143.609 1487.81,-143.329 1489.81,-143.609C1492.21,-143.946 1494.84,-145.319 1496.8,-146.595C1498.69,-147.825 1501.17,-150.095 1501.49,-152.482C1501.71,-154.081 1501.49,-155.885 1501.49,-157.6C1501.49,-158.409 1501.49,-159.223 1501.49,-160.039L1519.75,-141.783ZM1496.63,-164.902C1496.63,-164.401 1496.63,-163.901 1496.63,-163.402C1496.63,-160.48 1496.99,-156.368 1496.12,-154.188C1494.62,-150.459 1489.73,-147.49 1485.37,-146.595C1483.27,-146.164 1480.53,-146.339 1477.78,-146.339L1470.01,-146.339C1464.62,-146.339 1459.07,-145.992 1454.4,-146.339C1451.87,-146.527 1448.96,-147.86 1446.98,-149.155C1444.99,-150.455 1442.94,-152.318 1442.12,-154.358C1441.36,-156.241 1441.69,-160.551 1441.69,-162.975C1441.69,-171.97 1441.69,-181.415 1441.69,-190.018C1441.68,-190.139 1441.68,-190.26 1441.78,-190.274L1471.26,-190.274L1496.63,-164.902ZM1459.86,-173.212L1459.86,-168.691C1459.86,-167.323 1459.63,-165.487 1460.2,-164.425C1461.08,-162.799 1463.98,-163.06 1466.6,-163.06C1470.07,-163.06 1476.83,-162.226 1478.03,-164.425C1479.24,-166.643 1477.84,-170.72 1478.38,-173.468L1459.95,-173.468C1459.85,-173.454 1459.85,-173.333 1459.86,-173.212ZM2361.82,700.283L2351.51,700.283C2347.62,700.283 2343.61,700.651 2340.25,700.112C2337.87,699.729 2335.57,698.559 2333.68,697.297C2331.93,696.122 2329.72,694.257 2329.16,692.179C2328.53,689.798 2328.82,686.503 2328.82,683.563L2328.82,667.289L2361.82,700.283ZM2480.35,818.812C2480.03,818.622 2479.73,818.428 2479.43,818.231C2477.79,817.13 2475.74,815.424 2475.04,813.505L2480.35,818.812ZM2673.85,1012.32C2673.83,1012.32 2673.8,1012.32 2673.77,1012.33L2673.77,1012.24L2673.85,1012.32ZM2328.82,1644.59L2328.82,1624.25C2328.82,1624.12 2328.81,1624 2328.91,1623.99L2349.42,1623.99L2328.82,1644.59ZM2211.77,1761.64L2200.08,1761.64C2199.93,1762.94 2199.99,1764.48 2199.99,1766C2199.99,1767.51 2199.78,1769.22 2200.25,1770.18C2200.5,1770.68 2201.27,1771.08 2202.04,1771.37L2187.31,1786.11C2187.09,1785.97 2186.89,1785.84 2186.68,1785.7C2184.93,1784.53 2182.72,1782.66 2182.16,1780.58C2181.53,1778.2 2181.82,1774.91 2181.82,1771.97L2181.82,1745.18C2181.82,1745.06 2181.81,1744.94 2181.91,1744.92L2228.49,1744.92L2211.77,1761.64ZM1675.06,2275.23L1675.06,2275.07L1676.04,2275.07C1675.72,2275.12 1675.39,2275.18 1675.06,2275.23ZM1094.31,1744.92C1104.09,1744.9 1113.86,1744.9 1123.52,1745.01C1123.52,1751.43 1123.52,1757.8 1123.52,1764.46C1123.52,1767.49 1123.59,1770.93 1123.54,1774.15L1094.31,1744.92ZM1003.14,1653.75C1003.16,1652.74 1003.19,1651.8 1003.19,1651.03C1003.19,1642.04 1003.19,1632.59 1003.19,1623.99C1003.18,1623.87 1003.18,1623.75 1003.28,1623.73L1058.05,1623.73C1058.2,1632.38 1058.13,1641.54 1058.13,1650.61C1058.13,1653.53 1058.49,1657.64 1057.62,1659.82C1056.12,1663.55 1051.22,1666.52 1046.87,1667.41C1044.77,1667.84 1042.03,1667.67 1039.28,1667.67L1031.51,1667.67C1026.59,1667.67 1021.53,1667.96 1017.14,1667.74L1003.14,1653.75ZM1021.36,1640.8L1021.36,1645.32C1021.36,1646.68 1021.13,1648.52 1021.7,1649.58C1022.58,1651.21 1025.48,1650.95 1028.1,1650.95C1031.57,1650.95 1038.33,1651.78 1039.53,1649.58C1040.74,1647.37 1039.34,1643.29 1039.88,1640.54L1021.45,1640.54C1021.35,1640.56 1021.35,1640.67 1021.36,1640.8ZM973.426,1624.03C974.876,1624.05 976.323,1624.06 977.768,1624.08L977.768,1628.38L973.426,1624.03ZM856.19,1506.8L856.19,1503.06C856.183,1502.93 856.176,1502.81 856.276,1502.8L911.045,1502.8C911.202,1511.44 911.13,1520.61 911.131,1529.67C911.131,1532.6 911.494,1536.71 910.619,1538.89C909.122,1542.62 904.225,1545.58 899.87,1546.48C898.777,1546.7 897.512,1546.76 896.161,1546.77L879.42,1530.03C879.978,1530.03 880.546,1530.01 881.102,1530.01C884.569,1530.01 891.334,1530.85 892.533,1528.65C893.743,1526.43 892.335,1522.35 892.875,1519.61L874.447,1519.61C874.348,1519.62 874.354,1519.74 874.362,1519.86L874.362,1524.38C874.362,1524.57 874.358,1524.76 874.352,1524.96L856.19,1506.8ZM731.258,1381.87L765.295,1381.87C765.452,1390.51 765.38,1399.67 765.381,1408.74C765.381,1410.91 765.581,1413.73 765.326,1415.93L731.258,1381.87ZM610.324,1260.93L618.295,1260.93C618.343,1263.58 618.37,1266.27 618.383,1268.99L610.324,1260.93ZM1484.23,2134.84C1484.41,2134.84 1484.6,2134.85 1484.78,2134.85L1484.78,2135.39L1484.23,2134.84ZM1734.44,2238.97C1734.44,2235.46 1734.44,2231.99 1734.44,2228.66C1734.43,2228.54 1734.43,2228.42 1734.53,2228.4L1745.01,2228.4L1734.44,2238.97ZM1502.77,31.802L1504.48,31.802C1509.1,32.013 1512.34,34.112 1514.8,36.579C1517.28,39.054 1519.36,42.272 1519.75,46.731L1519.75,47.413C1519.02,47.316 1517.89,47.619 1517.45,47.243C1516.89,43.441 1515.23,40.156 1512.92,38.029C1510.62,35.899 1507.39,34.181 1502.86,34.361C1502.81,34.356 1502.76,34.348 1502.77,34.275L1502.77,31.802ZM1264.5,31.887L1358.51,31.887L1358.51,48.608L1299.65,48.608L1299.65,79.746C1299.65,83.254 1299.19,86.921 1299.82,89.984C1299.86,90.162 1299.9,90.435 1299.99,90.666C1301.35,94.044 1306.07,97.203 1309.88,98.002C1311.64,98.37 1313.77,98.258 1315.77,98.258C1330.14,98.258 1344.72,98.188 1358.68,98.344L1358.68,115.236L1293.16,115.236C1290.38,114.882 1287.84,113.743 1285.83,112.079C1283.93,110.51 1282.14,108.364 1281.73,105.681C1281.41,103.54 1281.56,101.066 1281.56,98.685C1281.56,82.539 1281.38,64.813 1281.48,48.693C1275.99,48.494 1270.13,48.664 1264.5,48.608L1264.5,31.887ZM1514.46,47.413L1512.24,47.413C1511.21,42.618 1508.49,39.508 1502.77,39.394C1502.83,38.626 1502.66,37.632 1502.86,37.006C1509.78,37.425 1513.54,41 1514.46,47.413ZM1509,47.413L1506.87,47.413C1506.18,45.882 1505.13,44.711 1502.77,44.854L1502.77,42.465C1506.47,42.492 1508.47,44.223 1509,47.413ZM1441.78,51.594L1496.55,51.594C1496.7,60.238 1496.63,69.399 1496.63,78.466C1496.63,81.388 1496.99,85.5 1496.12,87.68C1494.62,91.409 1489.73,94.378 1485.37,95.273C1483.27,95.704 1480.53,95.528 1477.78,95.528L1470.01,95.528C1464.62,95.528 1459.07,95.876 1454.4,95.528C1451.87,95.34 1448.96,94.008 1446.98,92.713C1444.99,91.413 1442.94,89.55 1442.12,87.51C1441.36,85.627 1441.69,81.316 1441.69,78.893C1441.69,69.898 1441.69,60.453 1441.69,51.849C1441.68,51.728 1441.68,51.608 1441.78,51.594ZM1459.86,68.655L1459.86,73.177C1459.86,74.544 1459.63,76.381 1460.2,77.443C1461.08,79.069 1463.98,78.807 1466.6,78.807C1470.07,78.807 1476.83,79.641 1478.03,77.443C1479.24,75.224 1477.84,71.147 1478.38,68.4L1459.95,68.4C1459.85,68.414 1459.85,68.534 1459.86,68.655ZM1303.66,51.849L1358.51,51.849L1358.51,95.614L1340.26,95.614L1340.26,68.57L1321.83,68.57C1321.67,69.87 1321.74,71.404 1321.74,72.921C1321.74,74.436 1321.53,76.143 1322,77.101C1322.38,77.867 1323.92,78.378 1324.9,78.637C1326.24,78.99 1327.74,78.92 1329,78.978C1332.09,79.122 1334.94,78.87 1337.78,78.978L1337.78,95.614L1326.27,95.614C1322.37,95.614 1318.36,95.982 1315,95.443C1312.62,95.06 1310.32,93.89 1308.43,92.628C1306.68,91.453 1304.47,89.587 1303.91,87.51C1303.28,85.129 1303.57,81.833 1303.57,78.893L1303.57,52.106C1303.57,51.984 1303.56,51.864 1303.66,51.849ZM1379.5,115.236L1361.24,115.236C1361.51,94.132 1361.17,72.949 1361.41,51.849C1379.67,51.907 1398.15,51.736 1416.27,51.935C1416.27,58.36 1416.27,64.727 1416.27,71.385C1416.27,75.98 1416.43,81.528 1416.1,85.803C1415.98,87.305 1415.59,88.282 1414.82,89.386C1412.17,93.167 1407.51,95.614 1401.6,95.614L1382.14,95.614L1382.14,78.978L1389.39,78.978C1392.68,78.978 1396.87,79.556 1397.76,77.443C1398.72,75.153 1397.57,71.586 1398.01,68.57L1379.5,68.57L1379.5,115.236ZM1357.02,-89.132L1358.73,-89.132C1363.35,-88.921 1366.59,-86.822 1369.05,-84.355C1371.53,-81.879 1373.61,-78.661 1374,-74.203L1374,-73.521C1373.27,-73.618 1372.14,-73.315 1371.7,-73.691C1371.14,-77.493 1369.48,-80.778 1367.17,-82.905C1364.87,-85.034 1361.64,-86.753 1357.11,-86.573C1357.06,-86.578 1357.01,-86.586 1357.02,-86.659L1357.02,-89.132ZM1368.71,-73.521L1366.49,-73.521C1365.46,-78.316 1362.74,-81.425 1357.02,-81.54C1357.08,-82.308 1356.91,-83.302 1357.11,-83.928C1364.03,-83.509 1367.79,-79.934 1368.71,-73.521ZM1363.25,-73.521L1361.12,-73.521C1360.43,-75.052 1359.38,-76.223 1357.02,-76.08L1357.02,-78.469C1360.72,-78.442 1362.72,-76.711 1363.25,-73.521ZM1296.03,-69.34L1350.8,-69.34C1350.95,-60.696 1350.88,-51.534 1350.88,-42.468C1350.88,-39.546 1351.24,-35.434 1350.37,-33.254C1348.87,-29.525 1343.98,-26.556 1339.62,-25.661C1337.52,-25.23 1334.78,-25.406 1332.03,-25.406L1324.26,-25.406C1318.87,-25.406 1313.32,-25.058 1308.65,-25.406C1306.12,-25.594 1303.21,-26.926 1301.23,-28.221C1299.24,-29.521 1297.19,-31.384 1296.37,-33.424C1295.61,-35.307 1295.94,-39.618 1295.94,-42.041C1295.94,-51.036 1295.94,-60.481 1295.94,-69.085C1295.93,-69.205 1295.93,-69.326 1296.03,-69.34ZM1314.11,-52.278L1314.11,-47.757C1314.11,-46.389 1313.88,-44.553 1314.45,-43.491C1315.33,-41.865 1318.23,-42.126 1320.85,-42.126C1324.32,-42.126 1331.08,-41.292 1332.28,-43.491C1333.49,-45.709 1332.09,-49.787 1332.62,-52.534L1314.2,-52.534C1314.1,-52.52 1314.1,-52.4 1314.11,-52.278ZM1411.5,-89.047L1505.51,-89.047L1505.51,-72.326L1446.65,-72.326L1446.65,-41.188C1446.65,-37.68 1446.19,-34.013 1446.82,-30.95C1446.86,-30.772 1446.9,-30.499 1446.99,-30.268C1448.35,-26.89 1453.07,-23.731 1456.88,-22.931C1458.64,-22.564 1460.77,-22.676 1462.77,-22.676C1477.14,-22.676 1491.72,-22.746 1505.68,-22.59L1505.68,-5.698L1440.16,-5.698C1437.38,-6.052 1434.84,-7.191 1432.83,-8.855C1430.93,-10.424 1429.14,-12.57 1428.73,-15.253C1428.41,-17.394 1428.56,-19.867 1428.56,-22.249C1428.56,-38.395 1428.38,-56.121 1428.48,-72.241C1422.99,-72.44 1417.13,-72.27 1411.5,-72.326L1411.5,-89.047ZM1450.66,-69.085L1505.51,-69.085L1505.51,-25.32L1487.26,-25.32L1487.26,-52.364L1468.83,-52.364C1468.67,-51.063 1468.74,-49.53 1468.74,-48.013C1468.74,-46.498 1468.53,-44.791 1469,-43.833C1469.38,-43.067 1470.92,-42.555 1471.9,-42.297C1473.24,-41.944 1474.74,-42.014 1476,-41.955C1479.09,-41.812 1481.94,-42.064 1484.78,-41.955L1484.78,-25.32L1473.27,-25.32C1469.37,-25.32 1465.36,-24.952 1462,-25.491C1459.62,-25.874 1457.32,-27.044 1455.43,-28.306C1453.68,-29.481 1451.47,-31.347 1450.91,-33.424C1450.28,-35.805 1450.57,-39.101 1450.57,-42.041L1450.57,-68.828C1450.57,-68.95 1450.56,-69.07 1450.66,-69.085ZM1526.5,-5.698L1508.24,-5.698C1508.51,-26.802 1508.17,-47.984 1508.41,-69.085C1526.67,-69.027 1545.15,-69.198 1563.27,-68.999C1563.27,-62.574 1563.27,-56.207 1563.27,-49.548C1563.27,-44.953 1563.43,-39.406 1563.1,-35.131C1562.98,-33.629 1562.59,-32.652 1561.82,-31.548C1559.17,-27.767 1554.51,-25.32 1548.6,-25.32L1529.14,-25.32L1529.14,-41.955L1536.39,-41.955C1539.68,-41.955 1543.87,-41.377 1544.76,-43.491C1545.72,-45.781 1544.57,-49.348 1545.01,-52.364L1526.5,-52.364L1526.5,-5.698ZM1210.02,31.802L1211.73,31.802C1216.35,32.013 1219.59,34.112 1222.05,36.579C1224.53,39.054 1226.61,42.272 1227,46.731L1227,47.413C1226.27,47.316 1225.14,47.619 1224.7,47.243C1224.14,43.441 1222.48,40.156 1220.17,38.029C1217.87,35.899 1214.64,34.181 1210.11,34.361C1210.06,34.356 1210.01,34.348 1210.02,34.275L1210.02,31.802ZM1221.71,47.413L1219.49,47.413C1218.46,42.618 1215.74,39.508 1210.02,39.394C1210.08,38.626 1209.91,37.632 1210.11,37.006C1217.03,37.425 1220.79,41 1221.71,47.413ZM1216.25,47.413L1214.12,47.413C1213.43,45.882 1212.38,44.711 1210.02,44.854L1210.02,42.465C1213.72,42.492 1215.72,44.223 1216.25,47.413ZM1149.03,51.594L1203.8,51.594C1203.95,60.238 1203.88,69.399 1203.88,78.466C1203.88,81.388 1204.24,85.5 1203.37,87.68C1201.87,91.409 1196.98,94.378 1192.62,95.273C1190.52,95.704 1187.78,95.528 1185.03,95.528L1177.26,95.528C1171.87,95.528 1166.32,95.876 1161.65,95.528C1159.12,95.34 1156.21,94.008 1154.23,92.713C1152.24,91.413 1150.19,89.55 1149.37,87.51C1148.61,85.627 1148.94,81.316 1148.94,78.893C1148.94,69.898 1148.94,60.453 1148.94,51.849C1148.93,51.728 1148.93,51.608 1149.03,51.594ZM1167.11,68.655L1167.11,73.177C1167.11,74.544 1166.88,76.381 1167.45,77.443C1168.33,79.069 1171.23,78.807 1173.85,78.807C1177.32,78.807 1184.08,79.641 1185.28,77.443C1186.49,75.224 1185.09,71.147 1185.62,68.4L1167.2,68.4C1167.1,68.414 1167.1,68.534 1167.11,68.655ZM1596.41,51.849L1651.26,51.849L1651.26,95.614L1633.01,95.614L1633.01,68.57L1614.58,68.57C1614.42,69.87 1614.49,71.404 1614.49,72.921C1614.49,74.436 1614.28,76.143 1614.75,77.101C1615.13,77.867 1616.67,78.378 1617.65,78.637C1618.99,78.99 1620.49,78.92 1621.75,78.978C1624.84,79.122 1627.69,78.87 1630.53,78.978L1630.53,95.614L1619.02,95.614C1615.12,95.614 1611.11,95.982 1607.75,95.443C1605.37,95.06 1603.07,93.89 1601.18,92.628C1599.43,91.453 1597.22,89.587 1596.66,87.51C1596.03,85.129 1596.32,81.833 1596.32,78.893L1596.32,52.106C1596.32,51.984 1596.31,51.864 1596.41,51.849ZM1672.25,115.236L1653.99,115.236C1654.26,94.132 1653.92,72.949 1654.16,51.849C1672.42,51.907 1690.9,51.736 1709.02,51.935C1709.02,58.36 1709.02,64.727 1709.02,71.385C1709.02,75.98 1709.18,81.528 1708.85,85.803C1708.73,87.305 1708.34,88.282 1707.57,89.386C1704.92,93.167 1700.26,95.614 1694.35,95.614L1674.89,95.614L1674.89,78.978L1682.14,78.978C1685.43,78.978 1689.62,79.556 1690.51,77.443C1691.47,75.153 1690.32,71.586 1690.76,68.57L1672.25,68.57L1672.25,115.236ZM1557.25,31.887L1651.26,31.887L1651.26,48.608L1592.4,48.608L1592.4,79.746C1592.4,83.254 1591.94,86.921 1592.57,89.984C1592.61,90.162 1592.65,90.435 1592.74,90.666C1594.1,94.044 1598.82,97.203 1602.63,98.002C1604.39,98.37 1606.52,98.258 1608.52,98.258C1622.89,98.258 1637.47,98.188 1651.43,98.344L1651.43,115.236L1585.91,115.236C1583.13,114.882 1580.59,113.743 1578.58,112.079C1576.68,110.51 1574.89,108.364 1574.48,105.681C1574.16,103.54 1574.31,101.066 1574.31,98.685C1574.31,82.539 1574.13,64.813 1574.23,48.693C1568.74,48.494 1562.88,48.664 1557.25,48.608L1557.25,31.887ZM1064.27,636.471L1065.98,636.471C1070.6,636.682 1073.84,638.782 1076.3,641.248C1078.78,643.724 1080.86,646.942 1081.25,651.4L1081.25,652.083C1080.52,651.985 1079.39,652.288 1078.95,651.912C1078.39,648.11 1076.73,644.825 1074.42,642.699C1072.12,640.569 1068.89,638.85 1064.36,639.03C1064.31,639.025 1064.26,639.018 1064.27,638.945L1064.27,636.471ZM826,636.556L920.012,636.556L920.012,653.277L861.148,653.277L861.148,684.415C861.148,687.923 860.694,691.59 861.319,694.653C861.355,694.832 861.396,695.105 861.489,695.335C862.851,698.714 867.567,701.872 871.385,702.672C873.14,703.039 875.269,702.928 877.272,702.928C891.639,702.928 906.218,702.857 920.183,703.013L920.183,719.905L854.664,719.905C851.885,719.551 849.34,718.412 847.328,716.748C845.43,715.179 843.64,713.033 843.233,710.35C842.907,708.209 843.062,705.736 843.062,703.354C843.062,687.208 842.885,669.482 842.977,653.363C837.488,653.163 831.631,653.334 826,653.277L826,636.556ZM1075.96,652.083L1073.74,652.083C1072.71,647.288 1069.99,644.178 1064.27,644.063C1064.33,643.295 1064.16,642.301 1064.36,641.675C1071.28,642.094 1075.04,645.67 1075.96,652.083ZM1070.5,652.083L1068.37,652.083C1067.68,650.551 1066.63,649.381 1064.27,649.524L1064.27,647.134C1067.97,647.161 1069.97,648.892 1070.5,652.083ZM1003.28,656.263L1058.05,656.263C1058.2,664.907 1058.13,674.069 1058.13,683.136C1058.13,686.058 1058.49,690.169 1057.62,692.349C1056.12,696.078 1051.22,699.047 1046.87,699.942C1044.77,700.373 1042.03,700.198 1039.28,700.198L1031.51,700.198C1026.12,700.198 1020.57,700.545 1015.9,700.198C1013.37,700.01 1010.46,698.677 1008.48,697.382C1006.49,696.083 1004.44,694.22 1003.62,692.179C1002.86,690.296 1003.19,685.986 1003.19,683.563C1003.19,674.567 1003.19,665.123 1003.19,656.519C1003.18,656.398 1003.18,656.277 1003.28,656.263ZM1021.36,673.325L1021.36,677.846C1021.36,679.214 1021.13,681.05 1021.7,682.112C1022.58,683.738 1025.48,683.477 1028.1,683.477C1031.57,683.477 1038.33,684.311 1039.53,682.112C1040.74,679.894 1039.34,675.817 1039.88,673.069L1021.45,673.069C1021.35,673.084 1021.35,673.204 1021.36,673.325ZM865.158,656.519L920.012,656.519L920.012,700.283L901.756,700.283L901.756,673.24L883.329,673.24C883.175,674.54 883.244,676.074 883.244,677.59C883.244,679.105 883.027,680.813 883.499,681.771C883.877,682.536 885.417,683.048 886.4,683.306C887.743,683.66 889.242,683.59 890.495,683.648C893.591,683.791 896.436,683.539 899.282,683.648L899.282,700.283L887.765,700.283C883.865,700.283 879.856,700.651 876.504,700.112C874.117,699.729 871.819,698.559 869.935,697.297C868.18,696.122 865.966,694.257 865.414,692.179C864.782,689.798 865.072,686.503 865.072,683.563L865.072,656.775C865.065,656.654 865.058,656.533 865.158,656.519ZM940.999,719.905L922.743,719.905C923.008,698.801 922.668,677.619 922.913,656.519C941.17,656.576 959.653,656.405 977.768,656.604C977.768,663.029 977.768,669.396 977.768,676.055C977.768,680.65 977.927,686.197 977.597,690.472C977.482,691.975 977.09,692.952 976.318,694.055C973.675,697.836 969.014,700.283 963.095,700.283L943.643,700.283L943.643,683.648L950.895,683.648C954.176,683.648 958.366,684.226 959.256,682.112C960.219,679.823 959.067,676.256 959.512,673.24L940.999,673.24L940.999,719.905ZM771.523,636.471L773.229,636.471C777.85,636.682 781.085,638.782 783.552,641.248C786.028,643.724 788.108,646.942 788.5,651.4L788.5,652.083C787.773,651.985 786.645,652.288 786.197,651.912C785.637,648.11 783.98,644.825 781.675,642.699C779.368,640.569 776.139,638.85 771.609,639.03C771.557,639.025 771.508,639.018 771.523,638.945L771.523,636.471ZM783.211,652.083L780.993,652.083C779.959,647.288 777.238,644.178 771.523,644.063C771.579,643.295 771.41,642.301 771.609,641.675C778.526,642.094 782.287,645.67 783.211,652.083ZM777.751,652.083L775.618,652.083C774.931,650.551 773.884,649.381 771.523,649.524L771.523,647.134C775.222,647.161 777.217,648.892 777.751,652.083ZM710.526,656.263L765.295,656.263C765.452,664.907 765.38,674.069 765.381,683.136C765.381,686.058 765.744,690.169 764.869,692.349C763.372,696.078 758.475,699.047 754.12,699.942C752.019,700.373 749.28,700.198 746.527,700.198L738.764,700.198C733.367,700.198 727.819,700.545 723.152,700.198C720.624,700.01 717.71,698.677 715.73,697.382C713.743,696.083 711.689,694.22 710.867,692.179C710.11,690.296 710.44,685.986 710.44,683.563C710.441,674.567 710.44,665.123 710.44,656.519C710.433,656.398 710.426,656.277 710.526,656.263ZM728.612,673.325L728.612,677.846C728.612,679.214 728.378,681.05 728.953,682.112C729.834,683.738 732.726,683.477 735.352,683.477C738.819,683.477 745.584,684.311 746.783,682.112C747.993,679.894 746.585,675.817 747.125,673.069L728.697,673.069C728.598,673.084 728.604,673.204 728.612,673.325ZM572.408,656.519L627.262,656.519L627.262,700.283L609.006,700.283L609.006,673.24L590.579,673.24C590.425,674.54 590.494,676.074 590.494,677.59C590.494,679.105 590.277,680.813 590.749,681.771C591.127,682.536 592.667,683.048 593.65,683.306C594.993,683.66 596.492,683.59 597.745,683.648C600.841,683.791 603.686,683.539 606.532,683.648L606.532,700.283L595.015,700.283C591.115,700.283 587.106,700.651 583.754,700.112C581.367,699.729 579.069,698.559 577.185,697.297C575.43,696.122 573.216,694.257 572.664,692.179C572.032,689.798 572.322,686.503 572.322,683.563L572.322,656.775C572.315,656.654 572.308,656.533 572.408,656.519ZM648.249,719.905L629.993,719.905C630.258,698.801 629.918,677.619 630.163,656.519C648.42,656.576 666.903,656.405 685.018,656.604C685.018,663.029 685.018,669.396 685.018,676.055C685.018,680.65 685.177,686.197 684.847,690.472C684.732,691.975 684.34,692.952 683.568,694.055C680.925,697.836 676.264,700.283 670.345,700.283L650.893,700.283L650.893,683.648L658.145,683.648C661.426,683.648 665.616,684.226 666.506,682.112C667.469,679.823 666.317,676.256 666.762,673.24L648.249,673.24L648.249,719.905ZM917.273,757.405L918.979,757.405C923.6,757.616 926.835,759.715 929.302,762.182C931.778,764.658 933.858,767.876 934.25,772.334L934.25,773.016C933.523,772.919 932.395,773.222 931.947,772.846C931.387,769.044 929.73,765.759 927.425,763.633C925.118,761.503 921.889,759.784 917.359,759.964C917.307,759.959 917.258,759.951 917.273,759.879L917.273,757.405ZM679,757.49L773.012,757.49L773.012,774.211L714.148,774.211L714.148,805.349C714.148,808.857 713.694,812.524 714.319,815.587C714.355,815.766 714.396,816.039 714.489,816.269C715.851,819.648 720.567,822.806 724.385,823.606C726.14,823.973 728.269,823.862 730.272,823.862C744.639,823.862 759.218,823.791 773.183,823.947L773.183,840.839L707.664,840.839C704.885,840.485 702.34,839.346 700.328,837.682C698.43,836.113 696.64,833.967 696.233,831.284C695.907,829.143 696.062,826.67 696.062,824.288C696.062,808.142 695.885,790.416 695.977,774.296C690.488,774.097 684.631,774.268 679,774.211L679,757.49ZM928.961,773.016L926.743,773.016C925.709,768.222 922.988,765.112 917.273,764.997C917.329,764.229 917.16,763.235 917.359,762.609C924.276,763.028 928.037,766.604 928.961,773.016ZM923.501,773.016L921.368,773.016C920.681,771.485 919.634,770.315 917.273,770.457L917.273,768.068C920.972,768.095 922.967,769.826 923.501,773.016ZM856.276,777.197L911.045,777.197C911.202,785.841 911.13,795.003 911.131,804.069C911.131,806.991 911.494,811.103 910.619,813.283C909.122,817.012 904.225,819.981 899.87,820.876C897.769,821.307 895.03,821.132 892.277,821.132L884.514,821.132C879.117,821.132 873.569,821.479 868.902,821.132C866.374,820.944 863.46,819.611 861.48,818.316C859.493,817.016 857.439,815.153 856.617,813.113C855.86,811.23 856.19,806.92 856.19,804.496C856.191,795.501 856.19,786.056 856.19,777.453C856.183,777.332 856.176,777.211 856.276,777.197ZM874.362,794.259L874.362,798.78C874.362,800.148 874.128,801.984 874.703,803.046C875.584,804.672 878.476,804.411 881.102,804.411C884.569,804.411 891.334,805.245 892.533,803.046C893.743,800.828 892.335,796.751 892.875,794.003L874.447,794.003C874.348,794.017 874.354,794.138 874.362,794.259ZM718.158,777.453L773.012,777.453L773.012,821.217L754.756,821.217L754.756,794.173L736.329,794.173C736.175,795.474 736.244,797.008 736.244,798.524C736.244,800.039 736.027,801.747 736.499,802.705C736.877,803.47 738.417,803.982 739.4,804.24C740.743,804.593 742.242,804.523 743.495,804.582C746.591,804.725 749.436,804.473 752.282,804.582L752.282,821.217L740.765,821.217C736.865,821.217 732.856,821.585 729.504,821.046C727.117,820.663 724.819,819.493 722.935,818.231C721.18,817.056 718.966,815.19 718.414,813.113C717.782,810.732 718.072,807.436 718.072,804.496L718.072,777.709C718.065,777.588 718.058,777.467 718.158,777.453ZM793.999,840.839L775.743,840.839C776.008,819.735 775.668,798.553 775.913,777.453C794.17,777.51 812.653,777.339 830.768,777.538C830.768,783.963 830.768,790.33 830.768,796.989C830.768,801.584 830.927,807.131 830.597,811.406C830.482,812.908 830.09,813.886 829.318,814.989C826.675,818.77 822.014,821.217 816.095,821.217L796.643,821.217L796.643,804.582L803.895,804.582C807.176,804.582 811.366,805.16 812.256,803.046C813.219,800.757 812.067,797.19 812.512,794.173L793.999,794.173L793.999,840.839ZM624.523,757.405L626.229,757.405C630.85,757.616 634.085,759.715 636.552,762.182C639.028,764.658 641.108,767.876 641.5,772.334L641.5,773.016C640.773,772.919 639.645,773.222 639.197,772.846C638.637,769.044 636.98,765.759 634.675,763.633C632.368,761.503 629.139,759.784 624.609,759.964C624.557,759.959 624.508,759.951 624.523,759.879L624.523,757.405ZM636.211,773.016L633.993,773.016C632.959,768.222 630.238,765.112 624.523,764.997C624.579,764.229 624.41,763.235 624.609,762.609C631.526,763.028 635.287,766.604 636.211,773.016ZM630.751,773.016L628.618,773.016C627.931,771.485 626.884,770.315 624.523,770.457L624.523,768.068C628.222,768.095 630.217,769.826 630.751,773.016ZM563.526,777.197L618.295,777.197C618.452,785.841 618.38,795.003 618.381,804.069C618.381,806.991 618.744,811.103 617.869,813.283C616.372,817.012 611.475,819.981 607.12,820.876C605.019,821.307 602.28,821.132 599.527,821.132L591.764,821.132C586.367,821.132 580.819,821.479 576.152,821.132C573.624,820.944 570.71,819.611 568.73,818.316C566.743,817.016 564.689,815.153 563.867,813.113C563.11,811.23 563.44,806.92 563.44,804.496C563.441,795.501 563.44,786.056 563.44,777.453C563.433,777.332 563.426,777.211 563.526,777.197ZM581.612,794.259L581.612,798.78C581.612,800.148 581.378,801.984 581.953,803.046C582.834,804.672 585.726,804.411 588.352,804.411C591.819,804.411 598.584,805.245 599.783,803.046C600.993,800.828 599.585,796.751 600.125,794.003L581.697,794.003C581.598,794.017 581.604,794.138 581.612,794.259ZM425.408,777.453L480.262,777.453L480.262,821.217L462.006,821.217L462.006,794.173L443.579,794.173C443.425,795.474 443.494,797.008 443.494,798.524C443.494,800.039 443.277,801.747 443.749,802.705C444.127,803.47 445.667,803.982 446.65,804.24C447.993,804.593 449.492,804.523 450.745,804.582C453.841,804.725 456.686,804.473 459.532,804.582L459.532,821.217L448.015,821.217C444.115,821.217 440.106,821.585 436.754,821.046C434.367,820.663 432.069,819.493 430.185,818.231C428.43,817.056 426.216,815.19 425.664,813.113C425.032,810.732 425.322,807.436 425.322,804.496L425.322,777.709C425.315,777.588 425.308,777.467 425.408,777.453ZM501.249,840.839L482.993,840.839C483.258,819.735 482.918,798.553 483.163,777.453C501.42,777.51 519.903,777.339 538.018,777.538C538.018,783.963 538.018,790.33 538.018,796.989C538.018,801.584 538.177,807.131 537.847,811.406C537.732,812.908 537.34,813.886 536.568,814.989C533.925,818.77 529.264,821.217 523.345,821.217L503.893,821.217L503.893,804.582L511.145,804.582C514.426,804.582 518.616,805.16 519.506,803.046C520.469,800.757 519.317,797.19 519.762,794.173L501.249,794.173L501.249,840.839ZM1502.77,757.405L1504.48,757.405C1509.1,757.616 1512.34,759.715 1514.8,762.182C1517.28,764.658 1519.36,767.876 1519.75,772.334L1519.75,773.016C1519.02,772.919 1517.89,773.222 1517.45,772.846C1516.89,769.044 1515.23,765.759 1512.92,763.633C1510.62,761.503 1507.39,759.784 1502.86,759.964C1502.81,759.959 1502.76,759.951 1502.77,759.879L1502.77,757.405ZM1264.5,757.49L1358.51,757.49L1358.51,774.211L1299.65,774.211L1299.65,805.349C1299.65,808.857 1299.19,812.524 1299.82,815.587C1299.86,815.766 1299.9,816.039 1299.99,816.269C1301.35,819.648 1306.07,822.806 1309.88,823.606C1311.64,823.973 1313.77,823.862 1315.77,823.862C1330.14,823.862 1344.72,823.791 1358.68,823.947L1358.68,840.839L1293.16,840.839C1290.38,840.485 1287.84,839.346 1285.83,837.682C1283.93,836.113 1282.14,833.967 1281.73,831.284C1281.41,829.143 1281.56,826.67 1281.56,824.288C1281.56,808.142 1281.38,790.416 1281.48,774.296C1275.99,774.097 1270.13,774.268 1264.5,774.211L1264.5,757.49ZM1514.46,773.016L1512.24,773.016C1511.21,768.222 1508.49,765.112 1502.77,764.997C1502.83,764.229 1502.66,763.235 1502.86,762.609C1509.78,763.028 1513.54,766.604 1514.46,773.016ZM1509,773.016L1506.87,773.016C1506.18,771.485 1505.13,770.315 1502.77,770.457L1502.77,768.068C1506.47,768.095 1508.47,769.826 1509,773.016ZM1441.78,777.197L1496.55,777.197C1496.7,785.841 1496.63,795.003 1496.63,804.069C1496.63,806.991 1496.99,811.103 1496.12,813.283C1494.62,817.012 1489.73,819.981 1485.37,820.876C1483.27,821.307 1480.53,821.132 1477.78,821.132L1470.01,821.132C1464.62,821.132 1459.07,821.479 1454.4,821.132C1451.87,820.944 1448.96,819.611 1446.98,818.316C1444.99,817.016 1442.94,815.153 1442.12,813.113C1441.36,811.23 1441.69,806.92 1441.69,804.496C1441.69,795.501 1441.69,786.056 1441.69,777.453C1441.68,777.332 1441.68,777.211 1441.78,777.197ZM1459.86,794.259L1459.86,798.78C1459.86,800.148 1459.63,801.984 1460.2,803.046C1461.08,804.672 1463.98,804.411 1466.6,804.411C1470.07,804.411 1476.83,805.245 1478.03,803.046C1479.24,800.828 1477.84,796.751 1478.38,794.003L1459.95,794.003C1459.85,794.017 1459.85,794.138 1459.86,794.259ZM1303.66,777.453L1358.51,777.453L1358.51,821.217L1340.26,821.217L1340.26,794.173L1321.83,794.173C1321.67,795.474 1321.74,797.008 1321.74,798.524C1321.74,800.039 1321.53,801.747 1322,802.705C1322.38,803.47 1323.92,803.982 1324.9,804.24C1326.24,804.593 1327.74,804.523 1329,804.582C1332.09,804.725 1334.94,804.473 1337.78,804.582L1337.78,821.217L1326.27,821.217C1322.37,821.217 1318.36,821.585 1315,821.046C1312.62,820.663 1310.32,819.493 1308.43,818.231C1306.68,817.056 1304.47,815.19 1303.91,813.113C1303.28,810.732 1303.57,807.436 1303.57,804.496L1303.57,777.709C1303.57,777.588 1303.56,777.467 1303.66,777.453ZM1379.5,840.839L1361.24,840.839C1361.51,819.735 1361.17,798.553 1361.41,777.453C1379.67,777.51 1398.15,777.339 1416.27,777.538C1416.27,783.963 1416.27,790.33 1416.27,796.989C1416.27,801.584 1416.43,807.131 1416.1,811.406C1415.98,812.908 1415.59,813.886 1414.82,814.989C1412.17,818.77 1407.51,821.217 1401.6,821.217L1382.14,821.217L1382.14,804.582L1389.39,804.582C1392.68,804.582 1396.87,805.16 1397.76,803.046C1398.72,800.757 1397.57,797.19 1398.01,794.173L1379.5,794.173L1379.5,840.839ZM1357.02,636.471L1358.73,636.471C1363.35,636.682 1366.59,638.782 1369.05,641.248C1371.53,643.724 1373.61,646.942 1374,651.4L1374,652.083C1373.27,651.985 1372.14,652.288 1371.7,651.912C1371.14,648.11 1369.48,644.825 1367.17,642.699C1364.87,640.569 1361.64,638.85 1357.11,639.03C1357.06,639.025 1357.01,639.018 1357.02,638.945L1357.02,636.471ZM1118.75,636.556L1212.76,636.556L1212.76,653.277L1153.9,653.277L1153.9,684.415C1153.9,687.923 1153.44,691.59 1154.07,694.653C1154.11,694.832 1154.15,695.105 1154.24,695.335C1155.6,698.714 1160.32,701.872 1164.13,702.672C1165.89,703.039 1168.02,702.928 1170.02,702.928C1184.39,702.928 1198.97,702.857 1212.93,703.013L1212.93,719.905L1147.41,719.905C1144.63,719.551 1142.09,718.412 1140.08,716.748C1138.18,715.179 1136.39,713.033 1135.98,710.35C1135.66,708.209 1135.81,705.736 1135.81,703.354C1135.81,687.208 1135.63,669.482 1135.73,653.363C1130.24,653.163 1124.38,653.334 1118.75,653.277L1118.75,636.556ZM1368.71,652.083L1366.49,652.083C1365.46,647.288 1362.74,644.178 1357.02,644.063C1357.08,643.295 1356.91,642.301 1357.11,641.675C1364.03,642.094 1367.79,645.67 1368.71,652.083ZM1363.25,652.083L1361.12,652.083C1360.43,650.551 1359.38,649.381 1357.02,649.524L1357.02,647.134C1360.72,647.161 1362.72,648.892 1363.25,652.083ZM1296.03,656.263L1350.8,656.263C1350.95,664.907 1350.88,674.069 1350.88,683.136C1350.88,686.058 1351.24,690.169 1350.37,692.349C1348.87,696.078 1343.98,699.047 1339.62,699.942C1337.52,700.373 1334.78,700.198 1332.03,700.198L1324.26,700.198C1318.87,700.198 1313.32,700.545 1308.65,700.198C1306.12,700.01 1303.21,698.677 1301.23,697.382C1299.24,696.083 1297.19,694.22 1296.37,692.179C1295.61,690.296 1295.94,685.986 1295.94,683.563C1295.94,674.567 1295.94,665.123 1295.94,656.519C1295.93,656.398 1295.93,656.277 1296.03,656.263ZM1314.11,673.325L1314.11,677.846C1314.11,679.214 1313.88,681.05 1314.45,682.112C1315.33,683.738 1318.23,683.477 1320.85,683.477C1324.32,683.477 1331.08,684.311 1332.28,682.112C1333.49,679.894 1332.09,675.817 1332.62,673.069L1314.2,673.069C1314.1,673.084 1314.1,673.204 1314.11,673.325ZM1157.91,656.519L1212.76,656.519L1212.76,700.283L1194.51,700.283L1194.51,673.24L1176.08,673.24C1175.92,674.54 1175.99,676.074 1175.99,677.59C1175.99,679.105 1175.78,680.813 1176.25,681.771C1176.63,682.536 1178.17,683.048 1179.15,683.306C1180.49,683.66 1181.99,683.59 1183.25,683.648C1186.34,683.791 1189.19,683.539 1192.03,683.648L1192.03,700.283L1180.52,700.283C1176.62,700.283 1172.61,700.651 1169.25,700.112C1166.87,699.729 1164.57,698.559 1162.68,697.297C1160.93,696.122 1158.72,694.257 1158.16,692.179C1157.53,689.798 1157.82,686.503 1157.82,683.563L1157.82,656.775C1157.82,656.654 1157.81,656.533 1157.91,656.519ZM1233.75,719.905L1215.49,719.905C1215.76,698.801 1215.42,677.619 1215.66,656.519C1233.92,656.576 1252.4,656.405 1270.52,656.604C1270.52,663.029 1270.52,669.396 1270.52,676.055C1270.52,680.65 1270.68,686.197 1270.35,690.472C1270.23,691.975 1269.84,692.952 1269.07,694.055C1266.42,697.836 1261.76,700.283 1255.85,700.283L1236.39,700.283L1236.39,683.648L1243.64,683.648C1246.93,683.648 1251.12,684.226 1252.01,682.112C1252.97,679.823 1251.82,676.256 1252.26,673.24L1233.75,673.24L1233.75,719.905ZM1649.77,636.471L1651.48,636.471C1656.1,636.682 1659.34,638.782 1661.8,641.248C1664.28,643.724 1666.36,646.942 1666.75,651.4L1666.75,652.083C1666.02,651.985 1664.89,652.288 1664.45,651.912C1663.89,648.11 1662.23,644.825 1659.92,642.699C1657.62,640.569 1654.39,638.85 1649.86,639.03C1649.81,639.025 1649.76,639.018 1649.77,638.945L1649.77,636.471ZM1411.5,636.556L1505.51,636.556L1505.51,653.277L1446.65,653.277L1446.65,684.415C1446.65,687.923 1446.19,691.59 1446.82,694.653C1446.86,694.832 1446.9,695.105 1446.99,695.335C1448.35,698.714 1453.07,701.872 1456.88,702.672C1458.64,703.039 1460.77,702.928 1462.77,702.928C1477.14,702.928 1491.72,702.857 1505.68,703.013L1505.68,719.905L1440.16,719.905C1437.38,719.551 1434.84,718.412 1432.83,716.748C1430.93,715.179 1429.14,713.033 1428.73,710.35C1428.41,708.209 1428.56,705.736 1428.56,703.354C1428.56,687.208 1428.38,669.482 1428.48,653.363C1422.99,653.163 1417.13,653.334 1411.5,653.277L1411.5,636.556ZM1661.46,652.083L1659.24,652.083C1658.21,647.288 1655.49,644.178 1649.77,644.063C1649.83,643.295 1649.66,642.301 1649.86,641.675C1656.78,642.094 1660.54,645.67 1661.46,652.083ZM1656,652.083L1653.87,652.083C1653.18,650.551 1652.13,649.381 1649.77,649.524L1649.77,647.134C1653.47,647.161 1655.47,648.892 1656,652.083ZM1588.78,656.263L1643.55,656.263C1643.7,664.907 1643.63,674.069 1643.63,683.136C1643.63,686.058 1643.99,690.169 1643.12,692.349C1641.62,696.078 1636.73,699.047 1632.37,699.942C1630.27,700.373 1627.53,700.198 1624.78,700.198L1617.01,700.198C1611.62,700.198 1606.07,700.545 1601.4,700.198C1598.87,700.01 1595.96,698.677 1593.98,697.382C1591.99,696.083 1589.94,694.22 1589.12,692.179C1588.36,690.296 1588.69,685.986 1588.69,683.563C1588.69,674.567 1588.69,665.123 1588.69,656.519C1588.68,656.398 1588.68,656.277 1588.78,656.263ZM1606.86,673.325L1606.86,677.846C1606.86,679.214 1606.63,681.05 1607.2,682.112C1608.08,683.738 1610.98,683.477 1613.6,683.477C1617.07,683.477 1623.83,684.311 1625.03,682.112C1626.24,679.894 1624.84,675.817 1625.38,673.069L1606.95,673.069C1606.85,673.084 1606.85,673.204 1606.86,673.325ZM1450.66,656.519L1505.51,656.519L1505.51,700.283L1487.26,700.283L1487.26,673.24L1468.83,673.24C1468.67,674.54 1468.74,676.074 1468.74,677.59C1468.74,679.105 1468.53,680.813 1469,681.771C1469.38,682.536 1470.92,683.048 1471.9,683.306C1473.24,683.66 1474.74,683.59 1476,683.648C1479.09,683.791 1481.94,683.539 1484.78,683.648L1484.78,700.283L1473.27,700.283C1469.37,700.283 1465.36,700.651 1462,700.112C1459.62,699.729 1457.32,698.559 1455.43,697.297C1453.68,696.122 1451.47,694.257 1450.91,692.179C1450.28,689.798 1450.57,686.503 1450.57,683.563L1450.57,656.775C1450.57,656.654 1450.56,656.533 1450.66,656.519ZM1526.5,719.905L1508.24,719.905C1508.51,698.801 1508.17,677.619 1508.41,656.519C1526.67,656.576 1545.15,656.405 1563.27,656.604C1563.27,663.029 1563.27,669.396 1563.27,676.055C1563.27,680.65 1563.43,686.197 1563.1,690.472C1562.98,691.975 1562.59,692.952 1561.82,694.055C1559.17,697.836 1554.51,700.283 1548.6,700.283L1529.14,700.283L1529.14,683.648L1536.39,683.648C1539.68,683.648 1543.87,684.226 1544.76,682.112C1545.72,679.823 1544.57,676.256 1545.01,673.24L1526.5,673.24L1526.5,719.905ZM1210.02,757.405L1211.73,757.405C1216.35,757.616 1219.59,759.715 1222.05,762.182C1224.53,764.658 1226.61,767.876 1227,772.334L1227,773.016C1226.27,772.919 1225.14,773.222 1224.7,772.846C1224.14,769.044 1222.48,765.759 1220.17,763.633C1217.87,761.503 1214.64,759.784 1210.11,759.964C1210.06,759.959 1210.01,759.951 1210.02,759.879L1210.02,757.405ZM971.75,757.49L1065.76,757.49L1065.76,774.211L1006.9,774.211L1006.9,805.349C1006.9,808.857 1006.44,812.524 1007.07,815.587C1007.11,815.766 1007.15,816.039 1007.24,816.269C1008.6,819.648 1013.32,822.806 1017.13,823.606C1018.89,823.973 1021.02,823.862 1023.02,823.862C1037.39,823.862 1051.97,823.791 1065.93,823.947L1065.93,840.839L1000.41,840.839C997.635,840.485 995.09,839.346 993.078,837.682C991.18,836.113 989.39,833.967 988.983,831.284C988.657,829.143 988.812,826.67 988.812,824.288C988.812,808.142 988.635,790.416 988.727,774.296C983.238,774.097 977.381,774.268 971.75,774.211L971.75,757.49ZM1221.71,773.016L1219.49,773.016C1218.46,768.222 1215.74,765.112 1210.02,764.997C1210.08,764.229 1209.91,763.235 1210.11,762.609C1217.03,763.028 1220.79,766.604 1221.71,773.016ZM1216.25,773.016L1214.12,773.016C1213.43,771.485 1212.38,770.315 1210.02,770.457L1210.02,768.068C1213.72,768.095 1215.72,769.826 1216.25,773.016ZM1149.03,777.197L1203.8,777.197C1203.95,785.841 1203.88,795.003 1203.88,804.069C1203.88,806.991 1204.24,811.103 1203.37,813.283C1201.87,817.012 1196.98,819.981 1192.62,820.876C1190.52,821.307 1187.78,821.132 1185.03,821.132L1177.26,821.132C1171.87,821.132 1166.32,821.479 1161.65,821.132C1159.12,820.944 1156.21,819.611 1154.23,818.316C1152.24,817.016 1150.19,815.153 1149.37,813.113C1148.61,811.23 1148.94,806.92 1148.94,804.496C1148.94,795.501 1148.94,786.056 1148.94,777.453C1148.93,777.332 1148.93,777.211 1149.03,777.197ZM1167.11,794.259L1167.11,798.78C1167.11,800.148 1166.88,801.984 1167.45,803.046C1168.33,804.672 1171.23,804.411 1173.85,804.411C1177.32,804.411 1184.08,805.245 1185.28,803.046C1186.49,800.828 1185.09,796.751 1185.62,794.003L1167.2,794.003C1167.1,794.017 1167.1,794.138 1167.11,794.259ZM1010.91,777.453L1065.76,777.453L1065.76,821.217L1047.51,821.217L1047.51,794.173L1029.08,794.173C1028.92,795.474 1028.99,797.008 1028.99,798.524C1028.99,800.039 1028.78,801.747 1029.25,802.705C1029.63,803.47 1031.17,803.982 1032.15,804.24C1033.49,804.593 1034.99,804.523 1036.25,804.582C1039.34,804.725 1042.19,804.473 1045.03,804.582L1045.03,821.217L1033.52,821.217C1029.62,821.217 1025.61,821.585 1022.25,821.046C1019.87,820.663 1017.57,819.493 1015.69,818.231C1013.93,817.056 1011.72,815.19 1011.16,813.113C1010.53,810.732 1010.82,807.436 1010.82,804.496L1010.82,777.709C1010.82,777.588 1010.81,777.467 1010.91,777.453ZM1086.75,840.839L1068.49,840.839C1068.76,819.735 1068.42,798.553 1068.66,777.453C1086.92,777.51 1105.4,777.339 1123.52,777.538C1123.52,783.963 1123.52,790.33 1123.52,796.989C1123.52,801.584 1123.68,807.131 1123.35,811.406C1123.23,812.908 1122.84,813.886 1122.07,814.989C1119.42,818.77 1114.76,821.217 1108.85,821.217L1089.39,821.217L1089.39,804.582L1096.64,804.582C1099.93,804.582 1104.12,805.16 1105.01,803.046C1105.97,800.757 1104.82,797.19 1105.26,794.173L1086.75,794.173L1086.75,840.839ZM2381.02,757.405L2382.73,757.405C2387.35,757.616 2390.59,759.715 2393.05,762.182C2395.53,764.658 2397.61,767.876 2398,772.334L2398,773.016C2397.27,772.919 2396.14,773.222 2395.7,772.846C2395.14,769.044 2393.48,765.759 2391.18,763.633C2388.87,761.503 2385.64,759.784 2381.11,759.964C2381.06,759.959 2381.01,759.951 2381.02,759.879L2381.02,757.405ZM2142.75,757.49L2236.76,757.49L2236.76,774.211L2177.9,774.211L2177.9,805.349C2177.9,808.857 2177.44,812.524 2178.07,815.587C2178.11,815.766 2178.15,816.039 2178.24,816.269C2179.6,819.648 2184.32,822.806 2188.14,823.606C2189.89,823.973 2192.02,823.862 2194.02,823.862C2208.39,823.862 2222.97,823.791 2236.93,823.947L2236.93,840.839L2171.41,840.839C2168.64,840.485 2166.09,839.346 2164.08,837.682C2162.18,836.113 2160.39,833.967 2159.98,831.284C2159.66,829.143 2159.81,826.67 2159.81,824.288C2159.81,808.142 2159.64,790.416 2159.73,774.296C2154.24,774.097 2148.38,774.268 2142.75,774.211L2142.75,757.49ZM2392.71,773.016L2390.49,773.016C2389.46,768.222 2386.74,765.112 2381.02,764.997C2381.08,764.229 2380.91,763.235 2381.11,762.609C2388.03,763.028 2391.79,766.604 2392.71,773.016ZM2387.25,773.016L2385.12,773.016C2384.43,771.485 2383.38,770.315 2381.02,770.457L2381.02,768.068C2384.72,768.095 2386.72,769.826 2387.25,773.016ZM2320.03,777.197L2374.8,777.197C2374.95,785.841 2374.88,795.003 2374.88,804.069C2374.88,806.991 2375.24,811.103 2374.37,813.283C2372.87,817.012 2367.97,819.981 2363.62,820.876C2361.52,821.307 2358.78,821.132 2356.03,821.132L2348.26,821.132C2342.87,821.132 2337.32,821.479 2332.65,821.132C2330.12,820.944 2327.21,819.611 2325.23,818.316C2323.24,817.016 2321.19,815.153 2320.37,813.113C2319.61,811.23 2319.94,806.92 2319.94,804.496C2319.94,795.501 2319.94,786.056 2319.94,777.453C2319.93,777.332 2319.93,777.211 2320.03,777.197ZM2338.11,794.259L2338.11,798.78C2338.11,800.148 2337.88,801.984 2338.45,803.046C2339.33,804.672 2342.23,804.411 2344.85,804.411C2348.32,804.411 2355.08,805.245 2356.28,803.046C2357.49,800.828 2356.09,796.751 2356.62,794.003L2338.2,794.003C2338.1,794.017 2338.1,794.138 2338.11,794.259ZM2181.91,777.453L2236.76,777.453L2236.76,821.217L2218.51,821.217L2218.51,794.173L2200.08,794.173C2199.93,795.474 2199.99,797.008 2199.99,798.524C2199.99,800.039 2199.78,801.747 2200.25,802.705C2200.63,803.47 2202.17,803.982 2203.15,804.24C2204.49,804.593 2205.99,804.523 2207.24,804.582C2210.34,804.725 2213.19,804.473 2216.03,804.582L2216.03,821.217L2204.51,821.217C2200.62,821.217 2196.61,821.585 2193.25,821.046C2190.87,820.663 2188.57,819.493 2186.68,818.231C2184.93,817.056 2182.72,815.19 2182.16,813.113C2181.53,810.732 2181.82,807.436 2181.82,804.496L2181.82,777.709C2181.82,777.588 2181.81,777.467 2181.91,777.453ZM2257.75,840.839L2239.49,840.839C2239.76,819.735 2239.42,798.553 2239.66,777.453C2257.92,777.51 2276.4,777.339 2294.52,777.538C2294.52,783.963 2294.52,790.33 2294.52,796.989C2294.52,801.584 2294.68,807.131 2294.35,811.406C2294.23,812.908 2293.84,813.886 2293.07,814.989C2290.43,818.77 2285.76,821.217 2279.85,821.217L2260.39,821.217L2260.39,804.582L2267.64,804.582C2270.93,804.582 2275.12,805.16 2276.01,803.046C2276.97,800.757 2275.82,797.19 2276.26,794.173L2257.75,794.173L2257.75,840.839ZM2088.27,757.405L2089.98,757.405C2094.6,757.616 2097.84,759.715 2100.3,762.182C2102.78,764.658 2104.86,767.876 2105.25,772.334L2105.25,773.016C2104.52,772.919 2103.39,773.222 2102.95,772.846C2102.39,769.044 2100.73,765.759 2098.43,763.633C2096.12,761.503 2092.89,759.784 2088.36,759.964C2088.31,759.959 2088.26,759.951 2088.27,759.879L2088.27,757.405ZM1850,757.49L1944.01,757.49L1944.01,774.211L1885.15,774.211L1885.15,805.349C1885.15,808.857 1884.69,812.524 1885.32,815.587C1885.36,815.766 1885.4,816.039 1885.49,816.269C1886.85,819.648 1891.57,822.806 1895.38,823.606C1897.14,823.973 1899.27,823.862 1901.27,823.862C1915.64,823.862 1930.22,823.791 1944.18,823.947L1944.18,840.839L1878.66,840.839C1875.88,840.485 1873.34,839.346 1871.33,837.682C1869.43,836.113 1867.64,833.967 1867.23,831.284C1866.91,829.143 1867.06,826.67 1867.06,824.288C1867.06,808.142 1866.88,790.416 1866.98,774.296C1861.49,774.097 1855.63,774.268 1850,774.211L1850,757.49ZM2099.96,773.016L2097.74,773.016C2096.71,768.222 2093.99,765.112 2088.27,764.997C2088.33,764.229 2088.16,763.235 2088.36,762.609C2095.28,763.028 2099.04,766.604 2099.96,773.016ZM2094.5,773.016L2092.37,773.016C2091.68,771.485 2090.63,770.315 2088.27,770.457L2088.27,768.068C2091.97,768.095 2093.97,769.826 2094.5,773.016ZM2027.28,777.197L2082.05,777.197C2082.2,785.841 2082.13,795.003 2082.13,804.069C2082.13,806.991 2082.49,811.103 2081.62,813.283C2080.12,817.012 2075.22,819.981 2070.87,820.876C2068.77,821.307 2066.03,821.132 2063.28,821.132L2055.51,821.132C2050.12,821.132 2044.57,821.479 2039.9,821.132C2037.37,820.944 2034.46,819.611 2032.48,818.316C2030.49,817.016 2028.44,815.153 2027.62,813.113C2026.86,811.23 2027.19,806.92 2027.19,804.496C2027.19,795.501 2027.19,786.056 2027.19,777.453C2027.18,777.332 2027.18,777.211 2027.28,777.197ZM2045.36,794.259L2045.36,798.78C2045.36,800.148 2045.13,801.984 2045.7,803.046C2046.58,804.672 2049.48,804.411 2052.1,804.411C2055.57,804.411 2062.33,805.245 2063.53,803.046C2064.74,800.828 2063.34,796.751 2063.88,794.003L2045.45,794.003C2045.35,794.017 2045.35,794.138 2045.36,794.259ZM1889.16,777.453L1944.01,777.453L1944.01,821.217L1925.76,821.217L1925.76,794.173L1907.33,794.173C1907.17,795.474 1907.24,797.008 1907.24,798.524C1907.24,800.039 1907.03,801.747 1907.5,802.705C1907.88,803.47 1909.42,803.982 1910.4,804.24C1911.74,804.593 1913.24,804.523 1914.5,804.582C1917.59,804.725 1920.44,804.473 1923.28,804.582L1923.28,821.217L1911.77,821.217C1907.87,821.217 1903.86,821.585 1900.5,821.046C1898.12,820.663 1895.82,819.493 1893.93,818.231C1892.18,817.056 1889.97,815.19 1889.41,813.113C1888.78,810.732 1889.07,807.436 1889.07,804.496L1889.07,777.709C1889.07,777.588 1889.06,777.467 1889.16,777.453ZM1965,840.839L1946.74,840.839C1947.01,819.735 1946.67,798.553 1946.91,777.453C1965.17,777.51 1983.65,777.339 2001.77,777.538C2001.77,783.963 2001.77,790.33 2001.77,796.989C2001.77,801.584 2001.93,807.131 2001.6,811.406C2001.48,812.908 2001.09,813.886 2000.32,814.989C1997.67,818.77 1993.01,821.217 1987.1,821.217L1967.64,821.217L1967.64,804.582L1974.89,804.582C1978.18,804.582 1982.37,805.16 1983.26,803.046C1984.22,800.757 1983.07,797.19 1983.51,794.173L1965,794.173L1965,840.839ZM1795.52,757.405L1797.23,757.405C1801.85,757.616 1805.09,759.715 1807.55,762.182C1810.03,764.658 1812.11,767.876 1812.5,772.334L1812.5,773.016C1811.77,772.919 1810.64,773.222 1810.2,772.846C1809.64,769.044 1807.98,765.759 1805.67,763.633C1803.37,761.503 1800.14,759.784 1795.61,759.964C1795.56,759.959 1795.51,759.951 1795.52,759.879L1795.52,757.405ZM1557.25,757.49L1651.26,757.49L1651.26,774.211L1592.4,774.211L1592.4,805.349C1592.4,808.857 1591.94,812.524 1592.57,815.587C1592.61,815.766 1592.65,816.039 1592.74,816.269C1594.1,819.648 1598.82,822.806 1602.63,823.606C1604.39,823.973 1606.52,823.862 1608.52,823.862C1622.89,823.862 1637.47,823.791 1651.43,823.947L1651.43,840.839L1585.91,840.839C1583.13,840.485 1580.59,839.346 1578.58,837.682C1576.68,836.113 1574.89,833.967 1574.48,831.284C1574.16,829.143 1574.31,826.67 1574.31,824.288C1574.31,808.142 1574.13,790.416 1574.23,774.296C1568.74,774.097 1562.88,774.268 1557.25,774.211L1557.25,757.49ZM1807.21,773.016L1804.99,773.016C1803.96,768.222 1801.24,765.112 1795.52,764.997C1795.58,764.229 1795.41,763.235 1795.61,762.609C1802.53,763.028 1806.29,766.604 1807.21,773.016ZM1801.75,773.016L1799.62,773.016C1798.93,771.485 1797.88,770.315 1795.52,770.457L1795.52,768.068C1799.22,768.095 1801.22,769.826 1801.75,773.016ZM1734.53,777.197L1789.3,777.197C1789.45,785.841 1789.38,795.003 1789.38,804.069C1789.38,806.991 1789.74,811.103 1788.87,813.283C1787.37,817.012 1782.48,819.981 1778.12,820.876C1776.02,821.307 1773.28,821.132 1770.53,821.132L1762.76,821.132C1757.37,821.132 1751.82,821.479 1747.15,821.132C1744.62,820.944 1741.71,819.611 1739.73,818.316C1737.74,817.016 1735.69,815.153 1734.87,813.113C1734.11,811.23 1734.44,806.92 1734.44,804.496C1734.44,795.501 1734.44,786.056 1734.44,777.453C1734.43,777.332 1734.43,777.211 1734.53,777.197ZM1752.61,794.259L1752.61,798.78C1752.61,800.148 1752.38,801.984 1752.95,803.046C1753.83,804.672 1756.73,804.411 1759.35,804.411C1762.82,804.411 1769.58,805.245 1770.78,803.046C1771.99,800.828 1770.59,796.751 1771.12,794.003L1752.7,794.003C1752.6,794.017 1752.6,794.138 1752.61,794.259ZM1596.41,777.453L1651.26,777.453L1651.26,821.217L1633.01,821.217L1633.01,794.173L1614.58,794.173C1614.42,795.474 1614.49,797.008 1614.49,798.524C1614.49,800.039 1614.28,801.747 1614.75,802.705C1615.13,803.47 1616.67,803.982 1617.65,804.24C1618.99,804.593 1620.49,804.523 1621.75,804.582C1624.84,804.725 1627.69,804.473 1630.53,804.582L1630.53,821.217L1619.02,821.217C1615.12,821.217 1611.11,821.585 1607.75,821.046C1605.37,820.663 1603.07,819.493 1601.18,818.231C1599.43,817.056 1597.22,815.19 1596.66,813.113C1596.03,810.732 1596.32,807.436 1596.32,804.496L1596.32,777.709C1596.32,777.588 1596.31,777.467 1596.41,777.453ZM1672.25,840.839L1653.99,840.839C1654.26,819.735 1653.92,798.553 1654.16,777.453C1672.42,777.51 1690.9,777.339 1709.02,777.538C1709.02,783.963 1709.02,790.33 1709.02,796.989C1709.02,801.584 1709.18,807.131 1708.85,811.406C1708.73,812.908 1708.34,813.886 1707.57,814.989C1704.92,818.77 1700.26,821.217 1694.35,821.217L1674.89,821.217L1674.89,804.582L1682.14,804.582C1685.43,804.582 1689.62,805.16 1690.51,803.046C1691.47,800.757 1690.32,797.19 1690.76,794.173L1672.25,794.173L1672.25,840.839ZM2235.27,636.471L2236.98,636.471C2241.6,636.682 2244.84,638.782 2247.3,641.248C2249.78,643.724 2251.86,646.942 2252.25,651.4L2252.25,652.083C2251.52,651.985 2250.39,652.288 2249.95,651.912C2249.39,648.11 2247.73,644.825 2245.43,642.699C2243.12,640.569 2239.89,638.85 2235.36,639.03C2235.31,639.025 2235.26,639.018 2235.27,638.945L2235.27,636.471ZM1997,636.556L2091.01,636.556L2091.01,653.277L2032.15,653.277L2032.15,684.415C2032.15,687.923 2031.69,691.59 2032.32,694.653C2032.36,694.832 2032.4,695.105 2032.49,695.335C2033.85,698.714 2038.57,701.872 2042.38,702.672C2044.14,703.039 2046.27,702.928 2048.27,702.928C2062.64,702.928 2077.22,702.857 2091.18,703.013L2091.18,719.905L2025.66,719.905C2022.88,719.551 2020.34,718.412 2018.33,716.748C2016.43,715.179 2014.64,713.033 2014.23,710.35C2013.91,708.209 2014.06,705.736 2014.06,703.354C2014.06,687.208 2013.88,669.482 2013.98,653.363C2008.49,653.163 2002.63,653.334 1997,653.277L1997,636.556ZM2246.96,652.083L2244.74,652.083C2243.71,647.288 2240.99,644.178 2235.27,644.063C2235.33,643.295 2235.16,642.301 2235.36,641.675C2242.28,642.094 2246.04,645.67 2246.96,652.083ZM2241.5,652.083L2239.37,652.083C2238.68,650.551 2237.63,649.381 2235.27,649.524L2235.27,647.134C2238.97,647.161 2240.97,648.892 2241.5,652.083ZM2174.28,656.263L2229.05,656.263C2229.2,664.907 2229.13,674.069 2229.13,683.136C2229.13,686.058 2229.49,690.169 2228.62,692.349C2227.12,696.078 2222.22,699.047 2217.87,699.942C2215.77,700.373 2213.03,700.198 2210.28,700.198L2202.51,700.198C2197.12,700.198 2191.57,700.545 2186.9,700.198C2184.37,700.01 2181.46,698.677 2179.48,697.382C2177.49,696.083 2175.44,694.22 2174.62,692.179C2173.86,690.296 2174.19,685.986 2174.19,683.563C2174.19,674.567 2174.19,665.123 2174.19,656.519C2174.18,656.398 2174.18,656.277 2174.28,656.263ZM2192.36,673.325L2192.36,677.846C2192.36,679.214 2192.13,681.05 2192.7,682.112C2193.58,683.738 2196.48,683.477 2199.1,683.477C2202.57,683.477 2209.33,684.311 2210.53,682.112C2211.74,679.894 2210.34,675.817 2210.88,673.069L2192.45,673.069C2192.35,673.084 2192.35,673.204 2192.36,673.325ZM2036.16,656.519L2091.01,656.519L2091.01,700.283L2072.76,700.283L2072.76,673.24L2054.33,673.24C2054.18,674.54 2054.24,676.074 2054.24,677.59C2054.24,679.105 2054.03,680.813 2054.5,681.771C2054.88,682.536 2056.42,683.048 2057.4,683.306C2058.74,683.66 2060.24,683.59 2061.49,683.648C2064.59,683.791 2067.44,683.539 2070.28,683.648L2070.28,700.283L2058.76,700.283C2054.87,700.283 2050.86,700.651 2047.5,700.112C2045.12,699.729 2042.82,698.559 2040.93,697.297C2039.18,696.122 2036.97,694.257 2036.41,692.179C2035.78,689.798 2036.07,686.503 2036.07,683.563L2036.07,656.775C2036.07,656.654 2036.06,656.533 2036.16,656.519ZM2112,719.905L2093.74,719.905C2094.01,698.801 2093.67,677.619 2093.91,656.519C2112.17,656.576 2130.65,656.405 2148.77,656.604C2148.77,663.029 2148.77,669.396 2148.77,676.055C2148.77,680.65 2148.93,686.197 2148.6,690.472C2148.48,691.975 2148.09,692.952 2147.32,694.055C2144.68,697.836 2140.01,700.283 2134.1,700.283L2114.64,700.283L2114.64,683.648L2121.89,683.648C2125.18,683.648 2129.37,684.226 2130.26,682.112C2131.22,679.823 2130.07,676.256 2130.51,673.24L2112,673.24L2112,719.905ZM1942.52,636.471L1944.23,636.471C1948.85,636.682 1952.09,638.782 1954.55,641.248C1957.03,643.724 1959.11,646.942 1959.5,651.4L1959.5,652.083C1958.77,651.985 1957.64,652.288 1957.2,651.912C1956.64,648.11 1954.98,644.825 1952.67,642.699C1950.37,640.569 1947.14,638.85 1942.61,639.03C1942.56,639.025 1942.51,639.018 1942.52,638.945L1942.52,636.471ZM1704.25,636.556L1798.26,636.556L1798.26,653.277L1739.4,653.277L1739.4,684.415C1739.4,687.923 1738.94,691.59 1739.57,694.653C1739.61,694.832 1739.65,695.105 1739.74,695.335C1741.1,698.714 1745.82,701.872 1749.63,702.672C1751.39,703.039 1753.52,702.928 1755.52,702.928C1769.89,702.928 1784.47,702.857 1798.43,703.013L1798.43,719.905L1732.91,719.905C1730.13,719.551 1727.59,718.412 1725.58,716.748C1723.68,715.179 1721.89,713.033 1721.48,710.35C1721.16,708.209 1721.31,705.736 1721.31,703.354C1721.31,687.208 1721.13,669.482 1721.23,653.363C1715.74,653.163 1709.88,653.334 1704.25,653.277L1704.25,636.556ZM1954.21,652.083L1951.99,652.083C1950.96,647.288 1948.24,644.178 1942.52,644.063C1942.58,643.295 1942.41,642.301 1942.61,641.675C1949.53,642.094 1953.29,645.67 1954.21,652.083ZM1948.75,652.083L1946.62,652.083C1945.93,650.551 1944.88,649.381 1942.52,649.524L1942.52,647.134C1946.22,647.161 1948.22,648.892 1948.75,652.083ZM1881.53,656.263L1936.3,656.263C1936.45,664.907 1936.38,674.069 1936.38,683.136C1936.38,686.058 1936.74,690.169 1935.87,692.349C1934.37,696.078 1929.48,699.047 1925.12,699.942C1923.02,700.373 1920.28,700.198 1917.53,700.198L1909.76,700.198C1904.37,700.198 1898.82,700.545 1894.15,700.198C1891.62,700.01 1888.71,698.677 1886.73,697.382C1884.74,696.083 1882.69,694.22 1881.87,692.179C1881.11,690.296 1881.44,685.986 1881.44,683.563C1881.44,674.567 1881.44,665.123 1881.44,656.519C1881.43,656.398 1881.43,656.277 1881.53,656.263ZM1899.61,673.325L1899.61,677.846C1899.61,679.214 1899.38,681.05 1899.95,682.112C1900.83,683.738 1903.73,683.477 1906.35,683.477C1909.82,683.477 1916.58,684.311 1917.78,682.112C1918.99,679.894 1917.59,675.817 1918.12,673.069L1899.7,673.069C1899.6,673.084 1899.6,673.204 1899.61,673.325ZM1743.41,656.519L1798.26,656.519L1798.26,700.283L1780.01,700.283L1780.01,673.24L1761.58,673.24C1761.42,674.54 1761.49,676.074 1761.49,677.59C1761.49,679.105 1761.28,680.813 1761.75,681.771C1762.13,682.536 1763.67,683.048 1764.65,683.306C1765.99,683.66 1767.49,683.59 1768.75,683.648C1771.84,683.791 1774.69,683.539 1777.53,683.648L1777.53,700.283L1766.02,700.283C1762.12,700.283 1758.11,700.651 1754.75,700.112C1752.37,699.729 1750.07,698.559 1748.18,697.297C1746.43,696.122 1744.22,694.257 1743.66,692.179C1743.03,689.798 1743.32,686.503 1743.32,683.563L1743.32,656.775C1743.32,656.654 1743.31,656.533 1743.41,656.519ZM1819.25,719.905L1800.99,719.905C1801.26,698.801 1800.92,677.619 1801.16,656.519C1819.42,656.576 1837.9,656.405 1856.02,656.604C1856.02,663.029 1856.02,669.396 1856.02,676.055C1856.02,680.65 1856.18,686.197 1855.85,690.472C1855.73,691.975 1855.34,692.952 1854.57,694.055C1851.92,697.836 1847.26,700.283 1841.35,700.283L1821.89,700.283L1821.89,683.648L1829.14,683.648C1832.43,683.648 1836.62,684.226 1837.51,682.112C1838.47,679.823 1837.32,676.256 1837.76,673.24L1819.25,673.24L1819.25,719.905ZM478.773,878.339L480.479,878.339C485.1,878.55 488.335,880.649 490.802,883.116C493.278,885.592 495.358,888.81 495.75,893.268L495.75,893.95C495.023,893.853 493.895,894.156 493.447,893.78C492.887,889.978 491.23,886.693 488.925,884.566C486.618,882.437 483.389,880.718 478.859,880.898C478.807,880.893 478.758,880.885 478.773,880.812L478.773,878.339ZM490.461,893.95L488.243,893.95C487.209,889.155 484.488,886.046 478.773,885.931C478.829,885.163 478.66,884.169 478.859,883.543C485.776,883.962 489.537,887.537 490.461,893.95ZM485.001,893.95L482.868,893.95C482.181,892.419 481.134,891.248 478.773,891.391L478.773,889.002C482.472,889.029 484.467,890.76 485.001,893.95ZM417.776,898.131L472.545,898.131C472.702,906.775 472.63,915.937 472.631,925.003C472.631,927.925 472.994,932.037 472.119,934.217C470.622,937.946 465.725,940.915 461.37,941.81C459.269,942.241 456.53,942.066 453.777,942.066L446.014,942.066C440.617,942.066 435.069,942.413 430.402,942.066C427.874,941.877 424.96,940.545 422.98,939.25C420.993,937.95 418.939,936.087 418.117,934.047C417.36,932.164 417.69,927.853 417.69,925.43C417.691,916.435 417.69,906.99 417.69,898.386C417.683,898.266 417.676,898.145 417.776,898.131ZM435.862,915.193L435.862,919.714C435.862,921.082 435.628,922.918 436.203,923.98C437.084,925.606 439.976,925.345 442.602,925.345C446.069,925.345 452.834,926.179 454.033,923.98C455.243,921.762 453.835,917.684 454.375,914.937L435.947,914.937C435.848,914.951 435.854,915.071 435.862,915.193ZM355.499,961.773L337.243,961.773C337.508,940.669 337.168,919.487 337.413,898.386C355.67,898.444 374.153,898.273 392.268,898.472C392.268,904.897 392.268,911.264 392.268,917.923C392.268,922.518 392.427,928.065 392.097,932.34C391.982,933.842 391.59,934.819 390.818,935.923C388.175,939.704 383.514,942.151 377.595,942.151L358.143,942.151L358.143,925.516L365.395,925.516C368.676,925.516 372.866,926.094 373.756,923.98C374.719,921.69 373.567,918.123 374.012,915.107L355.499,915.107L355.499,961.773ZM1064.27,878.339L1065.98,878.339C1070.6,878.55 1073.84,880.649 1076.3,883.116C1078.78,885.592 1080.86,888.81 1081.25,893.268L1081.25,893.95C1080.52,893.853 1079.39,894.156 1078.95,893.78C1078.39,889.978 1076.73,886.693 1074.42,884.566C1072.12,882.437 1068.89,880.718 1064.36,880.898C1064.31,880.893 1064.26,880.885 1064.27,880.812L1064.27,878.339ZM826,878.424L920.012,878.424L920.012,895.145L861.148,895.145L861.148,926.283C861.148,929.791 860.694,933.458 861.319,936.521C861.355,936.699 861.396,936.972 861.489,937.203C862.851,940.581 867.567,943.74 871.385,944.54C873.14,944.907 875.269,944.795 877.272,944.795C891.639,944.795 906.218,944.725 920.183,944.881L920.183,961.773L854.664,961.773C851.885,961.419 849.34,960.28 847.328,958.616C845.43,957.047 843.64,954.901 843.233,952.218C842.907,950.077 843.062,947.604 843.062,945.222C843.062,929.076 842.885,911.35 842.977,895.23C837.488,895.031 831.631,895.201 826,895.145L826,878.424ZM1075.96,893.95L1073.74,893.95C1072.71,889.155 1069.99,886.046 1064.27,885.931C1064.33,885.163 1064.16,884.169 1064.36,883.543C1071.28,883.962 1075.04,887.537 1075.96,893.95ZM1070.5,893.95L1068.37,893.95C1067.68,892.419 1066.63,891.248 1064.27,891.391L1064.27,889.002C1067.97,889.029 1069.97,890.76 1070.5,893.95ZM1003.28,898.131L1058.05,898.131C1058.2,906.775 1058.13,915.937 1058.13,925.003C1058.13,927.925 1058.49,932.037 1057.62,934.217C1056.12,937.946 1051.22,940.915 1046.87,941.81C1044.77,942.241 1042.03,942.066 1039.28,942.066L1031.51,942.066C1026.12,942.066 1020.57,942.413 1015.9,942.066C1013.37,941.877 1010.46,940.545 1008.48,939.25C1006.49,937.95 1004.44,936.087 1003.62,934.047C1002.86,932.164 1003.19,927.853 1003.19,925.43C1003.19,916.435 1003.19,906.99 1003.19,898.386C1003.18,898.266 1003.18,898.145 1003.28,898.131ZM1021.36,915.193L1021.36,919.714C1021.36,921.082 1021.13,922.918 1021.7,923.98C1022.58,925.606 1025.48,925.345 1028.1,925.345C1031.57,925.345 1038.33,926.179 1039.53,923.98C1040.74,921.762 1039.34,917.684 1039.88,914.937L1021.45,914.937C1021.35,914.951 1021.35,915.071 1021.36,915.193ZM865.158,898.386L920.012,898.386L920.012,942.151L901.756,942.151L901.756,915.107L883.329,915.107C883.175,916.408 883.244,917.941 883.244,919.458C883.244,920.973 883.027,922.68 883.499,923.638C883.877,924.404 885.417,924.916 886.4,925.174C887.743,925.527 889.242,925.457 890.495,925.516C893.591,925.659 896.436,925.407 899.282,925.516L899.282,942.151L887.765,942.151C883.865,942.151 879.856,942.519 876.504,941.98C874.117,941.597 871.819,940.427 869.935,939.165C868.18,937.99 865.966,936.124 865.414,934.047C864.782,931.666 865.072,928.37 865.072,925.43L865.072,898.643C865.065,898.521 865.058,898.401 865.158,898.386ZM940.999,961.773L922.743,961.773C923.008,940.669 922.668,919.487 922.913,898.386C941.17,898.444 959.653,898.273 977.768,898.472C977.768,904.897 977.768,911.264 977.768,917.923C977.768,922.518 977.927,928.065 977.597,932.34C977.482,933.842 977.09,934.819 976.318,935.923C973.675,939.704 969.014,942.151 963.095,942.151L943.643,942.151L943.643,925.516L950.895,925.516C954.176,925.516 958.366,926.094 959.256,923.98C960.219,921.69 959.067,918.123 959.512,915.107L940.999,915.107L940.999,961.773ZM771.523,878.339L773.229,878.339C777.85,878.55 781.085,880.649 783.552,883.116C786.028,885.592 788.108,888.81 788.5,893.268L788.5,893.95C787.773,893.853 786.645,894.156 786.197,893.78C785.637,889.978 783.98,886.693 781.675,884.566C779.368,882.437 776.139,880.718 771.609,880.898C771.557,880.893 771.508,880.885 771.523,880.812L771.523,878.339ZM533.25,878.424L627.262,878.424L627.262,895.145L568.398,895.145L568.398,926.283C568.398,929.791 567.944,933.458 568.569,936.521C568.605,936.699 568.646,936.972 568.739,937.203C570.101,940.581 574.817,943.74 578.635,944.54C580.39,944.907 582.519,944.795 584.522,944.795C598.889,944.795 613.468,944.725 627.433,944.881L627.433,961.773L561.914,961.773C559.135,961.419 556.59,960.28 554.578,958.616C552.68,957.047 550.89,954.901 550.483,952.218C550.157,950.077 550.312,947.604 550.312,945.222C550.312,929.076 550.135,911.35 550.227,895.23C544.738,895.031 538.881,895.201 533.25,895.145L533.25,878.424ZM783.211,893.95L780.993,893.95C779.959,889.155 777.238,886.046 771.523,885.931C771.579,885.163 771.41,884.169 771.609,883.543C778.526,883.962 782.287,887.537 783.211,893.95ZM777.751,893.95L775.618,893.95C774.931,892.419 773.884,891.248 771.523,891.391L771.523,889.002C775.222,889.029 777.217,890.76 777.751,893.95ZM710.526,898.131L765.295,898.131C765.452,906.775 765.38,915.937 765.381,925.003C765.381,927.925 765.744,932.037 764.869,934.217C763.372,937.946 758.475,940.915 754.12,941.81C752.019,942.241 749.28,942.066 746.527,942.066L738.764,942.066C733.367,942.066 727.819,942.413 723.152,942.066C720.624,941.877 717.71,940.545 715.73,939.25C713.743,937.95 711.689,936.087 710.867,934.047C710.11,932.164 710.44,927.853 710.44,925.43C710.441,916.435 710.44,906.99 710.44,898.386C710.433,898.266 710.426,898.145 710.526,898.131ZM728.612,915.193L728.612,919.714C728.612,921.082 728.378,922.918 728.953,923.98C729.834,925.606 732.726,925.345 735.352,925.345C738.819,925.345 745.584,926.179 746.783,923.98C747.993,921.762 746.585,917.684 747.125,914.937L728.697,914.937C728.598,914.951 728.604,915.071 728.612,915.193ZM572.408,898.386L627.262,898.386L627.262,942.151L609.006,942.151L609.006,915.107L590.579,915.107C590.425,916.408 590.494,917.941 590.494,919.458C590.494,920.973 590.277,922.68 590.749,923.638C591.127,924.404 592.667,924.916 593.65,925.174C594.993,925.527 596.492,925.457 597.745,925.516C600.841,925.659 603.686,925.407 606.532,925.516L606.532,942.151L595.015,942.151C591.115,942.151 587.106,942.519 583.754,941.98C581.367,941.597 579.069,940.427 577.185,939.165C575.43,937.99 573.216,936.124 572.664,934.047C572.032,931.666 572.322,928.37 572.322,925.43L572.322,898.643C572.315,898.521 572.308,898.401 572.408,898.386ZM648.249,961.773L629.993,961.773C630.258,940.669 629.918,919.487 630.163,898.386C648.42,898.444 666.903,898.273 685.018,898.472C685.018,904.897 685.018,911.264 685.018,917.923C685.018,922.518 685.177,928.065 684.847,932.34C684.732,933.842 684.34,934.819 683.568,935.923C680.925,939.704 676.264,942.151 670.345,942.151L650.893,942.151L650.893,925.516L658.145,925.516C661.426,925.516 665.616,926.094 666.506,923.98C667.469,921.69 666.317,918.123 666.762,915.107L648.249,915.107L648.249,961.773ZM917.273,999.273L918.979,999.273C923.6,999.484 926.835,1001.58 929.302,1004.05C931.778,1006.52 933.858,1009.74 934.25,1014.2L934.25,1014.88C933.523,1014.79 932.395,1015.09 931.947,1014.71C931.387,1010.91 929.73,1007.63 927.425,1005.5C925.118,1003.37 921.889,1001.65 917.359,1001.83C917.307,1001.83 917.258,1001.82 917.273,1001.75L917.273,999.273ZM679,999.358L773.012,999.358L773.012,1016.08L714.148,1016.08L714.148,1047.22C714.148,1050.72 713.694,1054.39 714.319,1057.45C714.355,1057.63 714.396,1057.91 714.489,1058.14C715.851,1061.52 720.567,1064.67 724.385,1065.47C726.14,1065.84 728.269,1065.73 730.272,1065.73C744.639,1065.73 759.218,1065.66 773.183,1065.82L773.183,1082.71L707.664,1082.71C704.885,1082.35 702.34,1081.21 700.328,1079.55C698.43,1077.98 696.64,1075.84 696.233,1073.15C695.907,1071.01 696.062,1068.54 696.062,1066.16C696.062,1050.01 695.885,1032.28 695.977,1016.16C690.488,1015.97 684.631,1016.13 679,1016.08L679,999.358ZM928.961,1014.88L926.743,1014.88C925.709,1010.09 922.988,1006.98 917.273,1006.87C917.329,1006.1 917.16,1005.1 917.359,1004.48C924.276,1004.9 928.037,1008.47 928.961,1014.88ZM923.501,1014.88L921.368,1014.88C920.681,1013.35 919.634,1012.18 917.273,1012.33L917.273,1009.94C920.972,1009.96 922.967,1011.69 923.501,1014.88ZM856.276,1019.07L911.045,1019.07C911.202,1027.71 911.13,1036.87 911.131,1045.94C911.131,1048.86 911.494,1052.97 910.619,1055.15C909.122,1058.88 904.225,1061.85 899.87,1062.74C897.769,1063.17 895.03,1063 892.277,1063L884.514,1063C879.117,1063 873.569,1063.35 868.902,1063C866.374,1062.81 863.46,1061.48 861.48,1060.18C859.493,1058.88 857.439,1057.02 856.617,1054.98C855.86,1053.1 856.19,1048.79 856.19,1046.36C856.191,1037.37 856.19,1027.92 856.19,1019.32C856.183,1019.2 856.176,1019.08 856.276,1019.07ZM874.362,1036.13L874.362,1040.65C874.362,1042.02 874.128,1043.85 874.703,1044.91C875.584,1046.54 878.476,1046.28 881.102,1046.28C884.569,1046.28 891.334,1047.11 892.533,1044.91C893.743,1042.69 892.335,1038.62 892.875,1035.87L874.447,1035.87C874.348,1035.88 874.354,1036.01 874.362,1036.13ZM718.158,1019.32L773.012,1019.32L773.012,1063.09L754.756,1063.09L754.756,1036.04L736.329,1036.04C736.175,1037.34 736.244,1038.88 736.244,1040.39C736.244,1041.91 736.027,1043.61 736.499,1044.57C736.877,1045.34 738.417,1045.85 739.4,1046.11C740.743,1046.46 742.242,1046.39 743.495,1046.45C746.591,1046.59 749.436,1046.34 752.282,1046.45L752.282,1063.09L740.765,1063.09C736.865,1063.09 732.856,1063.45 729.504,1062.91C727.117,1062.53 724.819,1061.36 722.935,1060.1C721.18,1058.92 718.966,1057.06 718.414,1054.98C717.782,1052.6 718.072,1049.3 718.072,1046.36L718.072,1019.58C718.065,1019.46 718.058,1019.34 718.158,1019.32ZM793.999,1082.71L775.743,1082.71C776.008,1061.6 775.668,1040.42 775.913,1019.32C794.17,1019.38 812.653,1019.21 830.768,1019.41C830.768,1025.83 830.768,1032.2 830.768,1038.86C830.768,1043.45 830.927,1049 830.597,1053.27C830.482,1054.78 830.09,1055.75 829.318,1056.86C826.675,1060.64 822.014,1063.09 816.095,1063.09L796.643,1063.09L796.643,1046.45L803.895,1046.45C807.176,1046.45 811.366,1047.03 812.256,1044.91C813.219,1042.62 812.067,1039.06 812.512,1036.04L793.999,1036.04L793.999,1082.71ZM624.523,999.273L626.229,999.273C630.85,999.484 634.085,1001.58 636.552,1004.05C639.028,1006.52 641.108,1009.74 641.5,1014.2L641.5,1014.88C640.773,1014.79 639.645,1015.09 639.197,1014.71C638.637,1010.91 636.98,1007.63 634.675,1005.5C632.368,1003.37 629.139,1001.65 624.609,1001.83C624.557,1001.83 624.508,1001.82 624.523,1001.75L624.523,999.273ZM636.211,1014.88L633.993,1014.88C632.959,1010.09 630.238,1006.98 624.523,1006.87C624.579,1006.1 624.41,1005.1 624.609,1004.48C631.526,1004.9 635.287,1008.47 636.211,1014.88ZM630.751,1014.88L628.618,1014.88C627.931,1013.35 626.884,1012.18 624.523,1012.33L624.523,1009.94C628.222,1009.96 630.217,1011.69 630.751,1014.88ZM563.526,1019.07L618.295,1019.07C618.452,1027.71 618.38,1036.87 618.381,1045.94C618.381,1048.86 618.744,1052.97 617.869,1055.15C616.372,1058.88 611.475,1061.85 607.12,1062.74C605.019,1063.17 602.28,1063 599.527,1063L591.764,1063C586.367,1063 580.819,1063.35 576.152,1063C573.624,1062.81 570.71,1061.48 568.73,1060.18C566.743,1058.88 564.689,1057.02 563.867,1054.98C563.11,1053.1 563.44,1048.79 563.44,1046.36C563.441,1037.37 563.44,1027.92 563.44,1019.32C563.433,1019.2 563.426,1019.08 563.526,1019.07ZM581.612,1036.13L581.612,1040.65C581.612,1042.02 581.378,1043.85 581.953,1044.91C582.834,1046.54 585.726,1046.28 588.352,1046.28C591.819,1046.28 598.584,1047.11 599.783,1044.91C600.993,1042.69 599.585,1038.62 600.125,1035.87L581.697,1035.87C581.598,1035.88 581.604,1036.01 581.612,1036.13ZM425.408,1019.32L480.262,1019.32L480.262,1063.09L462.006,1063.09L462.006,1036.04L443.579,1036.04C443.425,1037.34 443.494,1038.88 443.494,1040.39C443.494,1041.91 443.277,1043.61 443.749,1044.57C444.127,1045.34 445.667,1045.85 446.65,1046.11C447.993,1046.46 449.492,1046.39 450.745,1046.45C453.841,1046.59 456.686,1046.34 459.532,1046.45L459.532,1063.09L448.015,1063.09C444.115,1063.09 440.106,1063.45 436.754,1062.91C434.367,1062.53 432.069,1061.36 430.185,1060.1C428.43,1058.92 426.216,1057.06 425.664,1054.98C425.032,1052.6 425.322,1049.3 425.322,1046.36L425.322,1019.58C425.315,1019.46 425.308,1019.34 425.408,1019.32ZM501.249,1082.71L482.993,1082.71C483.258,1061.6 482.918,1040.42 483.163,1019.32C501.42,1019.38 519.903,1019.21 538.018,1019.41C538.018,1025.83 538.018,1032.2 538.018,1038.86C538.018,1043.45 538.177,1049 537.847,1053.27C537.732,1054.78 537.34,1055.75 536.568,1056.86C533.925,1060.64 529.264,1063.09 523.345,1063.09L503.893,1063.09L503.893,1046.45L511.145,1046.45C514.426,1046.45 518.616,1047.03 519.506,1044.91C520.469,1042.62 519.317,1039.06 519.762,1036.04L501.249,1036.04L501.249,1082.71ZM1502.77,999.273L1504.48,999.273C1509.1,999.484 1512.34,1001.58 1514.8,1004.05C1517.28,1006.52 1519.36,1009.74 1519.75,1014.2L1519.75,1014.88C1519.02,1014.79 1517.89,1015.09 1517.45,1014.71C1516.89,1010.91 1515.23,1007.63 1512.92,1005.5C1510.62,1003.37 1507.39,1001.65 1502.86,1001.83C1502.81,1001.83 1502.76,1001.82 1502.77,1001.75L1502.77,999.273ZM1264.5,999.358L1358.51,999.358L1358.51,1016.08L1299.65,1016.08L1299.65,1047.22C1299.65,1050.72 1299.19,1054.39 1299.82,1057.45C1299.86,1057.63 1299.9,1057.91 1299.99,1058.14C1301.35,1061.52 1306.07,1064.67 1309.88,1065.47C1311.64,1065.84 1313.77,1065.73 1315.77,1065.73C1330.14,1065.73 1344.72,1065.66 1358.68,1065.82L1358.68,1082.71L1293.16,1082.71C1290.38,1082.35 1287.84,1081.21 1285.83,1079.55C1283.93,1077.98 1282.14,1075.84 1281.73,1073.15C1281.41,1071.01 1281.56,1068.54 1281.56,1066.16C1281.56,1050.01 1281.38,1032.28 1281.48,1016.16C1275.99,1015.97 1270.13,1016.13 1264.5,1016.08L1264.5,999.358ZM1514.46,1014.88L1512.24,1014.88C1511.21,1010.09 1508.49,1006.98 1502.77,1006.87C1502.83,1006.1 1502.66,1005.1 1502.86,1004.48C1509.78,1004.9 1513.54,1008.47 1514.46,1014.88ZM1509,1014.88L1506.87,1014.88C1506.18,1013.35 1505.13,1012.18 1502.77,1012.33L1502.77,1009.94C1506.47,1009.96 1508.47,1011.69 1509,1014.88ZM1441.78,1019.07L1496.55,1019.07C1496.7,1027.71 1496.63,1036.87 1496.63,1045.94C1496.63,1048.86 1496.99,1052.97 1496.12,1055.15C1494.62,1058.88 1489.73,1061.85 1485.37,1062.74C1483.27,1063.17 1480.53,1063 1477.78,1063L1470.01,1063C1464.62,1063 1459.07,1063.35 1454.4,1063C1451.87,1062.81 1448.96,1061.48 1446.98,1060.18C1444.99,1058.88 1442.94,1057.02 1442.12,1054.98C1441.36,1053.1 1441.69,1048.79 1441.69,1046.36C1441.69,1037.37 1441.69,1027.92 1441.69,1019.32C1441.68,1019.2 1441.68,1019.08 1441.78,1019.07ZM1459.86,1036.13L1459.86,1040.65C1459.86,1042.02 1459.63,1043.85 1460.2,1044.91C1461.08,1046.54 1463.98,1046.28 1466.6,1046.28C1470.07,1046.28 1476.83,1047.11 1478.03,1044.91C1479.24,1042.69 1477.84,1038.62 1478.38,1035.87L1459.95,1035.87C1459.85,1035.88 1459.85,1036.01 1459.86,1036.13ZM1303.66,1019.32L1358.51,1019.32L1358.51,1063.09L1340.26,1063.09L1340.26,1036.04L1321.83,1036.04C1321.67,1037.34 1321.74,1038.88 1321.74,1040.39C1321.74,1041.91 1321.53,1043.61 1322,1044.57C1322.38,1045.34 1323.92,1045.85 1324.9,1046.11C1326.24,1046.46 1327.74,1046.39 1329,1046.45C1332.09,1046.59 1334.94,1046.34 1337.78,1046.45L1337.78,1063.09L1326.27,1063.09C1322.37,1063.09 1318.36,1063.45 1315,1062.91C1312.62,1062.53 1310.32,1061.36 1308.43,1060.1C1306.68,1058.92 1304.47,1057.06 1303.91,1054.98C1303.28,1052.6 1303.57,1049.3 1303.57,1046.36L1303.57,1019.58C1303.57,1019.46 1303.56,1019.34 1303.66,1019.32ZM1379.5,1082.71L1361.24,1082.71C1361.51,1061.6 1361.17,1040.42 1361.41,1019.32C1379.67,1019.38 1398.15,1019.21 1416.27,1019.41C1416.27,1025.83 1416.27,1032.2 1416.27,1038.86C1416.27,1043.45 1416.43,1049 1416.1,1053.27C1415.98,1054.78 1415.59,1055.75 1414.82,1056.86C1412.17,1060.64 1407.51,1063.09 1401.6,1063.09L1382.14,1063.09L1382.14,1046.45L1389.39,1046.45C1392.68,1046.45 1396.87,1047.03 1397.76,1044.91C1398.72,1042.62 1397.57,1039.06 1398.01,1036.04L1379.5,1036.04L1379.5,1082.71ZM1357.02,878.339L1358.73,878.339C1363.35,878.55 1366.59,880.649 1369.05,883.116C1371.53,885.592 1373.61,888.81 1374,893.268L1374,893.95C1373.27,893.853 1372.14,894.156 1371.7,893.78C1371.14,889.978 1369.48,886.693 1367.17,884.566C1364.87,882.437 1361.64,880.718 1357.11,880.898C1357.06,880.893 1357.01,880.885 1357.02,880.812L1357.02,878.339ZM1118.75,878.424L1212.76,878.424L1212.76,895.145L1153.9,895.145L1153.9,926.283C1153.9,929.791 1153.44,933.458 1154.07,936.521C1154.11,936.699 1154.15,936.972 1154.24,937.203C1155.6,940.581 1160.32,943.74 1164.13,944.54C1165.89,944.907 1168.02,944.795 1170.02,944.795C1184.39,944.795 1198.97,944.725 1212.93,944.881L1212.93,961.773L1147.41,961.773C1144.63,961.419 1142.09,960.28 1140.08,958.616C1138.18,957.047 1136.39,954.901 1135.98,952.218C1135.66,950.077 1135.81,947.604 1135.81,945.222C1135.81,929.076 1135.63,911.35 1135.73,895.23C1130.24,895.031 1124.38,895.201 1118.75,895.145L1118.75,878.424ZM1368.71,893.95L1366.49,893.95C1365.46,889.155 1362.74,886.046 1357.02,885.931C1357.08,885.163 1356.91,884.169 1357.11,883.543C1364.03,883.962 1367.79,887.537 1368.71,893.95ZM1363.25,893.95L1361.12,893.95C1360.43,892.419 1359.38,891.248 1357.02,891.391L1357.02,889.002C1360.72,889.029 1362.72,890.76 1363.25,893.95ZM1296.03,898.131L1350.8,898.131C1350.95,906.775 1350.88,915.937 1350.88,925.003C1350.88,927.925 1351.24,932.037 1350.37,934.217C1348.87,937.946 1343.98,940.915 1339.62,941.81C1337.52,942.241 1334.78,942.066 1332.03,942.066L1324.26,942.066C1318.87,942.066 1313.32,942.413 1308.65,942.066C1306.12,941.877 1303.21,940.545 1301.23,939.25C1299.24,937.95 1297.19,936.087 1296.37,934.047C1295.61,932.164 1295.94,927.853 1295.94,925.43C1295.94,916.435 1295.94,906.99 1295.94,898.386C1295.93,898.266 1295.93,898.145 1296.03,898.131ZM1314.11,915.193L1314.11,919.714C1314.11,921.082 1313.88,922.918 1314.45,923.98C1315.33,925.606 1318.23,925.345 1320.85,925.345C1324.32,925.345 1331.08,926.179 1332.28,923.98C1333.49,921.762 1332.09,917.684 1332.62,914.937L1314.2,914.937C1314.1,914.951 1314.1,915.071 1314.11,915.193ZM1157.91,898.386L1212.76,898.386L1212.76,942.151L1194.51,942.151L1194.51,915.107L1176.08,915.107C1175.92,916.408 1175.99,917.941 1175.99,919.458C1175.99,920.973 1175.78,922.68 1176.25,923.638C1176.63,924.404 1178.17,924.916 1179.15,925.174C1180.49,925.527 1181.99,925.457 1183.25,925.516C1186.34,925.659 1189.19,925.407 1192.03,925.516L1192.03,942.151L1180.52,942.151C1176.62,942.151 1172.61,942.519 1169.25,941.98C1166.87,941.597 1164.57,940.427 1162.68,939.165C1160.93,937.99 1158.72,936.124 1158.16,934.047C1157.53,931.666 1157.82,928.37 1157.82,925.43L1157.82,898.643C1157.82,898.521 1157.81,898.401 1157.91,898.386ZM1233.75,961.773L1215.49,961.773C1215.76,940.669 1215.42,919.487 1215.66,898.386C1233.92,898.444 1252.4,898.273 1270.52,898.472C1270.52,904.897 1270.52,911.264 1270.52,917.923C1270.52,922.518 1270.68,928.065 1270.35,932.34C1270.23,933.842 1269.84,934.819 1269.07,935.923C1266.42,939.704 1261.76,942.151 1255.85,942.151L1236.39,942.151L1236.39,925.516L1243.64,925.516C1246.93,925.516 1251.12,926.094 1252.01,923.98C1252.97,921.69 1251.82,918.123 1252.26,915.107L1233.75,915.107L1233.75,961.773ZM1649.77,878.339L1651.48,878.339C1656.1,878.55 1659.34,880.649 1661.8,883.116C1664.28,885.592 1666.36,888.81 1666.75,893.268L1666.75,893.95C1666.02,893.853 1664.89,894.156 1664.45,893.78C1663.89,889.978 1662.23,886.693 1659.92,884.566C1657.62,882.437 1654.39,880.718 1649.86,880.898C1649.81,880.893 1649.76,880.885 1649.77,880.812L1649.77,878.339ZM1411.5,878.424L1505.51,878.424L1505.51,895.145L1446.65,895.145L1446.65,926.283C1446.65,929.791 1446.19,933.458 1446.82,936.521C1446.86,936.699 1446.9,936.972 1446.99,937.203C1448.35,940.581 1453.07,943.74 1456.88,944.54C1458.64,944.907 1460.77,944.795 1462.77,944.795C1477.14,944.795 1491.72,944.725 1505.68,944.881L1505.68,961.773L1440.16,961.773C1437.38,961.419 1434.84,960.28 1432.83,958.616C1430.93,957.047 1429.14,954.901 1428.73,952.218C1428.41,950.077 1428.56,947.604 1428.56,945.222C1428.56,929.076 1428.38,911.35 1428.48,895.23C1422.99,895.031 1417.13,895.201 1411.5,895.145L1411.5,878.424ZM1661.46,893.95L1659.24,893.95C1658.21,889.155 1655.49,886.046 1649.77,885.931C1649.83,885.163 1649.66,884.169 1649.86,883.543C1656.78,883.962 1660.54,887.537 1661.46,893.95ZM1656,893.95L1653.87,893.95C1653.18,892.419 1652.13,891.248 1649.77,891.391L1649.77,889.002C1653.47,889.029 1655.47,890.76 1656,893.95ZM1588.78,898.131L1643.55,898.131C1643.7,906.775 1643.63,915.937 1643.63,925.003C1643.63,927.925 1643.99,932.037 1643.12,934.217C1641.62,937.946 1636.73,940.915 1632.37,941.81C1630.27,942.241 1627.53,942.066 1624.78,942.066L1617.01,942.066C1611.62,942.066 1606.07,942.413 1601.4,942.066C1598.87,941.877 1595.96,940.545 1593.98,939.25C1591.99,937.95 1589.94,936.087 1589.12,934.047C1588.36,932.164 1588.69,927.853 1588.69,925.43C1588.69,916.435 1588.69,906.99 1588.69,898.386C1588.68,898.266 1588.68,898.145 1588.78,898.131ZM1606.86,915.193L1606.86,919.714C1606.86,921.082 1606.63,922.918 1607.2,923.98C1608.08,925.606 1610.98,925.345 1613.6,925.345C1617.07,925.345 1623.83,926.179 1625.03,923.98C1626.24,921.762 1624.84,917.684 1625.38,914.937L1606.95,914.937C1606.85,914.951 1606.85,915.071 1606.86,915.193ZM1450.66,898.386L1505.51,898.386L1505.51,942.151L1487.26,942.151L1487.26,915.107L1468.83,915.107C1468.67,916.408 1468.74,917.941 1468.74,919.458C1468.74,920.973 1468.53,922.68 1469,923.638C1469.38,924.404 1470.92,924.916 1471.9,925.174C1473.24,925.527 1474.74,925.457 1476,925.516C1479.09,925.659 1481.94,925.407 1484.78,925.516L1484.78,942.151L1473.27,942.151C1469.37,942.151 1465.36,942.519 1462,941.98C1459.62,941.597 1457.32,940.427 1455.43,939.165C1453.68,937.99 1451.47,936.124 1450.91,934.047C1450.28,931.666 1450.57,928.37 1450.57,925.43L1450.57,898.643C1450.57,898.521 1450.56,898.401 1450.66,898.386ZM1526.5,961.773L1508.24,961.773C1508.51,940.669 1508.17,919.487 1508.41,898.386C1526.67,898.444 1545.15,898.273 1563.27,898.472C1563.27,904.897 1563.27,911.264 1563.27,917.923C1563.27,922.518 1563.43,928.065 1563.1,932.34C1562.98,933.842 1562.59,934.819 1561.82,935.923C1559.17,939.704 1554.51,942.151 1548.6,942.151L1529.14,942.151L1529.14,925.516L1536.39,925.516C1539.68,925.516 1543.87,926.094 1544.76,923.98C1545.72,921.69 1544.57,918.123 1545.01,915.107L1526.5,915.107L1526.5,961.773ZM1210.02,999.273L1211.73,999.273C1216.35,999.484 1219.59,1001.58 1222.05,1004.05C1224.53,1006.52 1226.61,1009.74 1227,1014.2L1227,1014.88C1226.27,1014.79 1225.14,1015.09 1224.7,1014.71C1224.14,1010.91 1222.48,1007.63 1220.17,1005.5C1217.87,1003.37 1214.64,1001.65 1210.11,1001.83C1210.06,1001.83 1210.01,1001.82 1210.02,1001.75L1210.02,999.273ZM971.75,999.358L1065.76,999.358L1065.76,1016.08L1006.9,1016.08L1006.9,1047.22C1006.9,1050.72 1006.44,1054.39 1007.07,1057.45C1007.11,1057.63 1007.15,1057.91 1007.24,1058.14C1008.6,1061.52 1013.32,1064.67 1017.13,1065.47C1018.89,1065.84 1021.02,1065.73 1023.02,1065.73C1037.39,1065.73 1051.97,1065.66 1065.93,1065.82L1065.93,1082.71L1000.41,1082.71C997.635,1082.35 995.09,1081.21 993.078,1079.55C991.18,1077.98 989.39,1075.84 988.983,1073.15C988.657,1071.01 988.812,1068.54 988.812,1066.16C988.812,1050.01 988.635,1032.28 988.727,1016.16C983.238,1015.97 977.381,1016.13 971.75,1016.08L971.75,999.358ZM1221.71,1014.88L1219.49,1014.88C1218.46,1010.09 1215.74,1006.98 1210.02,1006.87C1210.08,1006.1 1209.91,1005.1 1210.11,1004.48C1217.03,1004.9 1220.79,1008.47 1221.71,1014.88ZM1216.25,1014.88L1214.12,1014.88C1213.43,1013.35 1212.38,1012.18 1210.02,1012.33L1210.02,1009.94C1213.72,1009.96 1215.72,1011.69 1216.25,1014.88ZM1149.03,1019.07L1203.8,1019.07C1203.95,1027.71 1203.88,1036.87 1203.88,1045.94C1203.88,1048.86 1204.24,1052.97 1203.37,1055.15C1201.87,1058.88 1196.98,1061.85 1192.62,1062.74C1190.52,1063.17 1187.78,1063 1185.03,1063L1177.26,1063C1171.87,1063 1166.32,1063.35 1161.65,1063C1159.12,1062.81 1156.21,1061.48 1154.23,1060.18C1152.24,1058.88 1150.19,1057.02 1149.37,1054.98C1148.61,1053.1 1148.94,1048.79 1148.94,1046.36C1148.94,1037.37 1148.94,1027.92 1148.94,1019.32C1148.93,1019.2 1148.93,1019.08 1149.03,1019.07ZM1167.11,1036.13L1167.11,1040.65C1167.11,1042.02 1166.88,1043.85 1167.45,1044.91C1168.33,1046.54 1171.23,1046.28 1173.85,1046.28C1177.32,1046.28 1184.08,1047.11 1185.28,1044.91C1186.49,1042.69 1185.09,1038.62 1185.62,1035.87L1167.2,1035.87C1167.1,1035.88 1167.1,1036.01 1167.11,1036.13ZM1010.91,1019.32L1065.76,1019.32L1065.76,1063.09L1047.51,1063.09L1047.51,1036.04L1029.08,1036.04C1028.92,1037.34 1028.99,1038.88 1028.99,1040.39C1028.99,1041.91 1028.78,1043.61 1029.25,1044.57C1029.63,1045.34 1031.17,1045.85 1032.15,1046.11C1033.49,1046.46 1034.99,1046.39 1036.25,1046.45C1039.34,1046.59 1042.19,1046.34 1045.03,1046.45L1045.03,1063.09L1033.52,1063.09C1029.62,1063.09 1025.61,1063.45 1022.25,1062.91C1019.87,1062.53 1017.57,1061.36 1015.69,1060.1C1013.93,1058.92 1011.72,1057.06 1011.16,1054.98C1010.53,1052.6 1010.82,1049.3 1010.82,1046.36L1010.82,1019.58C1010.82,1019.46 1010.81,1019.34 1010.91,1019.32ZM1086.75,1082.71L1068.49,1082.71C1068.76,1061.6 1068.42,1040.42 1068.66,1019.32C1086.92,1019.38 1105.4,1019.21 1123.52,1019.41C1123.52,1025.83 1123.52,1032.2 1123.52,1038.86C1123.52,1043.45 1123.68,1049 1123.35,1053.27C1123.23,1054.78 1122.84,1055.75 1122.07,1056.86C1119.42,1060.64 1114.76,1063.09 1108.85,1063.09L1089.39,1063.09L1089.39,1046.45L1096.64,1046.45C1099.93,1046.45 1104.12,1047.03 1105.01,1044.91C1105.97,1042.62 1104.82,1039.06 1105.26,1036.04L1086.75,1036.04L1086.75,1082.71ZM2435.5,999.358L2529.51,999.358L2529.51,1016.08L2470.65,1016.08L2470.65,1047.22C2470.65,1050.72 2470.19,1054.39 2470.82,1057.45C2470.86,1057.63 2470.9,1057.91 2470.99,1058.14C2472.35,1061.52 2477.07,1064.67 2480.89,1065.47C2482.64,1065.84 2484.77,1065.73 2486.77,1065.73C2501.14,1065.73 2515.72,1065.66 2529.68,1065.82L2529.68,1082.71L2464.16,1082.71C2461.39,1082.35 2458.84,1081.21 2456.83,1079.55C2454.93,1077.98 2453.14,1075.84 2452.73,1073.15C2452.41,1071.01 2452.56,1068.54 2452.56,1066.16C2452.56,1050.01 2452.39,1032.28 2452.48,1016.16C2446.99,1015.97 2441.13,1016.13 2435.5,1016.08L2435.5,999.358ZM2612.78,1019.07L2667.55,1019.07C2667.7,1027.71 2667.63,1036.87 2667.63,1045.94C2667.63,1048.86 2667.99,1052.97 2667.12,1055.15C2665.62,1058.88 2660.72,1061.85 2656.37,1062.74C2654.27,1063.17 2651.53,1063 2648.78,1063L2641.01,1063C2635.62,1063 2630.07,1063.35 2625.4,1063C2622.87,1062.81 2619.96,1061.48 2617.98,1060.18C2615.99,1058.88 2613.94,1057.02 2613.12,1054.98C2612.36,1053.1 2612.69,1048.79 2612.69,1046.36C2612.69,1037.37 2612.69,1027.92 2612.69,1019.32C2612.68,1019.2 2612.68,1019.08 2612.78,1019.07ZM2630.86,1036.13L2630.86,1040.65C2630.86,1042.02 2630.63,1043.85 2631.2,1044.91C2632.08,1046.54 2634.98,1046.28 2637.6,1046.28C2641.07,1046.28 2647.83,1047.11 2649.03,1044.91C2650.24,1042.69 2648.84,1038.62 2649.38,1035.87L2630.95,1035.87C2630.85,1035.88 2630.85,1036.01 2630.86,1036.13ZM2474.66,1019.32L2529.51,1019.32L2529.51,1063.09L2511.26,1063.09L2511.26,1036.04L2492.83,1036.04C2492.68,1037.34 2492.74,1038.88 2492.74,1040.39C2492.74,1041.91 2492.53,1043.61 2493,1044.57C2493.38,1045.34 2494.92,1045.85 2495.9,1046.11C2497.24,1046.46 2498.74,1046.39 2499.99,1046.45C2503.09,1046.59 2505.94,1046.34 2508.78,1046.45L2508.78,1063.09L2497.26,1063.09C2493.37,1063.09 2489.36,1063.45 2486,1062.91C2483.62,1062.53 2481.32,1061.36 2479.43,1060.1C2477.68,1058.92 2475.47,1057.06 2474.91,1054.98C2474.28,1052.6 2474.57,1049.3 2474.57,1046.36L2474.57,1019.58C2474.57,1019.46 2474.56,1019.34 2474.66,1019.32ZM2550.5,1082.71L2532.24,1082.71C2532.51,1061.6 2532.17,1040.42 2532.41,1019.32C2550.67,1019.38 2569.15,1019.21 2587.27,1019.41C2587.27,1025.83 2587.27,1032.2 2587.27,1038.86C2587.27,1043.45 2587.43,1049 2587.1,1053.27C2586.98,1054.78 2586.59,1055.75 2585.82,1056.86C2583.18,1060.64 2578.51,1063.09 2572.6,1063.09L2553.14,1063.09L2553.14,1046.45L2560.39,1046.45C2563.68,1046.45 2567.87,1047.03 2568.76,1044.91C2569.72,1042.62 2568.57,1039.06 2569.01,1036.04L2550.5,1036.04L2550.5,1082.71ZM2381.02,999.273L2382.73,999.273C2387.35,999.484 2390.59,1001.58 2393.05,1004.05C2395.53,1006.52 2397.61,1009.74 2398,1014.2L2398,1014.88C2397.27,1014.79 2396.14,1015.09 2395.7,1014.71C2395.14,1010.91 2393.48,1007.63 2391.18,1005.5C2388.87,1003.37 2385.64,1001.65 2381.11,1001.83C2381.06,1001.83 2381.01,1001.82 2381.02,1001.75L2381.02,999.273ZM2142.75,999.358L2236.76,999.358L2236.76,1016.08L2177.9,1016.08L2177.9,1047.22C2177.9,1050.72 2177.44,1054.39 2178.07,1057.45C2178.11,1057.63 2178.15,1057.91 2178.24,1058.14C2179.6,1061.52 2184.32,1064.67 2188.14,1065.47C2189.89,1065.84 2192.02,1065.73 2194.02,1065.73C2208.39,1065.73 2222.97,1065.66 2236.93,1065.82L2236.93,1082.71L2171.41,1082.71C2168.64,1082.35 2166.09,1081.21 2164.08,1079.55C2162.18,1077.98 2160.39,1075.84 2159.98,1073.15C2159.66,1071.01 2159.81,1068.54 2159.81,1066.16C2159.81,1050.01 2159.64,1032.28 2159.73,1016.16C2154.24,1015.97 2148.38,1016.13 2142.75,1016.08L2142.75,999.358ZM2392.71,1014.88L2390.49,1014.88C2389.46,1010.09 2386.74,1006.98 2381.02,1006.87C2381.08,1006.1 2380.91,1005.1 2381.11,1004.48C2388.03,1004.9 2391.79,1008.47 2392.71,1014.88ZM2387.25,1014.88L2385.12,1014.88C2384.43,1013.35 2383.38,1012.18 2381.02,1012.33L2381.02,1009.94C2384.72,1009.96 2386.72,1011.69 2387.25,1014.88ZM2320.03,1019.07L2374.8,1019.07C2374.95,1027.71 2374.88,1036.87 2374.88,1045.94C2374.88,1048.86 2375.24,1052.97 2374.37,1055.15C2372.87,1058.88 2367.97,1061.85 2363.62,1062.74C2361.52,1063.17 2358.78,1063 2356.03,1063L2348.26,1063C2342.87,1063 2337.32,1063.35 2332.65,1063C2330.12,1062.81 2327.21,1061.48 2325.23,1060.18C2323.24,1058.88 2321.19,1057.02 2320.37,1054.98C2319.61,1053.1 2319.94,1048.79 2319.94,1046.36C2319.94,1037.37 2319.94,1027.92 2319.94,1019.32C2319.93,1019.2 2319.93,1019.08 2320.03,1019.07ZM2338.11,1036.13L2338.11,1040.65C2338.11,1042.02 2337.88,1043.85 2338.45,1044.91C2339.33,1046.54 2342.23,1046.28 2344.85,1046.28C2348.32,1046.28 2355.08,1047.11 2356.28,1044.91C2357.49,1042.69 2356.09,1038.62 2356.62,1035.87L2338.2,1035.87C2338.1,1035.88 2338.1,1036.01 2338.11,1036.13ZM2181.91,1019.32L2236.76,1019.32L2236.76,1063.09L2218.51,1063.09L2218.51,1036.04L2200.08,1036.04C2199.93,1037.34 2199.99,1038.88 2199.99,1040.39C2199.99,1041.91 2199.78,1043.61 2200.25,1044.57C2200.63,1045.34 2202.17,1045.85 2203.15,1046.11C2204.49,1046.46 2205.99,1046.39 2207.24,1046.45C2210.34,1046.59 2213.19,1046.34 2216.03,1046.45L2216.03,1063.09L2204.51,1063.09C2200.62,1063.09 2196.61,1063.45 2193.25,1062.91C2190.87,1062.53 2188.57,1061.36 2186.68,1060.1C2184.93,1058.92 2182.72,1057.06 2182.16,1054.98C2181.53,1052.6 2181.82,1049.3 2181.82,1046.36L2181.82,1019.58C2181.82,1019.46 2181.81,1019.34 2181.91,1019.32ZM2257.75,1082.71L2239.49,1082.71C2239.76,1061.6 2239.42,1040.42 2239.66,1019.32C2257.92,1019.38 2276.4,1019.21 2294.52,1019.41C2294.52,1025.83 2294.52,1032.2 2294.52,1038.86C2294.52,1043.45 2294.68,1049 2294.35,1053.27C2294.23,1054.78 2293.84,1055.75 2293.07,1056.86C2290.43,1060.64 2285.76,1063.09 2279.85,1063.09L2260.39,1063.09L2260.39,1046.45L2267.64,1046.45C2270.93,1046.45 2275.12,1047.03 2276.01,1044.91C2276.97,1042.62 2275.82,1039.06 2276.26,1036.04L2257.75,1036.04L2257.75,1082.71ZM2088.27,999.273L2089.98,999.273C2094.6,999.484 2097.84,1001.58 2100.3,1004.05C2102.78,1006.52 2104.86,1009.74 2105.25,1014.2L2105.25,1014.88C2104.52,1014.79 2103.39,1015.09 2102.95,1014.71C2102.39,1010.91 2100.73,1007.63 2098.43,1005.5C2096.12,1003.37 2092.89,1001.65 2088.36,1001.83C2088.31,1001.83 2088.26,1001.82 2088.27,1001.75L2088.27,999.273ZM1850,999.358L1944.01,999.358L1944.01,1016.08L1885.15,1016.08L1885.15,1047.22C1885.15,1050.72 1884.69,1054.39 1885.32,1057.45C1885.36,1057.63 1885.4,1057.91 1885.49,1058.14C1886.85,1061.52 1891.57,1064.67 1895.38,1065.47C1897.14,1065.84 1899.27,1065.73 1901.27,1065.73C1915.64,1065.73 1930.22,1065.66 1944.18,1065.82L1944.18,1082.71L1878.66,1082.71C1875.88,1082.35 1873.34,1081.21 1871.33,1079.55C1869.43,1077.98 1867.64,1075.84 1867.23,1073.15C1866.91,1071.01 1867.06,1068.54 1867.06,1066.16C1867.06,1050.01 1866.88,1032.28 1866.98,1016.16C1861.49,1015.97 1855.63,1016.13 1850,1016.08L1850,999.358ZM2099.96,1014.88L2097.74,1014.88C2096.71,1010.09 2093.99,1006.98 2088.27,1006.87C2088.33,1006.1 2088.16,1005.1 2088.36,1004.48C2095.28,1004.9 2099.04,1008.47 2099.96,1014.88ZM2094.5,1014.88L2092.37,1014.88C2091.68,1013.35 2090.63,1012.18 2088.27,1012.33L2088.27,1009.94C2091.97,1009.96 2093.97,1011.69 2094.5,1014.88ZM2027.28,1019.07L2082.05,1019.07C2082.2,1027.71 2082.13,1036.87 2082.13,1045.94C2082.13,1048.86 2082.49,1052.97 2081.62,1055.15C2080.12,1058.88 2075.22,1061.85 2070.87,1062.74C2068.77,1063.17 2066.03,1063 2063.28,1063L2055.51,1063C2050.12,1063 2044.57,1063.35 2039.9,1063C2037.37,1062.81 2034.46,1061.48 2032.48,1060.18C2030.49,1058.88 2028.44,1057.02 2027.62,1054.98C2026.86,1053.1 2027.19,1048.79 2027.19,1046.36C2027.19,1037.37 2027.19,1027.92 2027.19,1019.32C2027.18,1019.2 2027.18,1019.08 2027.28,1019.07ZM2045.36,1036.13L2045.36,1040.65C2045.36,1042.02 2045.13,1043.85 2045.7,1044.91C2046.58,1046.54 2049.48,1046.28 2052.1,1046.28C2055.57,1046.28 2062.33,1047.11 2063.53,1044.91C2064.74,1042.69 2063.34,1038.62 2063.88,1035.87L2045.45,1035.87C2045.35,1035.88 2045.35,1036.01 2045.36,1036.13ZM1889.16,1019.32L1944.01,1019.32L1944.01,1063.09L1925.76,1063.09L1925.76,1036.04L1907.33,1036.04C1907.17,1037.34 1907.24,1038.88 1907.24,1040.39C1907.24,1041.91 1907.03,1043.61 1907.5,1044.57C1907.88,1045.34 1909.42,1045.85 1910.4,1046.11C1911.74,1046.46 1913.24,1046.39 1914.5,1046.45C1917.59,1046.59 1920.44,1046.34 1923.28,1046.45L1923.28,1063.09L1911.77,1063.09C1907.87,1063.09 1903.86,1063.45 1900.5,1062.91C1898.12,1062.53 1895.82,1061.36 1893.93,1060.1C1892.18,1058.92 1889.97,1057.06 1889.41,1054.98C1888.78,1052.6 1889.07,1049.3 1889.07,1046.36L1889.07,1019.58C1889.07,1019.46 1889.06,1019.34 1889.16,1019.32ZM1965,1082.71L1946.74,1082.71C1947.01,1061.6 1946.67,1040.42 1946.91,1019.32C1965.17,1019.38 1983.65,1019.21 2001.77,1019.41C2001.77,1025.83 2001.77,1032.2 2001.77,1038.86C2001.77,1043.45 2001.93,1049 2001.6,1053.27C2001.48,1054.78 2001.09,1055.75 2000.32,1056.86C1997.67,1060.64 1993.01,1063.09 1987.1,1063.09L1967.64,1063.09L1967.64,1046.45L1974.89,1046.45C1978.18,1046.45 1982.37,1047.03 1983.26,1044.91C1984.22,1042.62 1983.07,1039.06 1983.51,1036.04L1965,1036.04L1965,1082.71ZM1795.52,999.273L1797.23,999.273C1801.85,999.484 1805.09,1001.58 1807.55,1004.05C1810.03,1006.52 1812.11,1009.74 1812.5,1014.2L1812.5,1014.88C1811.77,1014.79 1810.64,1015.09 1810.2,1014.71C1809.64,1010.91 1807.98,1007.63 1805.67,1005.5C1803.37,1003.37 1800.14,1001.65 1795.61,1001.83C1795.56,1001.83 1795.51,1001.82 1795.52,1001.75L1795.52,999.273ZM1557.25,999.358L1651.26,999.358L1651.26,1016.08L1592.4,1016.08L1592.4,1047.22C1592.4,1050.72 1591.94,1054.39 1592.57,1057.45C1592.61,1057.63 1592.65,1057.91 1592.74,1058.14C1594.1,1061.52 1598.82,1064.67 1602.63,1065.47C1604.39,1065.84 1606.52,1065.73 1608.52,1065.73C1622.89,1065.73 1637.47,1065.66 1651.43,1065.82L1651.43,1082.71L1585.91,1082.71C1583.13,1082.35 1580.59,1081.21 1578.58,1079.55C1576.68,1077.98 1574.89,1075.84 1574.48,1073.15C1574.16,1071.01 1574.31,1068.54 1574.31,1066.16C1574.31,1050.01 1574.13,1032.28 1574.23,1016.16C1568.74,1015.97 1562.88,1016.13 1557.25,1016.08L1557.25,999.358ZM1807.21,1014.88L1804.99,1014.88C1803.96,1010.09 1801.24,1006.98 1795.52,1006.87C1795.58,1006.1 1795.41,1005.1 1795.61,1004.48C1802.53,1004.9 1806.29,1008.47 1807.21,1014.88ZM1801.75,1014.88L1799.62,1014.88C1798.93,1013.35 1797.88,1012.18 1795.52,1012.33L1795.52,1009.94C1799.22,1009.96 1801.22,1011.69 1801.75,1014.88ZM1734.53,1019.07L1789.3,1019.07C1789.45,1027.71 1789.38,1036.87 1789.38,1045.94C1789.38,1048.86 1789.74,1052.97 1788.87,1055.15C1787.37,1058.88 1782.48,1061.85 1778.12,1062.74C1776.02,1063.17 1773.28,1063 1770.53,1063L1762.76,1063C1757.37,1063 1751.82,1063.35 1747.15,1063C1744.62,1062.81 1741.71,1061.48 1739.73,1060.18C1737.74,1058.88 1735.69,1057.02 1734.87,1054.98C1734.11,1053.1 1734.44,1048.79 1734.44,1046.36C1734.44,1037.37 1734.44,1027.92 1734.44,1019.32C1734.43,1019.2 1734.43,1019.08 1734.53,1019.07ZM1752.61,1036.13L1752.61,1040.65C1752.61,1042.02 1752.38,1043.85 1752.95,1044.91C1753.83,1046.54 1756.73,1046.28 1759.35,1046.28C1762.82,1046.28 1769.58,1047.11 1770.78,1044.91C1771.99,1042.69 1770.59,1038.62 1771.12,1035.87L1752.7,1035.87C1752.6,1035.88 1752.6,1036.01 1752.61,1036.13ZM1596.41,1019.32L1651.26,1019.32L1651.26,1063.09L1633.01,1063.09L1633.01,1036.04L1614.58,1036.04C1614.42,1037.34 1614.49,1038.88 1614.49,1040.39C1614.49,1041.91 1614.28,1043.61 1614.75,1044.57C1615.13,1045.34 1616.67,1045.85 1617.65,1046.11C1618.99,1046.46 1620.49,1046.39 1621.75,1046.45C1624.84,1046.59 1627.69,1046.34 1630.53,1046.45L1630.53,1063.09L1619.02,1063.09C1615.12,1063.09 1611.11,1063.45 1607.75,1062.91C1605.37,1062.53 1603.07,1061.36 1601.18,1060.1C1599.43,1058.92 1597.22,1057.06 1596.66,1054.98C1596.03,1052.6 1596.32,1049.3 1596.32,1046.36L1596.32,1019.58C1596.32,1019.46 1596.31,1019.34 1596.41,1019.32ZM1672.25,1082.71L1653.99,1082.71C1654.26,1061.6 1653.92,1040.42 1654.16,1019.32C1672.42,1019.38 1690.9,1019.21 1709.02,1019.41C1709.02,1025.83 1709.02,1032.2 1709.02,1038.86C1709.02,1043.45 1709.18,1049 1708.85,1053.27C1708.73,1054.78 1708.34,1055.75 1707.57,1056.86C1704.92,1060.64 1700.26,1063.09 1694.35,1063.09L1674.89,1063.09L1674.89,1046.45L1682.14,1046.45C1685.43,1046.45 1689.62,1047.03 1690.51,1044.91C1691.47,1042.62 1690.32,1039.06 1690.76,1036.04L1672.25,1036.04L1672.25,1082.71ZM2528.02,878.339L2529.73,878.339C2534.35,878.55 2537.59,880.649 2540.05,883.116C2542.53,885.592 2544.61,888.81 2545,893.268L2545,893.95C2544.27,893.853 2543.14,894.156 2542.7,893.78C2542.14,889.978 2540.48,886.693 2538.18,884.566C2535.87,882.437 2532.64,880.718 2528.11,880.898C2528.06,880.893 2528.01,880.885 2528.02,880.812L2528.02,878.339ZM2289.75,878.424L2383.76,878.424L2383.76,895.145L2324.9,895.145L2324.9,926.283C2324.9,929.791 2324.44,933.458 2325.07,936.521C2325.11,936.699 2325.15,936.972 2325.24,937.203C2326.6,940.581 2331.32,943.74 2335.14,944.54C2336.89,944.907 2339.02,944.795 2341.02,944.795C2355.39,944.795 2369.97,944.725 2383.93,944.881L2383.93,961.773L2318.41,961.773C2315.64,961.419 2313.09,960.28 2311.08,958.616C2309.18,957.047 2307.39,954.901 2306.98,952.218C2306.66,950.077 2306.81,947.604 2306.81,945.222C2306.81,929.076 2306.64,911.35 2306.73,895.23C2301.24,895.031 2295.38,895.201 2289.75,895.145L2289.75,878.424ZM2539.71,893.95L2537.49,893.95C2536.46,889.155 2533.74,886.046 2528.02,885.931C2528.08,885.163 2527.91,884.169 2528.11,883.543C2535.03,883.962 2538.79,887.537 2539.71,893.95ZM2534.25,893.95L2532.12,893.95C2531.43,892.419 2530.38,891.248 2528.02,891.391L2528.02,889.002C2531.72,889.029 2533.72,890.76 2534.25,893.95ZM2467.03,898.131L2521.8,898.131C2521.95,906.775 2521.88,915.937 2521.88,925.003C2521.88,927.925 2522.24,932.037 2521.37,934.217C2519.87,937.946 2514.97,940.915 2510.62,941.81C2508.52,942.241 2505.78,942.066 2503.03,942.066L2495.26,942.066C2489.87,942.066 2484.32,942.413 2479.65,942.066C2477.12,941.877 2474.21,940.545 2472.23,939.25C2470.24,937.95 2468.19,936.087 2467.37,934.047C2466.61,932.164 2466.94,927.853 2466.94,925.43C2466.94,916.435 2466.94,906.99 2466.94,898.386C2466.93,898.266 2466.93,898.145 2467.03,898.131ZM2485.11,915.193L2485.11,919.714C2485.11,921.082 2484.88,922.918 2485.45,923.98C2486.33,925.606 2489.23,925.345 2491.85,925.345C2495.32,925.345 2502.08,926.179 2503.28,923.98C2504.49,921.762 2503.09,917.684 2503.62,914.937L2485.2,914.937C2485.1,914.951 2485.1,915.071 2485.11,915.193ZM2328.91,898.386L2383.76,898.386L2383.76,942.151L2365.51,942.151L2365.51,915.107L2347.08,915.107C2346.93,916.408 2346.99,917.941 2346.99,919.458C2346.99,920.973 2346.78,922.68 2347.25,923.638C2347.63,924.404 2349.17,924.916 2350.15,925.174C2351.49,925.527 2352.99,925.457 2354.24,925.516C2357.34,925.659 2360.19,925.407 2363.03,925.516L2363.03,942.151L2351.51,942.151C2347.62,942.151 2343.61,942.519 2340.25,941.98C2337.87,941.597 2335.57,940.427 2333.68,939.165C2331.93,937.99 2329.72,936.124 2329.16,934.047C2328.53,931.666 2328.82,928.37 2328.82,925.43L2328.82,898.643C2328.82,898.521 2328.81,898.401 2328.91,898.386ZM2404.75,961.773L2386.49,961.773C2386.76,940.669 2386.42,919.487 2386.66,898.386C2404.92,898.444 2423.4,898.273 2441.52,898.472C2441.52,904.897 2441.52,911.264 2441.52,917.923C2441.52,922.518 2441.68,928.065 2441.35,932.34C2441.23,933.842 2440.84,934.819 2440.07,935.923C2437.43,939.704 2432.76,942.151 2426.85,942.151L2407.39,942.151L2407.39,925.516L2414.64,925.516C2417.93,925.516 2422.12,926.094 2423.01,923.98C2423.97,921.69 2422.82,918.123 2423.26,915.107L2404.75,915.107L2404.75,961.773ZM2235.27,878.339L2236.98,878.339C2241.6,878.55 2244.84,880.649 2247.3,883.116C2249.78,885.592 2251.86,888.81 2252.25,893.268L2252.25,893.95C2251.52,893.853 2250.39,894.156 2249.95,893.78C2249.39,889.978 2247.73,886.693 2245.43,884.566C2243.12,882.437 2239.89,880.718 2235.36,880.898C2235.31,880.893 2235.26,880.885 2235.27,880.812L2235.27,878.339ZM1997,878.424L2091.01,878.424L2091.01,895.145L2032.15,895.145L2032.15,926.283C2032.15,929.791 2031.69,933.458 2032.32,936.521C2032.36,936.699 2032.4,936.972 2032.49,937.203C2033.85,940.581 2038.57,943.74 2042.38,944.54C2044.14,944.907 2046.27,944.795 2048.27,944.795C2062.64,944.795 2077.22,944.725 2091.18,944.881L2091.18,961.773L2025.66,961.773C2022.88,961.419 2020.34,960.28 2018.33,958.616C2016.43,957.047 2014.64,954.901 2014.23,952.218C2013.91,950.077 2014.06,947.604 2014.06,945.222C2014.06,929.076 2013.88,911.35 2013.98,895.23C2008.49,895.031 2002.63,895.201 1997,895.145L1997,878.424ZM2246.96,893.95L2244.74,893.95C2243.71,889.155 2240.99,886.046 2235.27,885.931C2235.33,885.163 2235.16,884.169 2235.36,883.543C2242.28,883.962 2246.04,887.537 2246.96,893.95ZM2241.5,893.95L2239.37,893.95C2238.68,892.419 2237.63,891.248 2235.27,891.391L2235.27,889.002C2238.97,889.029 2240.97,890.76 2241.5,893.95ZM2174.28,898.131L2229.05,898.131C2229.2,906.775 2229.13,915.937 2229.13,925.003C2229.13,927.925 2229.49,932.037 2228.62,934.217C2227.12,937.946 2222.22,940.915 2217.87,941.81C2215.77,942.241 2213.03,942.066 2210.28,942.066L2202.51,942.066C2197.12,942.066 2191.57,942.413 2186.9,942.066C2184.37,941.877 2181.46,940.545 2179.48,939.25C2177.49,937.95 2175.44,936.087 2174.62,934.047C2173.86,932.164 2174.19,927.853 2174.19,925.43C2174.19,916.435 2174.19,906.99 2174.19,898.386C2174.18,898.266 2174.18,898.145 2174.28,898.131ZM2192.36,915.193L2192.36,919.714C2192.36,921.082 2192.13,922.918 2192.7,923.98C2193.58,925.606 2196.48,925.345 2199.1,925.345C2202.57,925.345 2209.33,926.179 2210.53,923.98C2211.74,921.762 2210.34,917.684 2210.88,914.937L2192.45,914.937C2192.35,914.951 2192.35,915.071 2192.36,915.193ZM2036.16,898.386L2091.01,898.386L2091.01,942.151L2072.76,942.151L2072.76,915.107L2054.33,915.107C2054.18,916.408 2054.24,917.941 2054.24,919.458C2054.24,920.973 2054.03,922.68 2054.5,923.638C2054.88,924.404 2056.42,924.916 2057.4,925.174C2058.74,925.527 2060.24,925.457 2061.49,925.516C2064.59,925.659 2067.44,925.407 2070.28,925.516L2070.28,942.151L2058.76,942.151C2054.87,942.151 2050.86,942.519 2047.5,941.98C2045.12,941.597 2042.82,940.427 2040.93,939.165C2039.18,937.99 2036.97,936.124 2036.41,934.047C2035.78,931.666 2036.07,928.37 2036.07,925.43L2036.07,898.643C2036.07,898.521 2036.06,898.401 2036.16,898.386ZM2112,961.773L2093.74,961.773C2094.01,940.669 2093.67,919.487 2093.91,898.386C2112.17,898.444 2130.65,898.273 2148.77,898.472C2148.77,904.897 2148.77,911.264 2148.77,917.923C2148.77,922.518 2148.93,928.065 2148.6,932.34C2148.48,933.842 2148.09,934.819 2147.32,935.923C2144.68,939.704 2140.01,942.151 2134.1,942.151L2114.64,942.151L2114.64,925.516L2121.89,925.516C2125.18,925.516 2129.37,926.094 2130.26,923.98C2131.22,921.69 2130.07,918.123 2130.51,915.107L2112,915.107L2112,961.773ZM1942.52,878.339L1944.23,878.339C1948.85,878.55 1952.09,880.649 1954.55,883.116C1957.03,885.592 1959.11,888.81 1959.5,893.268L1959.5,893.95C1958.77,893.853 1957.64,894.156 1957.2,893.78C1956.64,889.978 1954.98,886.693 1952.67,884.566C1950.37,882.437 1947.14,880.718 1942.61,880.898C1942.56,880.893 1942.51,880.885 1942.52,880.812L1942.52,878.339ZM1704.25,878.424L1798.26,878.424L1798.26,895.145L1739.4,895.145L1739.4,926.283C1739.4,929.791 1738.94,933.458 1739.57,936.521C1739.61,936.699 1739.65,936.972 1739.74,937.203C1741.1,940.581 1745.82,943.74 1749.63,944.54C1751.39,944.907 1753.52,944.795 1755.52,944.795C1769.89,944.795 1784.47,944.725 1798.43,944.881L1798.43,961.773L1732.91,961.773C1730.13,961.419 1727.59,960.28 1725.58,958.616C1723.68,957.047 1721.89,954.901 1721.48,952.218C1721.16,950.077 1721.31,947.604 1721.31,945.222C1721.31,929.076 1721.13,911.35 1721.23,895.23C1715.74,895.031 1709.88,895.201 1704.25,895.145L1704.25,878.424ZM1954.21,893.95L1951.99,893.95C1950.96,889.155 1948.24,886.046 1942.52,885.931C1942.58,885.163 1942.41,884.169 1942.61,883.543C1949.53,883.962 1953.29,887.537 1954.21,893.95ZM1948.75,893.95L1946.62,893.95C1945.93,892.419 1944.88,891.248 1942.52,891.391L1942.52,889.002C1946.22,889.029 1948.22,890.76 1948.75,893.95ZM1881.53,898.131L1936.3,898.131C1936.45,906.775 1936.38,915.937 1936.38,925.003C1936.38,927.925 1936.74,932.037 1935.87,934.217C1934.37,937.946 1929.48,940.915 1925.12,941.81C1923.02,942.241 1920.28,942.066 1917.53,942.066L1909.76,942.066C1904.37,942.066 1898.82,942.413 1894.15,942.066C1891.62,941.877 1888.71,940.545 1886.73,939.25C1884.74,937.95 1882.69,936.087 1881.87,934.047C1881.11,932.164 1881.44,927.853 1881.44,925.43C1881.44,916.435 1881.44,906.99 1881.44,898.386C1881.43,898.266 1881.43,898.145 1881.53,898.131ZM1899.61,915.193L1899.61,919.714C1899.61,921.082 1899.38,922.918 1899.95,923.98C1900.83,925.606 1903.73,925.345 1906.35,925.345C1909.82,925.345 1916.58,926.179 1917.78,923.98C1918.99,921.762 1917.59,917.684 1918.12,914.937L1899.7,914.937C1899.6,914.951 1899.6,915.071 1899.61,915.193ZM1743.41,898.386L1798.26,898.386L1798.26,942.151L1780.01,942.151L1780.01,915.107L1761.58,915.107C1761.42,916.408 1761.49,917.941 1761.49,919.458C1761.49,920.973 1761.28,922.68 1761.75,923.638C1762.13,924.404 1763.67,924.916 1764.65,925.174C1765.99,925.527 1767.49,925.457 1768.75,925.516C1771.84,925.659 1774.69,925.407 1777.53,925.516L1777.53,942.151L1766.02,942.151C1762.12,942.151 1758.11,942.519 1754.75,941.98C1752.37,941.597 1750.07,940.427 1748.18,939.165C1746.43,937.99 1744.22,936.124 1743.66,934.047C1743.03,931.666 1743.32,928.37 1743.32,925.43L1743.32,898.643C1743.32,898.521 1743.31,898.401 1743.41,898.386ZM1819.25,961.773L1800.99,961.773C1801.26,940.669 1800.92,919.487 1801.16,898.386C1819.42,898.444 1837.9,898.273 1856.02,898.472C1856.02,904.897 1856.02,911.264 1856.02,917.923C1856.02,922.518 1856.18,928.065 1855.85,932.34C1855.73,933.842 1855.34,934.819 1854.57,935.923C1851.92,939.704 1847.26,942.151 1841.35,942.151L1821.89,942.151L1821.89,925.516L1829.14,925.516C1832.43,925.516 1836.62,926.094 1837.51,923.98C1838.47,921.69 1837.32,918.123 1837.76,915.107L1819.25,915.107L1819.25,961.773ZM1064.27,394.603L1065.98,394.603C1070.6,394.814 1073.84,396.914 1076.3,399.38C1078.78,401.856 1080.86,405.074 1081.25,409.532L1081.25,410.215C1080.52,410.117 1079.39,410.421 1078.95,410.044C1078.39,406.242 1076.73,402.957 1074.42,400.831C1072.12,398.701 1068.89,396.982 1064.36,397.163C1064.31,397.158 1064.26,397.15 1064.27,397.077L1064.27,394.603ZM826,394.689L920.012,394.689L920.012,411.409L861.148,411.409L861.148,442.548C861.148,446.055 860.694,449.722 861.319,452.785C861.355,452.964 861.396,453.237 861.489,453.468C862.851,456.846 867.567,460.005 871.385,460.804C873.14,461.171 875.269,461.06 877.272,461.06C891.639,461.06 906.218,460.99 920.183,461.145L920.183,478.037L854.664,478.037C851.885,477.683 849.34,476.545 847.328,474.881C845.43,473.312 843.64,471.165 843.233,468.482C842.907,466.341 843.062,463.868 843.062,461.486C843.062,445.341 842.885,427.615 842.977,411.495C837.488,411.296 831.631,411.466 826,411.409L826,394.689ZM1075.96,410.215L1073.74,410.215C1072.71,405.42 1069.99,402.31 1064.27,402.196C1064.33,401.427 1064.16,400.433 1064.36,399.807C1071.28,400.226 1075.04,403.802 1075.96,410.215ZM1070.5,410.215L1068.37,410.215C1067.68,408.683 1066.63,407.513 1064.27,407.656L1064.27,405.267C1067.97,405.293 1069.97,407.024 1070.5,410.215ZM1003.28,414.395L1058.05,414.395C1058.2,423.039 1058.13,432.201 1058.13,441.268C1058.13,444.19 1058.49,448.302 1057.62,450.481C1056.12,454.21 1051.22,457.179 1046.87,458.074C1044.77,458.506 1042.03,458.33 1039.28,458.33L1031.51,458.33C1026.12,458.33 1020.57,458.677 1015.9,458.33C1013.37,458.142 1010.46,456.81 1008.48,455.515C1006.49,454.215 1004.44,452.352 1003.62,450.311C1002.86,448.429 1003.19,444.118 1003.19,441.695C1003.19,432.699 1003.19,423.255 1003.19,414.651C1003.18,414.53 1003.18,414.41 1003.28,414.395ZM1021.36,431.457L1021.36,435.979C1021.36,437.346 1021.13,439.182 1021.7,440.244C1022.58,441.87 1025.48,441.609 1028.1,441.609C1031.57,441.609 1038.33,442.443 1039.53,440.244C1040.74,438.026 1039.34,433.949 1039.88,431.201L1021.45,431.201C1021.35,431.216 1021.35,431.336 1021.36,431.457ZM865.158,414.651L920.012,414.651L920.012,458.416L901.756,458.416L901.756,431.372L883.329,431.372C883.175,432.672 883.244,434.206 883.244,435.723C883.244,437.238 883.027,438.945 883.499,439.903C883.877,440.669 885.417,441.18 886.4,441.438C887.743,441.792 889.242,441.722 890.495,441.78C893.591,441.924 896.436,441.672 899.282,441.78L899.282,458.416L887.765,458.416C883.865,458.416 879.856,458.783 876.504,458.245C874.117,457.862 871.819,456.692 869.935,455.429C868.18,454.254 865.966,452.389 865.414,450.311C864.782,447.93 865.072,444.635 865.072,441.695L865.072,414.907C865.065,414.786 865.058,414.665 865.158,414.651ZM940.999,478.037L922.743,478.037C923.008,456.934 922.668,435.751 922.913,414.651C941.17,414.708 959.653,414.538 977.768,414.737C977.768,421.162 977.768,427.528 977.768,434.187C977.768,438.782 977.927,444.329 977.597,448.605C977.482,450.107 977.09,451.084 976.318,452.188C973.675,455.969 969.014,458.416 963.095,458.416L943.643,458.416L943.643,441.78L950.895,441.78C954.176,441.78 958.366,442.358 959.256,440.244C960.219,437.955 959.067,434.388 959.512,431.372L940.999,431.372L940.999,478.037ZM917.273,515.537L918.979,515.537C923.6,515.748 926.835,517.848 929.302,520.314C931.778,522.79 933.858,526.008 934.25,530.466L934.25,531.149C933.523,531.051 932.395,531.354 931.947,530.978C931.387,527.176 929.73,523.891 927.425,521.765C925.118,519.635 921.889,517.916 917.359,518.096C917.307,518.091 917.258,518.084 917.273,518.011L917.273,515.537ZM679,515.622L773.012,515.622L773.012,532.343L714.148,532.343L714.148,563.481C714.148,566.989 713.694,570.656 714.319,573.719C714.355,573.898 714.396,574.171 714.489,574.402C715.851,577.78 720.567,580.938 724.385,581.738C726.14,582.105 728.269,581.994 730.272,581.994C744.639,581.994 759.218,581.923 773.183,582.079L773.183,598.971L707.664,598.971C704.885,598.617 702.34,597.478 700.328,595.815C698.43,594.246 696.64,592.099 696.233,589.416C695.907,587.275 696.062,584.802 696.062,582.42C696.062,566.275 695.885,548.548 695.977,532.429C690.488,532.23 684.631,532.4 679,532.343L679,515.622ZM928.961,531.149L926.743,531.149C925.709,526.354 922.988,523.244 917.273,523.129C917.329,522.361 917.16,521.367 917.359,520.741C924.276,521.16 928.037,524.736 928.961,531.149ZM923.501,531.149L921.368,531.149C920.681,529.617 919.634,528.447 917.273,528.59L917.273,526.201C920.972,526.227 922.967,527.958 923.501,531.149ZM856.276,535.329L911.045,535.329C911.202,543.973 911.13,553.135 911.131,562.202C911.131,565.124 911.494,569.236 910.619,571.415C909.122,575.144 904.225,578.113 899.87,579.008C897.769,579.439 895.03,579.264 892.277,579.264L884.514,579.264C879.117,579.264 873.569,579.611 868.902,579.264C866.374,579.076 863.46,577.744 861.48,576.449C859.493,575.149 857.439,573.286 856.617,571.245C855.86,569.363 856.19,565.052 856.19,562.629C856.191,553.633 856.19,544.189 856.19,535.585C856.183,535.464 856.176,535.343 856.276,535.329ZM874.362,552.391L874.362,556.912C874.362,558.28 874.128,560.116 874.703,561.178C875.584,562.804 878.476,562.543 881.102,562.543C884.569,562.543 891.334,563.377 892.533,561.178C893.743,558.96 892.335,554.883 892.875,552.135L874.447,552.135C874.348,552.15 874.354,552.27 874.362,552.391ZM718.158,535.585L773.012,535.585L773.012,579.35L754.756,579.35L754.756,552.306L736.329,552.306C736.175,553.606 736.244,555.14 736.244,556.657C736.244,558.172 736.027,559.879 736.499,560.837C736.877,561.602 738.417,562.114 739.4,562.372C740.743,562.726 742.242,562.656 743.495,562.714C746.591,562.858 749.436,562.606 752.282,562.714L752.282,579.35L740.765,579.35C736.865,579.35 732.856,579.717 729.504,579.179C727.117,578.795 724.819,577.626 722.935,576.363C721.18,575.188 718.966,573.323 718.414,571.245C717.782,568.864 718.072,565.569 718.072,562.629L718.072,535.841C718.065,535.72 718.058,535.599 718.158,535.585ZM793.999,598.971L775.743,598.971C776.008,577.868 775.668,556.685 775.913,535.585C794.17,535.642 812.653,535.471 830.768,535.67C830.768,542.095 830.768,548.462 830.768,555.121C830.768,559.716 830.927,565.263 830.597,569.538C830.482,571.041 830.09,572.018 829.318,573.122C826.675,576.903 822.014,579.35 816.095,579.35L796.643,579.35L796.643,562.714L803.895,562.714C807.176,562.714 811.366,563.292 812.256,561.178C813.219,558.889 812.067,555.322 812.512,552.306L793.999,552.306L793.999,598.971ZM1502.77,515.537L1504.48,515.537C1509.1,515.748 1512.34,517.848 1514.8,520.314C1517.28,522.79 1519.36,526.008 1519.75,530.466L1519.75,531.149C1519.02,531.051 1517.89,531.354 1517.45,530.978C1516.89,527.176 1515.23,523.891 1512.92,521.765C1510.62,519.635 1507.39,517.916 1502.86,518.096C1502.81,518.091 1502.76,518.084 1502.77,518.011L1502.77,515.537ZM1264.5,515.622L1358.51,515.622L1358.51,532.343L1299.65,532.343L1299.65,563.481C1299.65,566.989 1299.19,570.656 1299.82,573.719C1299.86,573.898 1299.9,574.171 1299.99,574.402C1301.35,577.78 1306.07,580.938 1309.88,581.738C1311.64,582.105 1313.77,581.994 1315.77,581.994C1330.14,581.994 1344.72,581.923 1358.68,582.079L1358.68,598.971L1293.16,598.971C1290.38,598.617 1287.84,597.478 1285.83,595.815C1283.93,594.246 1282.14,592.099 1281.73,589.416C1281.41,587.275 1281.56,584.802 1281.56,582.42C1281.56,566.275 1281.38,548.548 1281.48,532.429C1275.99,532.23 1270.13,532.4 1264.5,532.343L1264.5,515.622ZM1514.46,531.149L1512.24,531.149C1511.21,526.354 1508.49,523.244 1502.77,523.129C1502.83,522.361 1502.66,521.367 1502.86,520.741C1509.78,521.16 1513.54,524.736 1514.46,531.149ZM1509,531.149L1506.87,531.149C1506.18,529.617 1505.13,528.447 1502.77,528.59L1502.77,526.201C1506.47,526.227 1508.47,527.958 1509,531.149ZM1441.78,535.329L1496.55,535.329C1496.7,543.973 1496.63,553.135 1496.63,562.202C1496.63,565.124 1496.99,569.236 1496.12,571.415C1494.62,575.144 1489.73,578.113 1485.37,579.008C1483.27,579.439 1480.53,579.264 1477.78,579.264L1470.01,579.264C1464.62,579.264 1459.07,579.611 1454.4,579.264C1451.87,579.076 1448.96,577.744 1446.98,576.449C1444.99,575.149 1442.94,573.286 1442.12,571.245C1441.36,569.363 1441.69,565.052 1441.69,562.629C1441.69,553.633 1441.69,544.189 1441.69,535.585C1441.68,535.464 1441.68,535.343 1441.78,535.329ZM1459.86,552.391L1459.86,556.912C1459.86,558.28 1459.63,560.116 1460.2,561.178C1461.08,562.804 1463.98,562.543 1466.6,562.543C1470.07,562.543 1476.83,563.377 1478.03,561.178C1479.24,558.96 1477.84,554.883 1478.38,552.135L1459.95,552.135C1459.85,552.15 1459.85,552.27 1459.86,552.391ZM1303.66,535.585L1358.51,535.585L1358.51,579.35L1340.26,579.35L1340.26,552.306L1321.83,552.306C1321.67,553.606 1321.74,555.14 1321.74,556.657C1321.74,558.172 1321.53,559.879 1322,560.837C1322.38,561.602 1323.92,562.114 1324.9,562.372C1326.24,562.726 1327.74,562.656 1329,562.714C1332.09,562.858 1334.94,562.606 1337.78,562.714L1337.78,579.35L1326.27,579.35C1322.37,579.35 1318.36,579.717 1315,579.179C1312.62,578.795 1310.32,577.626 1308.43,576.363C1306.68,575.188 1304.47,573.323 1303.91,571.245C1303.28,568.864 1303.57,565.569 1303.57,562.629L1303.57,535.841C1303.57,535.72 1303.56,535.599 1303.66,535.585ZM1379.5,598.971L1361.24,598.971C1361.51,577.868 1361.17,556.685 1361.41,535.585C1379.67,535.642 1398.15,535.471 1416.27,535.67C1416.27,542.095 1416.27,548.462 1416.27,555.121C1416.27,559.716 1416.43,565.263 1416.1,569.538C1415.98,571.041 1415.59,572.018 1414.82,573.122C1412.17,576.903 1407.51,579.35 1401.6,579.35L1382.14,579.35L1382.14,562.714L1389.39,562.714C1392.68,562.714 1396.87,563.292 1397.76,561.178C1398.72,558.889 1397.57,555.322 1398.01,552.306L1379.5,552.306L1379.5,598.971ZM1357.02,394.603L1358.73,394.603C1363.35,394.814 1366.59,396.914 1369.05,399.38C1371.53,401.856 1373.61,405.074 1374,409.532L1374,410.215C1373.27,410.117 1372.14,410.421 1371.7,410.044C1371.14,406.242 1369.48,402.957 1367.17,400.831C1364.87,398.701 1361.64,396.982 1357.11,397.163C1357.06,397.158 1357.01,397.15 1357.02,397.077L1357.02,394.603ZM1118.75,394.689L1212.76,394.689L1212.76,411.409L1153.9,411.409L1153.9,442.548C1153.9,446.055 1153.44,449.722 1154.07,452.785C1154.11,452.964 1154.15,453.237 1154.24,453.468C1155.6,456.846 1160.32,460.005 1164.13,460.804C1165.89,461.171 1168.02,461.06 1170.02,461.06C1184.39,461.06 1198.97,460.99 1212.93,461.145L1212.93,478.037L1147.41,478.037C1144.63,477.683 1142.09,476.545 1140.08,474.881C1138.18,473.312 1136.39,471.165 1135.98,468.482C1135.66,466.341 1135.81,463.868 1135.81,461.486C1135.81,445.341 1135.63,427.615 1135.73,411.495C1130.24,411.296 1124.38,411.466 1118.75,411.409L1118.75,394.689ZM1368.71,410.215L1366.49,410.215C1365.46,405.42 1362.74,402.31 1357.02,402.196C1357.08,401.427 1356.91,400.433 1357.11,399.807C1364.03,400.226 1367.79,403.802 1368.71,410.215ZM1363.25,410.215L1361.12,410.215C1360.43,408.683 1359.38,407.513 1357.02,407.656L1357.02,405.267C1360.72,405.293 1362.72,407.024 1363.25,410.215ZM1296.03,414.395L1350.8,414.395C1350.95,423.039 1350.88,432.201 1350.88,441.268C1350.88,444.19 1351.24,448.302 1350.37,450.481C1348.87,454.21 1343.98,457.179 1339.62,458.074C1337.52,458.506 1334.78,458.33 1332.03,458.33L1324.26,458.33C1318.87,458.33 1313.32,458.677 1308.65,458.33C1306.12,458.142 1303.21,456.81 1301.23,455.515C1299.24,454.215 1297.19,452.352 1296.37,450.311C1295.61,448.429 1295.94,444.118 1295.94,441.695C1295.94,432.699 1295.94,423.255 1295.94,414.651C1295.93,414.53 1295.93,414.41 1296.03,414.395ZM1314.11,431.457L1314.11,435.979C1314.11,437.346 1313.88,439.182 1314.45,440.244C1315.33,441.87 1318.23,441.609 1320.85,441.609C1324.32,441.609 1331.08,442.443 1332.28,440.244C1333.49,438.026 1332.09,433.949 1332.62,431.201L1314.2,431.201C1314.1,431.216 1314.1,431.336 1314.11,431.457ZM1157.91,414.651L1212.76,414.651L1212.76,458.416L1194.51,458.416L1194.51,431.372L1176.08,431.372C1175.92,432.672 1175.99,434.206 1175.99,435.723C1175.99,437.238 1175.78,438.945 1176.25,439.903C1176.63,440.669 1178.17,441.18 1179.15,441.438C1180.49,441.792 1181.99,441.722 1183.25,441.78C1186.34,441.924 1189.19,441.672 1192.03,441.78L1192.03,458.416L1180.52,458.416C1176.62,458.416 1172.61,458.783 1169.25,458.245C1166.87,457.862 1164.57,456.692 1162.68,455.429C1160.93,454.254 1158.72,452.389 1158.16,450.311C1157.53,447.93 1157.82,444.635 1157.82,441.695L1157.82,414.907C1157.82,414.786 1157.81,414.665 1157.91,414.651ZM1233.75,478.037L1215.49,478.037C1215.76,456.934 1215.42,435.751 1215.66,414.651C1233.92,414.708 1252.4,414.538 1270.52,414.737C1270.52,421.162 1270.52,427.528 1270.52,434.187C1270.52,438.782 1270.68,444.329 1270.35,448.605C1270.23,450.107 1269.84,451.084 1269.07,452.188C1266.42,455.969 1261.76,458.416 1255.85,458.416L1236.39,458.416L1236.39,441.78L1243.64,441.78C1246.93,441.78 1251.12,442.358 1252.01,440.244C1252.97,437.955 1251.82,434.388 1252.26,431.372L1233.75,431.372L1233.75,478.037ZM1649.77,394.603L1651.48,394.603C1656.1,394.814 1659.34,396.914 1661.8,399.38C1664.28,401.856 1666.36,405.074 1666.75,409.532L1666.75,410.215C1666.02,410.117 1664.89,410.421 1664.45,410.044C1663.89,406.242 1662.23,402.957 1659.92,400.831C1657.62,398.701 1654.39,396.982 1649.86,397.163C1649.81,397.158 1649.76,397.15 1649.77,397.077L1649.77,394.603ZM1411.5,394.689L1505.51,394.689L1505.51,411.409L1446.65,411.409L1446.65,442.548C1446.65,446.055 1446.19,449.722 1446.82,452.785C1446.86,452.964 1446.9,453.237 1446.99,453.468C1448.35,456.846 1453.07,460.005 1456.88,460.804C1458.64,461.171 1460.77,461.06 1462.77,461.06C1477.14,461.06 1491.72,460.99 1505.68,461.145L1505.68,478.037L1440.16,478.037C1437.38,477.683 1434.84,476.545 1432.83,474.881C1430.93,473.312 1429.14,471.165 1428.73,468.482C1428.41,466.341 1428.56,463.868 1428.56,461.486C1428.56,445.341 1428.38,427.615 1428.48,411.495C1422.99,411.296 1417.13,411.466 1411.5,411.409L1411.5,394.689ZM1661.46,410.215L1659.24,410.215C1658.21,405.42 1655.49,402.31 1649.77,402.196C1649.83,401.427 1649.66,400.433 1649.86,399.807C1656.78,400.226 1660.54,403.802 1661.46,410.215ZM1656,410.215L1653.87,410.215C1653.18,408.683 1652.13,407.513 1649.77,407.656L1649.77,405.267C1653.47,405.293 1655.47,407.024 1656,410.215ZM1588.78,414.395L1643.55,414.395C1643.7,423.039 1643.63,432.201 1643.63,441.268C1643.63,444.19 1643.99,448.302 1643.12,450.481C1641.62,454.21 1636.73,457.179 1632.37,458.074C1630.27,458.506 1627.53,458.33 1624.78,458.33L1617.01,458.33C1611.62,458.33 1606.07,458.677 1601.4,458.33C1598.87,458.142 1595.96,456.81 1593.98,455.515C1591.99,454.215 1589.94,452.352 1589.12,450.311C1588.36,448.429 1588.69,444.118 1588.69,441.695C1588.69,432.699 1588.69,423.255 1588.69,414.651C1588.68,414.53 1588.68,414.41 1588.78,414.395ZM1606.86,431.457L1606.86,435.979C1606.86,437.346 1606.63,439.182 1607.2,440.244C1608.08,441.87 1610.98,441.609 1613.6,441.609C1617.07,441.609 1623.83,442.443 1625.03,440.244C1626.24,438.026 1624.84,433.949 1625.38,431.201L1606.95,431.201C1606.85,431.216 1606.85,431.336 1606.86,431.457ZM1450.66,414.651L1505.51,414.651L1505.51,458.416L1487.26,458.416L1487.26,431.372L1468.83,431.372C1468.67,432.672 1468.74,434.206 1468.74,435.723C1468.74,437.238 1468.53,438.945 1469,439.903C1469.38,440.669 1470.92,441.18 1471.9,441.438C1473.24,441.792 1474.74,441.722 1476,441.78C1479.09,441.924 1481.94,441.672 1484.78,441.78L1484.78,458.416L1473.27,458.416C1469.37,458.416 1465.36,458.783 1462,458.245C1459.62,457.862 1457.32,456.692 1455.43,455.429C1453.68,454.254 1451.47,452.389 1450.91,450.311C1450.28,447.93 1450.57,444.635 1450.57,441.695L1450.57,414.907C1450.57,414.786 1450.56,414.665 1450.66,414.651ZM1526.5,478.037L1508.24,478.037C1508.51,456.934 1508.17,435.751 1508.41,414.651C1526.67,414.708 1545.15,414.538 1563.27,414.737C1563.27,421.162 1563.27,427.528 1563.27,434.187C1563.27,438.782 1563.43,444.329 1563.1,448.605C1562.98,450.107 1562.59,451.084 1561.82,452.188C1559.17,455.969 1554.51,458.416 1548.6,458.416L1529.14,458.416L1529.14,441.78L1536.39,441.78C1539.68,441.78 1543.87,442.358 1544.76,440.244C1545.72,437.955 1544.57,434.388 1545.01,431.372L1526.5,431.372L1526.5,478.037ZM1210.02,515.537L1211.73,515.537C1216.35,515.748 1219.59,517.848 1222.05,520.314C1224.53,522.79 1226.61,526.008 1227,530.466L1227,531.149C1226.27,531.051 1225.14,531.354 1224.7,530.978C1224.14,527.176 1222.48,523.891 1220.17,521.765C1217.87,519.635 1214.64,517.916 1210.11,518.096C1210.06,518.091 1210.01,518.084 1210.02,518.011L1210.02,515.537ZM971.75,515.622L1065.76,515.622L1065.76,532.343L1006.9,532.343L1006.9,563.481C1006.9,566.989 1006.44,570.656 1007.07,573.719C1007.11,573.898 1007.15,574.171 1007.24,574.402C1008.6,577.78 1013.32,580.938 1017.13,581.738C1018.89,582.105 1021.02,581.994 1023.02,581.994C1037.39,581.994 1051.97,581.923 1065.93,582.079L1065.93,598.971L1000.41,598.971C997.635,598.617 995.09,597.478 993.078,595.815C991.18,594.246 989.39,592.099 988.983,589.416C988.657,587.275 988.812,584.802 988.812,582.42C988.812,566.275 988.635,548.548 988.727,532.429C983.238,532.23 977.381,532.4 971.75,532.343L971.75,515.622ZM1221.71,531.149L1219.49,531.149C1218.46,526.354 1215.74,523.244 1210.02,523.129C1210.08,522.361 1209.91,521.367 1210.11,520.741C1217.03,521.16 1220.79,524.736 1221.71,531.149ZM1216.25,531.149L1214.12,531.149C1213.43,529.617 1212.38,528.447 1210.02,528.59L1210.02,526.201C1213.72,526.227 1215.72,527.958 1216.25,531.149ZM1149.03,535.329L1203.8,535.329C1203.95,543.973 1203.88,553.135 1203.88,562.202C1203.88,565.124 1204.24,569.236 1203.37,571.415C1201.87,575.144 1196.98,578.113 1192.62,579.008C1190.52,579.439 1187.78,579.264 1185.03,579.264L1177.26,579.264C1171.87,579.264 1166.32,579.611 1161.65,579.264C1159.12,579.076 1156.21,577.744 1154.23,576.449C1152.24,575.149 1150.19,573.286 1149.37,571.245C1148.61,569.363 1148.94,565.052 1148.94,562.629C1148.94,553.633 1148.94,544.189 1148.94,535.585C1148.93,535.464 1148.93,535.343 1149.03,535.329ZM1167.11,552.391L1167.11,556.912C1167.11,558.28 1166.88,560.116 1167.45,561.178C1168.33,562.804 1171.23,562.543 1173.85,562.543C1177.32,562.543 1184.08,563.377 1185.28,561.178C1186.49,558.96 1185.09,554.883 1185.62,552.135L1167.2,552.135C1167.1,552.15 1167.1,552.27 1167.11,552.391ZM1010.91,535.585L1065.76,535.585L1065.76,579.35L1047.51,579.35L1047.51,552.306L1029.08,552.306C1028.92,553.606 1028.99,555.14 1028.99,556.657C1028.99,558.172 1028.78,559.879 1029.25,560.837C1029.63,561.602 1031.17,562.114 1032.15,562.372C1033.49,562.726 1034.99,562.656 1036.25,562.714C1039.34,562.858 1042.19,562.606 1045.03,562.714L1045.03,579.35L1033.52,579.35C1029.62,579.35 1025.61,579.717 1022.25,579.179C1019.87,578.795 1017.57,577.626 1015.69,576.363C1013.93,575.188 1011.72,573.323 1011.16,571.245C1010.53,568.864 1010.82,565.569 1010.82,562.629L1010.82,535.841C1010.82,535.72 1010.81,535.599 1010.91,535.585ZM1086.75,598.971L1068.49,598.971C1068.76,577.868 1068.42,556.685 1068.66,535.585C1086.92,535.642 1105.4,535.471 1123.52,535.67C1123.52,542.095 1123.52,548.462 1123.52,555.121C1123.52,559.716 1123.68,565.263 1123.35,569.538C1123.23,571.041 1122.84,572.018 1122.07,573.122C1119.42,576.903 1114.76,579.35 1108.85,579.35L1089.39,579.35L1089.39,562.714L1096.64,562.714C1099.93,562.714 1104.12,563.292 1105.01,561.178C1105.97,558.889 1104.82,555.322 1105.26,552.306L1086.75,552.306L1086.75,598.971ZM2088.27,515.537L2089.98,515.537C2094.6,515.748 2097.84,517.848 2100.3,520.314C2102.78,522.79 2104.86,526.008 2105.25,530.466L2105.25,531.149C2104.52,531.051 2103.39,531.354 2102.95,530.978C2102.39,527.176 2100.73,523.891 2098.43,521.765C2096.12,519.635 2092.89,517.916 2088.36,518.096C2088.31,518.091 2088.26,518.084 2088.27,518.011L2088.27,515.537ZM1850,515.622L1944.01,515.622L1944.01,532.343L1885.15,532.343L1885.15,563.481C1885.15,566.989 1884.69,570.656 1885.32,573.719C1885.36,573.898 1885.4,574.171 1885.49,574.402C1886.85,577.78 1891.57,580.938 1895.38,581.738C1897.14,582.105 1899.27,581.994 1901.27,581.994C1915.64,581.994 1930.22,581.923 1944.18,582.079L1944.18,598.971L1878.66,598.971C1875.88,598.617 1873.34,597.478 1871.33,595.815C1869.43,594.246 1867.64,592.099 1867.23,589.416C1866.91,587.275 1867.06,584.802 1867.06,582.42C1867.06,566.275 1866.88,548.548 1866.98,532.429C1861.49,532.23 1855.63,532.4 1850,532.343L1850,515.622ZM2099.96,531.149L2097.74,531.149C2096.71,526.354 2093.99,523.244 2088.27,523.129C2088.33,522.361 2088.16,521.367 2088.36,520.741C2095.28,521.16 2099.04,524.736 2099.96,531.149ZM2094.5,531.149L2092.37,531.149C2091.68,529.617 2090.63,528.447 2088.27,528.59L2088.27,526.201C2091.97,526.227 2093.97,527.958 2094.5,531.149ZM2027.28,535.329L2082.05,535.329C2082.2,543.973 2082.13,553.135 2082.13,562.202C2082.13,565.124 2082.49,569.236 2081.62,571.415C2080.12,575.144 2075.22,578.113 2070.87,579.008C2068.77,579.439 2066.03,579.264 2063.28,579.264L2055.51,579.264C2050.12,579.264 2044.57,579.611 2039.9,579.264C2037.37,579.076 2034.46,577.744 2032.48,576.449C2030.49,575.149 2028.44,573.286 2027.62,571.245C2026.86,569.363 2027.19,565.052 2027.19,562.629C2027.19,553.633 2027.19,544.189 2027.19,535.585C2027.18,535.464 2027.18,535.343 2027.28,535.329ZM2045.36,552.391L2045.36,556.912C2045.36,558.28 2045.13,560.116 2045.7,561.178C2046.58,562.804 2049.48,562.543 2052.1,562.543C2055.57,562.543 2062.33,563.377 2063.53,561.178C2064.74,558.96 2063.34,554.883 2063.88,552.135L2045.45,552.135C2045.35,552.15 2045.35,552.27 2045.36,552.391ZM1889.16,535.585L1944.01,535.585L1944.01,579.35L1925.76,579.35L1925.76,552.306L1907.33,552.306C1907.17,553.606 1907.24,555.14 1907.24,556.657C1907.24,558.172 1907.03,559.879 1907.5,560.837C1907.88,561.602 1909.42,562.114 1910.4,562.372C1911.74,562.726 1913.24,562.656 1914.5,562.714C1917.59,562.858 1920.44,562.606 1923.28,562.714L1923.28,579.35L1911.77,579.35C1907.87,579.35 1903.86,579.717 1900.5,579.179C1898.12,578.795 1895.82,577.626 1893.93,576.363C1892.18,575.188 1889.97,573.323 1889.41,571.245C1888.78,568.864 1889.07,565.569 1889.07,562.629L1889.07,535.841C1889.07,535.72 1889.06,535.599 1889.16,535.585ZM1965,598.971L1946.74,598.971C1947.01,577.868 1946.67,556.685 1946.91,535.585C1965.17,535.642 1983.65,535.471 2001.77,535.67C2001.77,542.095 2001.77,548.462 2001.77,555.121C2001.77,559.716 2001.93,565.263 2001.6,569.538C2001.48,571.041 2001.09,572.018 2000.32,573.122C1997.67,576.903 1993.01,579.35 1987.1,579.35L1967.64,579.35L1967.64,562.714L1974.89,562.714C1978.18,562.714 1982.37,563.292 1983.26,561.178C1984.22,558.889 1983.07,555.322 1983.51,552.306L1965,552.306L1965,598.971ZM1795.52,515.537L1797.23,515.537C1801.85,515.748 1805.09,517.848 1807.55,520.314C1810.03,522.79 1812.11,526.008 1812.5,530.466L1812.5,531.149C1811.77,531.051 1810.64,531.354 1810.2,530.978C1809.64,527.176 1807.98,523.891 1805.67,521.765C1803.37,519.635 1800.14,517.916 1795.61,518.096C1795.56,518.091 1795.51,518.084 1795.52,518.011L1795.52,515.537ZM1557.25,515.622L1651.26,515.622L1651.26,532.343L1592.4,532.343L1592.4,563.481C1592.4,566.989 1591.94,570.656 1592.57,573.719C1592.61,573.898 1592.65,574.171 1592.74,574.402C1594.1,577.78 1598.82,580.938 1602.63,581.738C1604.39,582.105 1606.52,581.994 1608.52,581.994C1622.89,581.994 1637.47,581.923 1651.43,582.079L1651.43,598.971L1585.91,598.971C1583.13,598.617 1580.59,597.478 1578.58,595.815C1576.68,594.246 1574.89,592.099 1574.48,589.416C1574.16,587.275 1574.31,584.802 1574.31,582.42C1574.31,566.275 1574.13,548.548 1574.23,532.429C1568.74,532.23 1562.88,532.4 1557.25,532.343L1557.25,515.622ZM1807.21,531.149L1804.99,531.149C1803.96,526.354 1801.24,523.244 1795.52,523.129C1795.58,522.361 1795.41,521.367 1795.61,520.741C1802.53,521.16 1806.29,524.736 1807.21,531.149ZM1801.75,531.149L1799.62,531.149C1798.93,529.617 1797.88,528.447 1795.52,528.59L1795.52,526.201C1799.22,526.227 1801.22,527.958 1801.75,531.149ZM1734.53,535.329L1789.3,535.329C1789.45,543.973 1789.38,553.135 1789.38,562.202C1789.38,565.124 1789.74,569.236 1788.87,571.415C1787.37,575.144 1782.48,578.113 1778.12,579.008C1776.02,579.439 1773.28,579.264 1770.53,579.264L1762.76,579.264C1757.37,579.264 1751.82,579.611 1747.15,579.264C1744.62,579.076 1741.71,577.744 1739.73,576.449C1737.74,575.149 1735.69,573.286 1734.87,571.245C1734.11,569.363 1734.44,565.052 1734.44,562.629C1734.44,553.633 1734.44,544.189 1734.44,535.585C1734.43,535.464 1734.43,535.343 1734.53,535.329ZM1752.61,552.391L1752.61,556.912C1752.61,558.28 1752.38,560.116 1752.95,561.178C1753.83,562.804 1756.73,562.543 1759.35,562.543C1762.82,562.543 1769.58,563.377 1770.78,561.178C1771.99,558.96 1770.59,554.883 1771.12,552.135L1752.7,552.135C1752.6,552.15 1752.6,552.27 1752.61,552.391ZM1596.41,535.585L1651.26,535.585L1651.26,579.35L1633.01,579.35L1633.01,552.306L1614.58,552.306C1614.42,553.606 1614.49,555.14 1614.49,556.657C1614.49,558.172 1614.28,559.879 1614.75,560.837C1615.13,561.602 1616.67,562.114 1617.65,562.372C1618.99,562.726 1620.49,562.656 1621.75,562.714C1624.84,562.858 1627.69,562.606 1630.53,562.714L1630.53,579.35L1619.02,579.35C1615.12,579.35 1611.11,579.717 1607.75,579.179C1605.37,578.795 1603.07,577.626 1601.18,576.363C1599.43,575.188 1597.22,573.323 1596.66,571.245C1596.03,568.864 1596.32,565.569 1596.32,562.629L1596.32,535.841C1596.32,535.72 1596.31,535.599 1596.41,535.585ZM1672.25,598.971L1653.99,598.971C1654.26,577.868 1653.92,556.685 1654.16,535.585C1672.42,535.642 1690.9,535.471 1709.02,535.67C1709.02,542.095 1709.02,548.462 1709.02,555.121C1709.02,559.716 1709.18,565.263 1708.85,569.538C1708.73,571.041 1708.34,572.018 1707.57,573.122C1704.92,576.903 1700.26,579.35 1694.35,579.35L1674.89,579.35L1674.89,562.714L1682.14,562.714C1685.43,562.714 1689.62,563.292 1690.51,561.178C1691.47,558.889 1690.32,555.322 1690.76,552.306L1672.25,552.306L1672.25,598.971ZM1942.52,394.603L1944.23,394.603C1948.85,394.814 1952.09,396.914 1954.55,399.38C1957.03,401.856 1959.11,405.074 1959.5,409.532L1959.5,410.215C1958.77,410.117 1957.64,410.421 1957.2,410.044C1956.64,406.242 1954.98,402.957 1952.67,400.831C1950.37,398.701 1947.14,396.982 1942.61,397.163C1942.56,397.158 1942.51,397.15 1942.52,397.077L1942.52,394.603ZM1704.25,394.689L1798.26,394.689L1798.26,411.409L1739.4,411.409L1739.4,442.548C1739.4,446.055 1738.94,449.722 1739.57,452.785C1739.61,452.964 1739.65,453.237 1739.74,453.468C1741.1,456.846 1745.82,460.005 1749.63,460.804C1751.39,461.171 1753.52,461.06 1755.52,461.06C1769.89,461.06 1784.47,460.99 1798.43,461.145L1798.43,478.037L1732.91,478.037C1730.13,477.683 1727.59,476.545 1725.58,474.881C1723.68,473.312 1721.89,471.165 1721.48,468.482C1721.16,466.341 1721.31,463.868 1721.31,461.486C1721.31,445.341 1721.13,427.615 1721.23,411.495C1715.74,411.296 1709.88,411.466 1704.25,411.409L1704.25,394.689ZM1954.21,410.215L1951.99,410.215C1950.96,405.42 1948.24,402.31 1942.52,402.196C1942.58,401.427 1942.41,400.433 1942.61,399.807C1949.53,400.226 1953.29,403.802 1954.21,410.215ZM1948.75,410.215L1946.62,410.215C1945.93,408.683 1944.88,407.513 1942.52,407.656L1942.52,405.267C1946.22,405.293 1948.22,407.024 1948.75,410.215ZM1881.53,414.395L1936.3,414.395C1936.45,423.039 1936.38,432.201 1936.38,441.268C1936.38,444.19 1936.74,448.302 1935.87,450.481C1934.37,454.21 1929.48,457.179 1925.12,458.074C1923.02,458.506 1920.28,458.33 1917.53,458.33L1909.76,458.33C1904.37,458.33 1898.82,458.677 1894.15,458.33C1891.62,458.142 1888.71,456.81 1886.73,455.515C1884.74,454.215 1882.69,452.352 1881.87,450.311C1881.11,448.429 1881.44,444.118 1881.44,441.695C1881.44,432.699 1881.44,423.255 1881.44,414.651C1881.43,414.53 1881.43,414.41 1881.53,414.395ZM1899.61,431.457L1899.61,435.979C1899.61,437.346 1899.38,439.182 1899.95,440.244C1900.83,441.87 1903.73,441.609 1906.35,441.609C1909.82,441.609 1916.58,442.443 1917.78,440.244C1918.99,438.026 1917.59,433.949 1918.12,431.201L1899.7,431.201C1899.6,431.216 1899.6,431.336 1899.61,431.457ZM1743.41,414.651L1798.26,414.651L1798.26,458.416L1780.01,458.416L1780.01,431.372L1761.58,431.372C1761.42,432.672 1761.49,434.206 1761.49,435.723C1761.49,437.238 1761.28,438.945 1761.75,439.903C1762.13,440.669 1763.67,441.18 1764.65,441.438C1765.99,441.792 1767.49,441.722 1768.75,441.78C1771.84,441.924 1774.69,441.672 1777.53,441.78L1777.53,458.416L1766.02,458.416C1762.12,458.416 1758.11,458.783 1754.75,458.245C1752.37,457.862 1750.07,456.692 1748.18,455.429C1746.43,454.254 1744.22,452.389 1743.66,450.311C1743.03,447.93 1743.32,444.635 1743.32,441.695L1743.32,414.907C1743.32,414.786 1743.31,414.665 1743.41,414.651ZM1819.25,478.037L1800.99,478.037C1801.26,456.934 1800.92,435.751 1801.16,414.651C1819.42,414.708 1837.9,414.538 1856.02,414.737C1856.02,421.162 1856.02,427.528 1856.02,434.187C1856.02,438.782 1856.18,444.329 1855.85,448.605C1855.73,450.107 1855.34,451.084 1854.57,452.188C1851.92,455.969 1847.26,458.416 1841.35,458.416L1821.89,458.416L1821.89,441.78L1829.14,441.78C1832.43,441.78 1836.62,442.358 1837.51,440.244C1838.47,437.955 1837.32,434.388 1837.76,431.372L1819.25,431.372L1819.25,478.037ZM1064.27,152.736L1065.98,152.736C1070.6,152.947 1073.84,155.046 1076.3,157.513C1078.78,159.988 1080.86,163.206 1081.25,167.665L1081.25,168.347C1080.52,168.25 1079.39,168.553 1078.95,168.176C1078.39,164.375 1076.73,161.09 1074.42,158.963C1072.12,156.833 1068.89,155.115 1064.36,155.295C1064.31,155.29 1064.26,155.282 1064.27,155.209L1064.27,152.736ZM1075.96,168.347L1073.74,168.347C1072.71,163.552 1069.99,160.442 1064.27,160.328C1064.33,159.56 1064.16,158.565 1064.36,157.939C1071.28,158.359 1075.04,161.934 1075.96,168.347ZM1070.5,168.347L1068.37,168.347C1067.68,166.816 1066.63,165.645 1064.27,165.788L1064.27,163.399C1067.97,163.426 1069.97,165.156 1070.5,168.347ZM917.273,273.669L918.979,273.669C923.6,273.881 926.835,275.98 929.302,278.446C931.778,280.922 933.858,284.14 934.25,288.598L934.25,289.281C933.523,289.183 932.395,289.487 931.947,289.11C931.387,285.309 929.73,282.023 927.425,279.897C925.118,277.767 921.889,276.048 917.359,276.229C917.307,276.224 917.258,276.216 917.273,276.143L917.273,273.669ZM928.961,289.281L926.743,289.281C925.709,284.486 922.988,281.376 917.273,281.262C917.329,280.494 917.16,279.499 917.359,278.873C924.276,279.292 928.037,282.868 928.961,289.281ZM923.501,289.281L921.368,289.281C920.681,287.75 919.634,286.579 917.273,286.722L917.273,284.333C920.972,284.36 922.967,286.09 923.501,289.281ZM1502.77,273.669L1504.48,273.669C1509.1,273.881 1512.34,275.98 1514.8,278.446C1517.28,280.922 1519.36,284.14 1519.75,288.598L1519.75,289.281C1519.02,289.183 1517.89,289.487 1517.45,289.11C1516.89,285.309 1515.23,282.023 1512.92,279.897C1510.62,277.767 1507.39,276.048 1502.86,276.229C1502.81,276.224 1502.76,276.216 1502.77,276.143L1502.77,273.669ZM1264.5,273.755L1358.51,273.755L1358.51,290.476L1299.65,290.476L1299.65,321.614C1299.65,325.121 1299.19,328.788 1299.82,331.851C1299.86,332.03 1299.9,332.303 1299.99,332.534C1301.35,335.912 1306.07,339.071 1309.88,339.87C1311.64,340.237 1313.77,340.126 1315.77,340.126C1330.14,340.126 1344.72,340.056 1358.68,340.211L1358.68,357.103L1293.16,357.103C1290.38,356.75 1287.84,355.611 1285.83,353.947C1283.93,352.378 1282.14,350.231 1281.73,347.548C1281.41,345.408 1281.56,342.934 1281.56,340.553C1281.56,324.407 1281.38,306.681 1281.48,290.561C1275.99,290.362 1270.13,290.532 1264.5,290.476L1264.5,273.755ZM1514.46,289.281L1512.24,289.281C1511.21,284.486 1508.49,281.376 1502.77,281.262C1502.83,280.494 1502.66,279.499 1502.86,278.873C1509.78,279.292 1513.54,282.868 1514.46,289.281ZM1509,289.281L1506.87,289.281C1506.18,287.75 1505.13,286.579 1502.77,286.722L1502.77,284.333C1506.47,284.36 1508.47,286.09 1509,289.281ZM1441.78,293.461L1496.55,293.461C1496.7,302.106 1496.63,311.267 1496.63,320.334C1496.63,323.256 1496.99,327.368 1496.12,329.548C1494.62,333.276 1489.73,336.245 1485.37,337.141C1483.27,337.572 1480.53,337.396 1477.78,337.396L1470.01,337.396C1464.62,337.396 1459.07,337.743 1454.4,337.396C1451.87,337.208 1448.96,335.876 1446.98,334.581C1444.99,333.281 1442.94,331.418 1442.12,329.377C1441.36,327.495 1441.69,323.184 1441.69,320.761C1441.69,311.766 1441.69,302.321 1441.69,293.717C1441.68,293.596 1441.68,293.476 1441.78,293.461ZM1459.86,310.523L1459.86,315.045C1459.86,316.412 1459.63,318.248 1460.2,319.31C1461.08,320.936 1463.98,320.675 1466.6,320.675C1470.07,320.675 1476.83,321.509 1478.03,319.31C1479.24,317.092 1477.84,313.015 1478.38,310.267L1459.95,310.267C1459.85,310.282 1459.85,310.402 1459.86,310.523ZM1303.66,293.717L1358.51,293.717L1358.51,337.482L1340.26,337.482L1340.26,310.438L1321.83,310.438C1321.67,311.738 1321.74,313.272 1321.74,314.789C1321.74,316.304 1321.53,318.011 1322,318.969C1322.38,319.735 1323.92,320.246 1324.9,320.505C1326.24,320.858 1327.74,320.788 1329,320.846C1332.09,320.99 1334.94,320.738 1337.78,320.846L1337.78,337.482L1326.27,337.482C1322.37,337.482 1318.36,337.849 1315,337.311C1312.62,336.928 1310.32,335.758 1308.43,334.496C1306.68,333.32 1304.47,331.455 1303.91,329.377C1303.28,326.996 1303.57,323.701 1303.57,320.761L1303.57,293.973C1303.57,293.852 1303.56,293.732 1303.66,293.717ZM1379.5,357.103L1361.24,357.103C1361.51,336 1361.17,314.817 1361.41,293.717C1379.67,293.774 1398.15,293.604 1416.27,293.803C1416.27,300.228 1416.27,306.594 1416.27,313.253C1416.27,317.848 1416.43,323.396 1416.1,327.671C1415.98,329.173 1415.59,330.15 1414.82,331.254C1412.17,335.035 1407.51,337.482 1401.6,337.482L1382.14,337.482L1382.14,320.846L1389.39,320.846C1392.68,320.846 1396.87,321.424 1397.76,319.31C1398.72,317.021 1397.57,313.454 1398.01,310.438L1379.5,310.438L1379.5,357.103ZM1357.02,152.736L1358.73,152.736C1363.35,152.947 1366.59,155.046 1369.05,157.513C1371.53,159.988 1373.61,163.206 1374,167.665L1374,168.347C1373.27,168.25 1372.14,168.553 1371.7,168.176C1371.14,164.375 1369.48,161.09 1367.17,158.963C1364.87,156.833 1361.64,155.115 1357.11,155.295C1357.06,155.29 1357.01,155.282 1357.02,155.209L1357.02,152.736ZM1118.75,152.821L1212.76,152.821L1212.76,169.542L1153.9,169.542L1153.9,200.68C1153.9,204.187 1153.44,207.854 1154.07,210.917C1154.11,211.096 1154.15,211.369 1154.24,211.6C1155.6,214.978 1160.32,218.137 1164.13,218.936C1165.89,219.303 1168.02,219.192 1170.02,219.192C1184.39,219.192 1198.97,219.122 1212.93,219.278L1212.93,236.169L1147.41,236.169C1144.63,235.816 1142.09,234.677 1140.08,233.013C1138.18,231.444 1136.39,229.298 1135.98,226.615C1135.66,224.474 1135.81,222 1135.81,219.619C1135.81,203.473 1135.63,185.747 1135.73,169.627C1130.24,169.428 1124.38,169.598 1118.75,169.542L1118.75,152.821ZM1368.71,168.347L1366.49,168.347C1365.46,163.552 1362.74,160.442 1357.02,160.328C1357.08,159.56 1356.91,158.565 1357.11,157.939C1364.03,158.359 1367.79,161.934 1368.71,168.347ZM1363.25,168.347L1361.12,168.347C1360.43,166.816 1359.38,165.645 1357.02,165.788L1357.02,163.399C1360.72,163.426 1362.72,165.156 1363.25,168.347ZM1296.03,172.528L1350.8,172.528C1350.95,181.172 1350.88,190.333 1350.88,199.4C1350.88,202.322 1351.24,206.434 1350.37,208.614C1348.87,212.342 1343.98,215.312 1339.62,216.207C1337.52,216.638 1334.78,216.462 1332.03,216.462L1324.26,216.462C1318.87,216.462 1313.32,216.81 1308.65,216.462C1306.12,216.274 1303.21,214.942 1301.23,213.647C1299.24,212.347 1297.19,210.484 1296.37,208.443C1295.61,206.561 1295.94,202.25 1295.94,199.827C1295.94,190.832 1295.94,181.387 1295.94,172.783C1295.93,172.662 1295.93,172.542 1296.03,172.528ZM1314.11,189.589L1314.11,194.111C1314.11,195.478 1313.88,197.315 1314.45,198.376C1315.33,200.003 1318.23,199.741 1320.85,199.741C1324.32,199.741 1331.08,200.575 1332.28,198.376C1333.49,196.158 1332.09,192.081 1332.62,189.333L1314.2,189.333C1314.1,189.348 1314.1,189.468 1314.11,189.589ZM1157.91,172.783L1212.76,172.783L1212.76,216.548L1194.51,216.548L1194.51,189.504L1176.08,189.504C1175.92,190.804 1175.99,192.338 1175.99,193.855C1175.99,195.37 1175.78,197.077 1176.25,198.035C1176.63,198.801 1178.17,199.312 1179.15,199.571C1180.49,199.924 1181.99,199.854 1183.25,199.912C1186.34,200.056 1189.19,199.804 1192.03,199.912L1192.03,216.548L1180.52,216.548C1176.62,216.548 1172.61,216.915 1169.25,216.377C1166.87,215.994 1164.57,214.824 1162.68,213.562C1160.93,212.387 1158.72,210.521 1158.16,208.443C1157.53,206.063 1157.82,202.767 1157.82,199.827L1157.82,173.039C1157.82,172.918 1157.81,172.798 1157.91,172.783ZM1233.75,236.169L1215.49,236.169C1215.76,215.066 1215.42,193.883 1215.66,172.783C1233.92,172.84 1252.4,172.67 1270.52,172.869C1270.52,179.294 1270.52,185.66 1270.52,192.319C1270.52,196.914 1270.68,202.462 1270.35,206.737C1270.23,208.239 1269.84,209.216 1269.07,210.32C1266.42,214.101 1261.76,216.548 1255.85,216.548L1236.39,216.548L1236.39,199.912L1243.64,199.912C1246.93,199.912 1251.12,200.49 1252.01,198.376C1252.97,196.087 1251.82,192.52 1252.26,189.504L1233.75,189.504L1233.75,236.169ZM1649.77,152.736L1651.48,152.736C1656.1,152.947 1659.34,155.046 1661.8,157.513C1664.28,159.988 1666.36,163.206 1666.75,167.665L1666.75,168.347C1666.02,168.25 1664.89,168.553 1664.45,168.176C1663.89,164.375 1662.23,161.09 1659.92,158.963C1657.62,156.833 1654.39,155.115 1649.86,155.295C1649.81,155.29 1649.76,155.282 1649.77,155.209L1649.77,152.736ZM1411.5,152.821L1505.51,152.821L1505.51,169.542L1446.65,169.542L1446.65,200.68C1446.65,204.187 1446.19,207.854 1446.82,210.917C1446.86,211.096 1446.9,211.369 1446.99,211.6C1448.35,214.978 1453.07,218.137 1456.88,218.936C1458.64,219.303 1460.77,219.192 1462.77,219.192C1477.14,219.192 1491.72,219.122 1505.68,219.278L1505.68,236.169L1440.16,236.169C1437.38,235.816 1434.84,234.677 1432.83,233.013C1430.93,231.444 1429.14,229.298 1428.73,226.615C1428.41,224.474 1428.56,222 1428.56,219.619C1428.56,203.473 1428.38,185.747 1428.48,169.627C1422.99,169.428 1417.13,169.598 1411.5,169.542L1411.5,152.821ZM1661.46,168.347L1659.24,168.347C1658.21,163.552 1655.49,160.442 1649.77,160.328C1649.83,159.56 1649.66,158.565 1649.86,157.939C1656.78,158.359 1660.54,161.934 1661.46,168.347ZM1656,168.347L1653.87,168.347C1653.18,166.816 1652.13,165.645 1649.77,165.788L1649.77,163.399C1653.47,163.426 1655.47,165.156 1656,168.347ZM1588.78,172.528L1643.55,172.528C1643.7,181.172 1643.63,190.333 1643.63,199.4C1643.63,202.322 1643.99,206.434 1643.12,208.614C1641.62,212.342 1636.73,215.312 1632.37,216.207C1630.27,216.638 1627.53,216.462 1624.78,216.462L1617.01,216.462C1611.62,216.462 1606.07,216.81 1601.4,216.462C1598.87,216.274 1595.96,214.942 1593.98,213.647C1591.99,212.347 1589.94,210.484 1589.12,208.443C1588.36,206.561 1588.69,202.25 1588.69,199.827C1588.69,190.832 1588.69,181.387 1588.69,172.783C1588.68,172.662 1588.68,172.542 1588.78,172.528ZM1606.86,189.589L1606.86,194.111C1606.86,195.478 1606.63,197.315 1607.2,198.376C1608.08,200.003 1610.98,199.741 1613.6,199.741C1617.07,199.741 1623.83,200.575 1625.03,198.376C1626.24,196.158 1624.84,192.081 1625.38,189.333L1606.95,189.333C1606.85,189.348 1606.85,189.468 1606.86,189.589ZM1450.66,172.783L1505.51,172.783L1505.51,216.548L1487.26,216.548L1487.26,189.504L1468.83,189.504C1468.67,190.804 1468.74,192.338 1468.74,193.855C1468.74,195.37 1468.53,197.077 1469,198.035C1469.38,198.801 1470.92,199.312 1471.9,199.571C1473.24,199.924 1474.74,199.854 1476,199.912C1479.09,200.056 1481.94,199.804 1484.78,199.912L1484.78,216.548L1473.27,216.548C1469.37,216.548 1465.36,216.915 1462,216.377C1459.62,215.994 1457.32,214.824 1455.43,213.562C1453.68,212.387 1451.47,210.521 1450.91,208.443C1450.28,206.063 1450.57,202.767 1450.57,199.827L1450.57,173.039C1450.57,172.918 1450.56,172.798 1450.66,172.783ZM1526.5,236.169L1508.24,236.169C1508.51,215.066 1508.17,193.883 1508.41,172.783C1526.67,172.84 1545.15,172.67 1563.27,172.869C1563.27,179.294 1563.27,185.66 1563.27,192.319C1563.27,196.914 1563.43,202.462 1563.1,206.737C1562.98,208.239 1562.59,209.216 1561.82,210.32C1559.17,214.101 1554.51,216.548 1548.6,216.548L1529.14,216.548L1529.14,199.912L1536.39,199.912C1539.68,199.912 1543.87,200.49 1544.76,198.376C1545.72,196.087 1544.57,192.52 1545.01,189.504L1526.5,189.504L1526.5,236.169ZM1210.02,273.669L1211.73,273.669C1216.35,273.881 1219.59,275.98 1222.05,278.446C1224.53,280.922 1226.61,284.14 1227,288.598L1227,289.281C1226.27,289.183 1225.14,289.487 1224.7,289.11C1224.14,285.309 1222.48,282.023 1220.17,279.897C1217.87,277.767 1214.64,276.048 1210.11,276.229C1210.06,276.224 1210.01,276.216 1210.02,276.143L1210.02,273.669ZM971.75,273.755L1065.76,273.755L1065.76,290.476L1006.9,290.476L1006.9,321.614C1006.9,325.121 1006.44,328.788 1007.07,331.851C1007.11,332.03 1007.15,332.303 1007.24,332.534C1008.6,335.912 1013.32,339.071 1017.13,339.87C1018.89,340.237 1021.02,340.126 1023.02,340.126C1037.39,340.126 1051.97,340.056 1065.93,340.211L1065.93,357.103L1000.41,357.103C997.635,356.75 995.09,355.611 993.078,353.947C991.18,352.378 989.39,350.231 988.983,347.548C988.657,345.408 988.812,342.934 988.812,340.553C988.812,324.407 988.635,306.681 988.727,290.561C983.238,290.362 977.381,290.532 971.75,290.476L971.75,273.755ZM1221.71,289.281L1219.49,289.281C1218.46,284.486 1215.74,281.376 1210.02,281.262C1210.08,280.494 1209.91,279.499 1210.11,278.873C1217.03,279.292 1220.79,282.868 1221.71,289.281ZM1216.25,289.281L1214.12,289.281C1213.43,287.75 1212.38,286.579 1210.02,286.722L1210.02,284.333C1213.72,284.36 1215.72,286.09 1216.25,289.281ZM1149.03,293.461L1203.8,293.461C1203.95,302.106 1203.88,311.267 1203.88,320.334C1203.88,323.256 1204.24,327.368 1203.37,329.548C1201.87,333.276 1196.98,336.245 1192.62,337.141C1190.52,337.572 1187.78,337.396 1185.03,337.396L1177.26,337.396C1171.87,337.396 1166.32,337.743 1161.65,337.396C1159.12,337.208 1156.21,335.876 1154.23,334.581C1152.24,333.281 1150.19,331.418 1149.37,329.377C1148.61,327.495 1148.94,323.184 1148.94,320.761C1148.94,311.766 1148.94,302.321 1148.94,293.717C1148.93,293.596 1148.93,293.476 1149.03,293.461ZM1167.11,310.523L1167.11,315.045C1167.11,316.412 1166.88,318.248 1167.45,319.31C1168.33,320.936 1171.23,320.675 1173.85,320.675C1177.32,320.675 1184.08,321.509 1185.28,319.31C1186.49,317.092 1185.09,313.015 1185.62,310.267L1167.2,310.267C1167.1,310.282 1167.1,310.402 1167.11,310.523ZM1010.91,293.717L1065.76,293.717L1065.76,337.482L1047.51,337.482L1047.51,310.438L1029.08,310.438C1028.92,311.738 1028.99,313.272 1028.99,314.789C1028.99,316.304 1028.78,318.011 1029.25,318.969C1029.63,319.735 1031.17,320.246 1032.15,320.505C1033.49,320.858 1034.99,320.788 1036.25,320.846C1039.34,320.99 1042.19,320.738 1045.03,320.846L1045.03,337.482L1033.52,337.482C1029.62,337.482 1025.61,337.849 1022.25,337.311C1019.87,336.928 1017.57,335.758 1015.69,334.496C1013.93,333.32 1011.72,331.455 1011.16,329.377C1010.53,326.996 1010.82,323.701 1010.82,320.761L1010.82,293.973C1010.82,293.852 1010.81,293.732 1010.91,293.717ZM1086.75,357.103L1068.49,357.103C1068.76,336 1068.42,314.817 1068.66,293.717C1086.92,293.774 1105.4,293.604 1123.52,293.803C1123.52,300.228 1123.52,306.594 1123.52,313.253C1123.52,317.848 1123.68,323.396 1123.35,327.671C1123.23,329.173 1122.84,330.15 1122.07,331.254C1119.42,335.035 1114.76,337.482 1108.85,337.482L1089.39,337.482L1089.39,320.846L1096.64,320.846C1099.93,320.846 1104.12,321.424 1105.01,319.31C1105.97,317.021 1104.82,313.454 1105.26,310.438L1086.75,310.438L1086.75,357.103ZM1889.16,293.717L1944.01,293.717L1944.01,337.482L1925.76,337.482L1925.76,310.438L1907.33,310.438C1907.17,311.738 1907.24,313.272 1907.24,314.789C1907.24,316.304 1907.03,318.011 1907.5,318.969C1907.88,319.735 1909.42,320.246 1910.4,320.505C1911.74,320.858 1913.24,320.788 1914.5,320.846C1917.59,320.99 1920.44,320.738 1923.28,320.846L1923.28,337.482L1911.77,337.482C1907.87,337.482 1903.86,337.849 1900.5,337.311C1898.12,336.928 1895.82,335.758 1893.93,334.496C1892.18,333.32 1889.97,331.455 1889.41,329.377C1888.78,326.996 1889.07,323.701 1889.07,320.761L1889.07,293.973C1889.07,293.852 1889.06,293.732 1889.16,293.717ZM1795.52,273.669L1797.23,273.669C1801.85,273.881 1805.09,275.98 1807.55,278.446C1810.03,280.922 1812.11,284.14 1812.5,288.598L1812.5,289.281C1811.77,289.183 1810.64,289.487 1810.2,289.11C1809.64,285.309 1807.98,282.023 1805.67,279.897C1803.37,277.767 1800.14,276.048 1795.61,276.229C1795.56,276.224 1795.51,276.216 1795.52,276.143L1795.52,273.669ZM1557.25,273.755L1651.26,273.755L1651.26,290.476L1592.4,290.476L1592.4,321.614C1592.4,325.121 1591.94,328.788 1592.57,331.851C1592.61,332.03 1592.65,332.303 1592.74,332.534C1594.1,335.912 1598.82,339.071 1602.63,339.87C1604.39,340.237 1606.52,340.126 1608.52,340.126C1622.89,340.126 1637.47,340.056 1651.43,340.211L1651.43,357.103L1585.91,357.103C1583.13,356.75 1580.59,355.611 1578.58,353.947C1576.68,352.378 1574.89,350.231 1574.48,347.548C1574.16,345.408 1574.31,342.934 1574.31,340.553C1574.31,324.407 1574.13,306.681 1574.23,290.561C1568.74,290.362 1562.88,290.532 1557.25,290.476L1557.25,273.755ZM1807.21,289.281L1804.99,289.281C1803.96,284.486 1801.24,281.376 1795.52,281.262C1795.58,280.494 1795.41,279.499 1795.61,278.873C1802.53,279.292 1806.29,282.868 1807.21,289.281ZM1801.75,289.281L1799.62,289.281C1798.93,287.75 1797.88,286.579 1795.52,286.722L1795.52,284.333C1799.22,284.36 1801.22,286.09 1801.75,289.281ZM1734.53,293.461L1789.3,293.461C1789.45,302.106 1789.38,311.267 1789.38,320.334C1789.38,323.256 1789.74,327.368 1788.87,329.548C1787.37,333.276 1782.48,336.245 1778.12,337.141C1776.02,337.572 1773.28,337.396 1770.53,337.396L1762.76,337.396C1757.37,337.396 1751.82,337.743 1747.15,337.396C1744.62,337.208 1741.71,335.876 1739.73,334.581C1737.74,333.281 1735.69,331.418 1734.87,329.377C1734.11,327.495 1734.44,323.184 1734.44,320.761C1734.44,311.766 1734.44,302.321 1734.44,293.717C1734.43,293.596 1734.43,293.476 1734.53,293.461ZM1752.61,310.523L1752.61,315.045C1752.61,316.412 1752.38,318.248 1752.95,319.31C1753.83,320.936 1756.73,320.675 1759.35,320.675C1762.82,320.675 1769.58,321.509 1770.78,319.31C1771.99,317.092 1770.59,313.015 1771.12,310.267L1752.7,310.267C1752.6,310.282 1752.6,310.402 1752.61,310.523ZM1596.41,293.717L1651.26,293.717L1651.26,337.482L1633.01,337.482L1633.01,310.438L1614.58,310.438C1614.42,311.738 1614.49,313.272 1614.49,314.789C1614.49,316.304 1614.28,318.011 1614.75,318.969C1615.13,319.735 1616.67,320.246 1617.65,320.505C1618.99,320.858 1620.49,320.788 1621.75,320.846C1624.84,320.99 1627.69,320.738 1630.53,320.846L1630.53,337.482L1619.02,337.482C1615.12,337.482 1611.11,337.849 1607.75,337.311C1605.37,336.928 1603.07,335.758 1601.18,334.496C1599.43,333.32 1597.22,331.455 1596.66,329.377C1596.03,326.996 1596.32,323.701 1596.32,320.761L1596.32,293.973C1596.32,293.852 1596.31,293.732 1596.41,293.717ZM1672.25,357.103L1653.99,357.103C1654.26,336 1653.92,314.817 1654.16,293.717C1672.42,293.774 1690.9,293.604 1709.02,293.803C1709.02,300.228 1709.02,306.594 1709.02,313.253C1709.02,317.848 1709.18,323.396 1708.85,327.671C1708.73,329.173 1708.34,330.15 1707.57,331.254C1704.92,335.035 1700.26,337.482 1694.35,337.482L1674.89,337.482L1674.89,320.846L1682.14,320.846C1685.43,320.846 1689.62,321.424 1690.51,319.31C1691.47,317.021 1690.32,313.454 1690.76,310.438L1672.25,310.438L1672.25,357.103ZM1704.25,152.821L1798.26,152.821L1798.26,169.542L1739.4,169.542L1739.4,200.68C1739.4,204.187 1738.94,207.854 1739.57,210.917C1739.61,211.096 1739.65,211.369 1739.74,211.6C1741.1,214.978 1745.82,218.137 1749.63,218.936C1751.39,219.303 1753.52,219.192 1755.52,219.192C1769.89,219.192 1784.47,219.122 1798.43,219.278L1798.43,236.169L1732.91,236.169C1730.13,235.816 1727.59,234.677 1725.58,233.013C1723.68,231.444 1721.89,229.298 1721.48,226.615C1721.16,224.474 1721.31,222 1721.31,219.619C1721.31,203.473 1721.13,185.747 1721.23,169.627C1715.74,169.428 1709.88,169.598 1704.25,169.542L1704.25,152.821ZM1743.41,172.783L1798.26,172.783L1798.26,216.548L1780.01,216.548L1780.01,189.504L1761.58,189.504C1761.42,190.804 1761.49,192.338 1761.49,193.855C1761.49,195.37 1761.28,197.077 1761.75,198.035C1762.13,198.801 1763.67,199.312 1764.65,199.571C1765.99,199.924 1767.49,199.854 1768.75,199.912C1771.84,200.056 1774.69,199.804 1777.53,199.912L1777.53,216.548L1766.02,216.548C1762.12,216.548 1758.11,216.915 1754.75,216.377C1752.37,215.994 1750.07,214.824 1748.18,213.562C1746.43,212.387 1744.22,210.521 1743.66,208.443C1743.03,206.063 1743.32,202.767 1743.32,199.827L1743.32,173.039C1743.32,172.918 1743.31,172.798 1743.41,172.783ZM478.773,1120.21L480.479,1120.21C485.1,1120.42 488.335,1122.52 490.802,1124.98C493.278,1127.46 495.358,1130.68 495.75,1135.14L495.75,1135.82C495.023,1135.72 493.895,1136.02 493.447,1135.65C492.887,1131.85 491.23,1128.56 488.925,1126.43C486.618,1124.3 483.389,1122.59 478.859,1122.77C478.807,1122.76 478.758,1122.75 478.773,1122.68L478.773,1120.21ZM490.461,1135.82L488.243,1135.82C487.209,1131.02 484.488,1127.91 478.773,1127.8C478.829,1127.03 478.66,1126.04 478.859,1125.41C485.776,1125.83 489.537,1129.4 490.461,1135.82ZM1064.27,1120.21L1065.98,1120.21C1070.6,1120.42 1073.84,1122.52 1076.3,1124.98C1078.78,1127.46 1080.86,1130.68 1081.25,1135.14L1081.25,1135.82C1080.52,1135.72 1079.39,1136.02 1078.95,1135.65C1078.39,1131.85 1076.73,1128.56 1074.42,1126.43C1072.12,1124.3 1068.89,1122.59 1064.36,1122.77C1064.31,1122.76 1064.26,1122.75 1064.27,1122.68L1064.27,1120.21ZM826,1120.29L920.012,1120.29L920.012,1137.01L861.148,1137.01L861.148,1168.15C861.148,1171.66 860.694,1175.33 861.319,1178.39C861.355,1178.57 861.396,1178.84 861.489,1179.07C862.851,1182.45 867.567,1185.61 871.385,1186.41C873.14,1186.77 875.269,1186.66 877.272,1186.66C891.639,1186.66 906.218,1186.59 920.183,1186.75L920.183,1203.64L854.664,1203.64C851.885,1203.29 849.34,1202.15 847.328,1200.48C845.43,1198.91 843.64,1196.77 843.233,1194.09C842.907,1191.94 843.062,1189.47 843.062,1187.09C843.062,1170.94 842.885,1153.22 842.977,1137.1C837.488,1136.9 831.631,1137.07 826,1137.01L826,1120.29ZM1075.96,1135.82L1073.74,1135.82C1072.71,1131.02 1069.99,1127.91 1064.27,1127.8C1064.33,1127.03 1064.16,1126.04 1064.36,1125.41C1071.28,1125.83 1075.04,1129.4 1075.96,1135.82ZM1070.5,1135.82L1068.37,1135.82C1067.68,1134.29 1066.63,1133.12 1064.27,1133.26L1064.27,1130.87C1067.97,1130.9 1069.97,1132.63 1070.5,1135.82ZM1003.28,1140L1058.05,1140C1058.2,1148.64 1058.13,1157.8 1058.13,1166.87C1058.13,1169.79 1058.49,1173.9 1057.62,1176.09C1056.12,1179.81 1051.22,1182.78 1046.87,1183.68C1044.77,1184.11 1042.03,1183.93 1039.28,1183.93L1031.51,1183.93C1026.12,1183.93 1020.57,1184.28 1015.9,1183.93C1013.37,1183.75 1010.46,1182.41 1008.48,1181.12C1006.49,1179.82 1004.44,1177.95 1003.62,1175.91C1002.86,1174.03 1003.19,1169.72 1003.19,1167.3C1003.19,1158.3 1003.19,1148.86 1003.19,1140.25C1003.18,1140.13 1003.18,1140.01 1003.28,1140ZM1021.36,1157.06L1021.36,1161.58C1021.36,1162.95 1021.13,1164.79 1021.7,1165.85C1022.58,1167.47 1025.48,1167.21 1028.1,1167.21C1031.57,1167.21 1038.33,1168.05 1039.53,1165.85C1040.74,1163.63 1039.34,1159.55 1039.88,1156.8L1021.45,1156.8C1021.35,1156.82 1021.35,1156.94 1021.36,1157.06ZM865.158,1140.25L920.012,1140.25L920.012,1184.02L901.756,1184.02L901.756,1156.98L883.329,1156.98C883.175,1158.28 883.244,1159.81 883.244,1161.33C883.244,1162.84 883.027,1164.55 883.499,1165.51C883.877,1166.27 885.417,1166.78 886.4,1167.04C887.743,1167.39 889.242,1167.33 890.495,1167.38C893.591,1167.53 896.436,1167.28 899.282,1167.38L899.282,1184.02L887.765,1184.02C883.865,1184.02 879.856,1184.39 876.504,1183.85C874.117,1183.46 871.819,1182.3 869.935,1181.03C868.18,1179.86 865.966,1177.99 865.414,1175.91C864.782,1173.53 865.072,1170.24 865.072,1167.3L865.072,1140.51C865.065,1140.39 865.058,1140.27 865.158,1140.25ZM940.999,1203.64L922.743,1203.64C923.008,1182.54 922.668,1161.35 922.913,1140.25C941.17,1140.31 959.653,1140.14 977.768,1140.34C977.768,1146.77 977.768,1153.13 977.768,1159.79C977.768,1164.38 977.927,1169.93 977.597,1174.21C977.482,1175.71 977.09,1176.69 976.318,1177.79C973.675,1181.57 969.014,1184.02 963.095,1184.02L943.643,1184.02L943.643,1167.38L950.895,1167.38C954.176,1167.38 958.366,1167.96 959.256,1165.85C960.219,1163.56 959.067,1159.99 959.512,1156.98L940.999,1156.98L940.999,1203.64ZM771.523,1120.21L773.229,1120.21C777.85,1120.42 781.085,1122.52 783.552,1124.98C786.028,1127.46 788.108,1130.68 788.5,1135.14L788.5,1135.82C787.773,1135.72 786.645,1136.02 786.197,1135.65C785.637,1131.85 783.98,1128.56 781.675,1126.43C779.368,1124.3 776.139,1122.59 771.609,1122.77C771.557,1122.76 771.508,1122.75 771.523,1122.68L771.523,1120.21ZM533.25,1120.29L627.262,1120.29L627.262,1137.01L568.398,1137.01L568.398,1168.15C568.398,1171.66 567.944,1175.33 568.569,1178.39C568.605,1178.57 568.646,1178.84 568.739,1179.07C570.101,1182.45 574.817,1185.61 578.635,1186.41C580.39,1186.77 582.519,1186.66 584.522,1186.66C598.889,1186.66 613.468,1186.59 627.433,1186.75L627.433,1203.64L561.914,1203.64C559.135,1203.29 556.59,1202.15 554.578,1200.48C552.68,1198.91 550.89,1196.77 550.483,1194.09C550.157,1191.94 550.312,1189.47 550.312,1187.09C550.312,1170.94 550.135,1153.22 550.227,1137.1C544.738,1136.9 538.881,1137.07 533.25,1137.01L533.25,1120.29ZM783.211,1135.82L780.993,1135.82C779.959,1131.02 777.238,1127.91 771.523,1127.8C771.579,1127.03 771.41,1126.04 771.609,1125.41C778.526,1125.83 782.287,1129.4 783.211,1135.82ZM777.751,1135.82L775.618,1135.82C774.931,1134.29 773.884,1133.12 771.523,1133.26L771.523,1130.87C775.222,1130.9 777.217,1132.63 777.751,1135.82ZM710.526,1140L765.295,1140C765.452,1148.64 765.38,1157.8 765.381,1166.87C765.381,1169.79 765.744,1173.9 764.869,1176.09C763.372,1179.81 758.475,1182.78 754.12,1183.68C752.019,1184.11 749.28,1183.93 746.527,1183.93L738.764,1183.93C733.367,1183.93 727.819,1184.28 723.152,1183.93C720.624,1183.75 717.71,1182.41 715.73,1181.12C713.743,1179.82 711.689,1177.95 710.867,1175.91C710.11,1174.03 710.44,1169.72 710.44,1167.3C710.441,1158.3 710.44,1148.86 710.44,1140.25C710.433,1140.13 710.426,1140.01 710.526,1140ZM728.612,1157.06L728.612,1161.58C728.612,1162.95 728.378,1164.79 728.953,1165.85C729.834,1167.47 732.726,1167.21 735.352,1167.21C738.819,1167.21 745.584,1168.05 746.783,1165.85C747.993,1163.63 746.585,1159.55 747.125,1156.8L728.697,1156.8C728.598,1156.82 728.604,1156.94 728.612,1157.06ZM572.408,1140.25L627.262,1140.25L627.262,1184.02L609.006,1184.02L609.006,1156.98L590.579,1156.98C590.425,1158.28 590.494,1159.81 590.494,1161.33C590.494,1162.84 590.277,1164.55 590.749,1165.51C591.127,1166.27 592.667,1166.78 593.65,1167.04C594.993,1167.39 596.492,1167.33 597.745,1167.38C600.841,1167.53 603.686,1167.28 606.532,1167.38L606.532,1184.02L595.015,1184.02C591.115,1184.02 587.106,1184.39 583.754,1183.85C581.367,1183.46 579.069,1182.3 577.185,1181.03C575.43,1179.86 573.216,1177.99 572.664,1175.91C572.032,1173.53 572.322,1170.24 572.322,1167.3L572.322,1140.51C572.315,1140.39 572.308,1140.27 572.408,1140.25ZM648.249,1203.64L629.993,1203.64C630.258,1182.54 629.918,1161.35 630.163,1140.25C648.42,1140.31 666.903,1140.14 685.018,1140.34C685.018,1146.77 685.018,1153.13 685.018,1159.79C685.018,1164.38 685.177,1169.93 684.847,1174.21C684.732,1175.71 684.34,1176.69 683.568,1177.79C680.925,1181.57 676.264,1184.02 670.345,1184.02L650.893,1184.02L650.893,1167.38L658.145,1167.38C661.426,1167.38 665.616,1167.96 666.506,1165.85C667.469,1163.56 666.317,1159.99 666.762,1156.98L648.249,1156.98L648.249,1203.64ZM917.273,1241.14L918.979,1241.14C923.6,1241.35 926.835,1243.45 929.302,1245.92C931.778,1248.39 933.858,1251.61 934.25,1256.07L934.25,1256.75C933.523,1256.65 932.395,1256.96 931.947,1256.58C931.387,1252.78 929.73,1249.49 927.425,1247.37C925.118,1245.24 921.889,1243.52 917.359,1243.7C917.307,1243.69 917.258,1243.69 917.273,1243.61L917.273,1241.14ZM679,1241.23L773.012,1241.23L773.012,1257.95L714.148,1257.95L714.148,1289.09C714.148,1292.59 713.694,1296.26 714.319,1299.32C714.355,1299.5 714.396,1299.77 714.489,1300.01C715.851,1303.38 720.567,1306.54 724.385,1307.34C726.14,1307.71 728.269,1307.6 730.272,1307.6C744.639,1307.6 759.218,1307.53 773.183,1307.68L773.183,1324.57L707.664,1324.57C704.885,1324.22 702.34,1323.08 700.328,1321.42C698.43,1319.85 696.64,1317.7 696.233,1315.02C695.907,1312.88 696.062,1310.4 696.062,1308.02C696.062,1291.88 695.885,1274.15 695.977,1258.03C690.488,1257.83 684.631,1258 679,1257.95L679,1241.23ZM928.961,1256.75L926.743,1256.75C925.709,1251.96 922.988,1248.85 917.273,1248.73C917.329,1247.96 917.16,1246.97 917.359,1246.34C924.276,1246.76 928.037,1250.34 928.961,1256.75ZM923.501,1256.75L921.368,1256.75C920.681,1255.22 919.634,1254.05 917.273,1254.19L917.273,1251.8C920.972,1251.83 922.967,1253.56 923.501,1256.75ZM856.276,1260.93L911.045,1260.93C911.202,1269.58 911.13,1278.74 911.131,1287.81C911.131,1290.73 911.494,1294.84 910.619,1297.02C909.122,1300.75 904.225,1303.72 899.87,1304.61C897.769,1305.04 895.03,1304.87 892.277,1304.87L884.514,1304.87C879.117,1304.87 873.569,1305.21 868.902,1304.87C866.374,1304.68 863.46,1303.35 861.48,1302.05C859.493,1300.75 857.439,1298.89 856.617,1296.85C855.86,1294.97 856.19,1290.65 856.19,1288.23C856.191,1279.24 856.19,1269.79 856.19,1261.19C856.183,1261.07 856.176,1260.95 856.276,1260.93ZM874.362,1277.99L874.362,1282.52C874.362,1283.88 874.128,1285.72 874.703,1286.78C875.584,1288.41 878.476,1288.15 881.102,1288.15C884.569,1288.15 891.334,1288.98 892.533,1286.78C893.743,1284.56 892.335,1280.49 892.875,1277.74L874.447,1277.74C874.348,1277.75 874.354,1277.87 874.362,1277.99ZM718.158,1261.19L773.012,1261.19L773.012,1304.95L754.756,1304.95L754.756,1277.91L736.329,1277.91C736.175,1279.21 736.244,1280.74 736.244,1282.26C736.244,1283.78 736.027,1285.48 736.499,1286.44C736.877,1287.21 738.417,1287.72 739.4,1287.98C740.743,1288.33 742.242,1288.26 743.495,1288.32C746.591,1288.46 749.436,1288.21 752.282,1288.32L752.282,1304.95L740.765,1304.95C736.865,1304.95 732.856,1305.32 729.504,1304.78C727.117,1304.4 724.819,1303.23 722.935,1301.97C721.18,1300.79 718.966,1298.93 718.414,1296.85C717.782,1294.47 718.072,1291.17 718.072,1288.23L718.072,1261.44C718.065,1261.32 718.058,1261.2 718.158,1261.19ZM793.999,1324.57L775.743,1324.57C776.008,1303.47 775.668,1282.29 775.913,1261.19C794.17,1261.25 812.653,1261.08 830.768,1261.27C830.768,1267.7 830.768,1274.07 830.768,1280.72C830.768,1285.32 830.927,1290.87 830.597,1295.14C830.482,1296.64 830.09,1297.62 829.318,1298.73C826.675,1302.51 822.014,1304.95 816.095,1304.95L796.643,1304.95L796.643,1288.32L803.895,1288.32C807.176,1288.32 811.366,1288.89 812.256,1286.78C813.219,1284.49 812.067,1280.92 812.512,1277.91L793.999,1277.91L793.999,1324.57ZM624.523,1241.14L626.229,1241.14C630.85,1241.35 634.085,1243.45 636.552,1245.92C639.028,1248.39 641.108,1251.61 641.5,1256.07L641.5,1256.75C640.773,1256.65 639.645,1256.96 639.197,1256.58C638.637,1252.78 636.98,1249.49 634.675,1247.37C632.368,1245.24 629.139,1243.52 624.609,1243.7C624.557,1243.69 624.508,1243.69 624.523,1243.61L624.523,1241.14ZM636.211,1256.75L633.993,1256.75C632.959,1251.96 630.238,1248.85 624.523,1248.73C624.579,1247.96 624.41,1246.97 624.609,1246.34C631.526,1246.76 635.287,1250.34 636.211,1256.75ZM630.751,1256.75L628.618,1256.75C627.931,1255.22 626.884,1254.05 624.523,1254.19L624.523,1251.8C628.222,1251.83 630.217,1253.56 630.751,1256.75ZM1502.77,1241.14L1504.48,1241.14C1509.1,1241.35 1512.34,1243.45 1514.8,1245.92C1517.28,1248.39 1519.36,1251.61 1519.75,1256.07L1519.75,1256.75C1519.02,1256.65 1517.89,1256.96 1517.45,1256.58C1516.89,1252.78 1515.23,1249.49 1512.92,1247.37C1510.62,1245.24 1507.39,1243.52 1502.86,1243.7C1502.81,1243.69 1502.76,1243.69 1502.77,1243.61L1502.77,1241.14ZM1264.5,1241.23L1358.51,1241.23L1358.51,1257.95L1299.65,1257.95L1299.65,1289.09C1299.65,1292.59 1299.19,1296.26 1299.82,1299.32C1299.86,1299.5 1299.9,1299.77 1299.99,1300.01C1301.35,1303.38 1306.07,1306.54 1309.88,1307.34C1311.64,1307.71 1313.77,1307.6 1315.77,1307.6C1330.14,1307.6 1344.72,1307.53 1358.68,1307.68L1358.68,1324.57L1293.16,1324.57C1290.38,1324.22 1287.84,1323.08 1285.83,1321.42C1283.93,1319.85 1282.14,1317.7 1281.73,1315.02C1281.41,1312.88 1281.56,1310.4 1281.56,1308.02C1281.56,1291.88 1281.38,1274.15 1281.48,1258.03C1275.99,1257.83 1270.13,1258 1264.5,1257.95L1264.5,1241.23ZM1514.46,1256.75L1512.24,1256.75C1511.21,1251.96 1508.49,1248.85 1502.77,1248.73C1502.83,1247.96 1502.66,1246.97 1502.86,1246.34C1509.78,1246.76 1513.54,1250.34 1514.46,1256.75ZM1509,1256.75L1506.87,1256.75C1506.18,1255.22 1505.13,1254.05 1502.77,1254.19L1502.77,1251.8C1506.47,1251.83 1508.47,1253.56 1509,1256.75ZM1441.78,1260.93L1496.55,1260.93C1496.7,1269.58 1496.63,1278.74 1496.63,1287.81C1496.63,1290.73 1496.99,1294.84 1496.12,1297.02C1494.62,1300.75 1489.73,1303.72 1485.37,1304.61C1483.27,1305.04 1480.53,1304.87 1477.78,1304.87L1470.01,1304.87C1464.62,1304.87 1459.07,1305.21 1454.4,1304.87C1451.87,1304.68 1448.96,1303.35 1446.98,1302.05C1444.99,1300.75 1442.94,1298.89 1442.12,1296.85C1441.36,1294.97 1441.69,1290.65 1441.69,1288.23C1441.69,1279.24 1441.69,1269.79 1441.69,1261.19C1441.68,1261.07 1441.68,1260.95 1441.78,1260.93ZM1459.86,1277.99L1459.86,1282.52C1459.86,1283.88 1459.63,1285.72 1460.2,1286.78C1461.08,1288.41 1463.98,1288.15 1466.6,1288.15C1470.07,1288.15 1476.83,1288.98 1478.03,1286.78C1479.24,1284.56 1477.84,1280.49 1478.38,1277.74L1459.95,1277.74C1459.85,1277.75 1459.85,1277.87 1459.86,1277.99ZM1303.66,1261.19L1358.51,1261.19L1358.51,1304.95L1340.26,1304.95L1340.26,1277.91L1321.83,1277.91C1321.67,1279.21 1321.74,1280.74 1321.74,1282.26C1321.74,1283.78 1321.53,1285.48 1322,1286.44C1322.38,1287.21 1323.92,1287.72 1324.9,1287.98C1326.24,1288.33 1327.74,1288.26 1329,1288.32C1332.09,1288.46 1334.94,1288.21 1337.78,1288.32L1337.78,1304.95L1326.27,1304.95C1322.37,1304.95 1318.36,1305.32 1315,1304.78C1312.62,1304.4 1310.32,1303.23 1308.43,1301.97C1306.68,1300.79 1304.47,1298.93 1303.91,1296.85C1303.28,1294.47 1303.57,1291.17 1303.57,1288.23L1303.57,1261.44C1303.57,1261.32 1303.56,1261.2 1303.66,1261.19ZM1379.5,1324.57L1361.24,1324.57C1361.51,1303.47 1361.17,1282.29 1361.41,1261.19C1379.67,1261.25 1398.15,1261.08 1416.27,1261.27C1416.27,1267.7 1416.27,1274.07 1416.27,1280.72C1416.27,1285.32 1416.43,1290.87 1416.1,1295.14C1415.98,1296.64 1415.59,1297.62 1414.82,1298.73C1412.17,1302.51 1407.51,1304.95 1401.6,1304.95L1382.14,1304.95L1382.14,1288.32L1389.39,1288.32C1392.68,1288.32 1396.87,1288.89 1397.76,1286.78C1398.72,1284.49 1397.57,1280.92 1398.01,1277.91L1379.5,1277.91L1379.5,1324.57ZM1357.02,1120.21L1358.73,1120.21C1363.35,1120.42 1366.59,1122.52 1369.05,1124.98C1371.53,1127.46 1373.61,1130.68 1374,1135.14L1374,1135.82C1373.27,1135.72 1372.14,1136.02 1371.7,1135.65C1371.14,1131.85 1369.48,1128.56 1367.17,1126.43C1364.87,1124.3 1361.64,1122.59 1357.11,1122.77C1357.06,1122.76 1357.01,1122.75 1357.02,1122.68L1357.02,1120.21ZM1118.75,1120.29L1212.76,1120.29L1212.76,1137.01L1153.9,1137.01L1153.9,1168.15C1153.9,1171.66 1153.44,1175.33 1154.07,1178.39C1154.11,1178.57 1154.15,1178.84 1154.24,1179.07C1155.6,1182.45 1160.32,1185.61 1164.13,1186.41C1165.89,1186.77 1168.02,1186.66 1170.02,1186.66C1184.39,1186.66 1198.97,1186.59 1212.93,1186.75L1212.93,1203.64L1147.41,1203.64C1144.63,1203.29 1142.09,1202.15 1140.08,1200.48C1138.18,1198.91 1136.39,1196.77 1135.98,1194.09C1135.66,1191.94 1135.81,1189.47 1135.81,1187.09C1135.81,1170.94 1135.63,1153.22 1135.73,1137.1C1130.24,1136.9 1124.38,1137.07 1118.75,1137.01L1118.75,1120.29ZM1368.71,1135.82L1366.49,1135.82C1365.46,1131.02 1362.74,1127.91 1357.02,1127.8C1357.08,1127.03 1356.91,1126.04 1357.11,1125.41C1364.03,1125.83 1367.79,1129.4 1368.71,1135.82ZM1363.25,1135.82L1361.12,1135.82C1360.43,1134.29 1359.38,1133.12 1357.02,1133.26L1357.02,1130.87C1360.72,1130.9 1362.72,1132.63 1363.25,1135.82ZM1296.03,1140L1350.8,1140C1350.95,1148.64 1350.88,1157.8 1350.88,1166.87C1350.88,1169.79 1351.24,1173.9 1350.37,1176.09C1348.87,1179.81 1343.98,1182.78 1339.62,1183.68C1337.52,1184.11 1334.78,1183.93 1332.03,1183.93L1324.26,1183.93C1318.87,1183.93 1313.32,1184.28 1308.65,1183.93C1306.12,1183.75 1303.21,1182.41 1301.23,1181.12C1299.24,1179.82 1297.19,1177.95 1296.37,1175.91C1295.61,1174.03 1295.94,1169.72 1295.94,1167.3C1295.94,1158.3 1295.94,1148.86 1295.94,1140.25C1295.93,1140.13 1295.93,1140.01 1296.03,1140ZM1314.11,1157.06L1314.11,1161.58C1314.11,1162.95 1313.88,1164.79 1314.45,1165.85C1315.33,1167.47 1318.23,1167.21 1320.85,1167.21C1324.32,1167.21 1331.08,1168.05 1332.28,1165.85C1333.49,1163.63 1332.09,1159.55 1332.62,1156.8L1314.2,1156.8C1314.1,1156.82 1314.1,1156.94 1314.11,1157.06ZM1157.91,1140.25L1212.76,1140.25L1212.76,1184.02L1194.51,1184.02L1194.51,1156.98L1176.08,1156.98C1175.92,1158.28 1175.99,1159.81 1175.99,1161.33C1175.99,1162.84 1175.78,1164.55 1176.25,1165.51C1176.63,1166.27 1178.17,1166.78 1179.15,1167.04C1180.49,1167.39 1181.99,1167.33 1183.25,1167.38C1186.34,1167.53 1189.19,1167.28 1192.03,1167.38L1192.03,1184.02L1180.52,1184.02C1176.62,1184.02 1172.61,1184.39 1169.25,1183.85C1166.87,1183.46 1164.57,1182.3 1162.68,1181.03C1160.93,1179.86 1158.72,1177.99 1158.16,1175.91C1157.53,1173.53 1157.82,1170.24 1157.82,1167.3L1157.82,1140.51C1157.82,1140.39 1157.81,1140.27 1157.91,1140.25ZM1233.75,1203.64L1215.49,1203.64C1215.76,1182.54 1215.42,1161.35 1215.66,1140.25C1233.92,1140.31 1252.4,1140.14 1270.52,1140.34C1270.52,1146.77 1270.52,1153.13 1270.52,1159.79C1270.52,1164.38 1270.68,1169.93 1270.35,1174.21C1270.23,1175.71 1269.84,1176.69 1269.07,1177.79C1266.42,1181.57 1261.76,1184.02 1255.85,1184.02L1236.39,1184.02L1236.39,1167.38L1243.64,1167.38C1246.93,1167.38 1251.12,1167.96 1252.01,1165.85C1252.97,1163.56 1251.82,1159.99 1252.26,1156.98L1233.75,1156.98L1233.75,1203.64ZM1649.77,1120.21L1651.48,1120.21C1656.1,1120.42 1659.34,1122.52 1661.8,1124.98C1664.28,1127.46 1666.36,1130.68 1666.75,1135.14L1666.75,1135.82C1666.02,1135.72 1664.89,1136.02 1664.45,1135.65C1663.89,1131.85 1662.23,1128.56 1659.92,1126.43C1657.62,1124.3 1654.39,1122.59 1649.86,1122.77C1649.81,1122.76 1649.76,1122.75 1649.77,1122.68L1649.77,1120.21ZM1411.5,1120.29L1505.51,1120.29L1505.51,1137.01L1446.65,1137.01L1446.65,1168.15C1446.65,1171.66 1446.19,1175.33 1446.82,1178.39C1446.86,1178.57 1446.9,1178.84 1446.99,1179.07C1448.35,1182.45 1453.07,1185.61 1456.88,1186.41C1458.64,1186.77 1460.77,1186.66 1462.77,1186.66C1477.14,1186.66 1491.72,1186.59 1505.68,1186.75L1505.68,1203.64L1440.16,1203.64C1437.38,1203.29 1434.84,1202.15 1432.83,1200.48C1430.93,1198.91 1429.14,1196.77 1428.73,1194.09C1428.41,1191.94 1428.56,1189.47 1428.56,1187.09C1428.56,1170.94 1428.38,1153.22 1428.48,1137.1C1422.99,1136.9 1417.13,1137.07 1411.5,1137.01L1411.5,1120.29ZM1661.46,1135.82L1659.24,1135.82C1658.21,1131.02 1655.49,1127.91 1649.77,1127.8C1649.83,1127.03 1649.66,1126.04 1649.86,1125.41C1656.78,1125.83 1660.54,1129.4 1661.46,1135.82ZM1656,1135.82L1653.87,1135.82C1653.18,1134.29 1652.13,1133.12 1649.77,1133.26L1649.77,1130.87C1653.47,1130.9 1655.47,1132.63 1656,1135.82ZM1588.78,1140L1643.55,1140C1643.7,1148.64 1643.63,1157.8 1643.63,1166.87C1643.63,1169.79 1643.99,1173.9 1643.12,1176.09C1641.62,1179.81 1636.73,1182.78 1632.37,1183.68C1630.27,1184.11 1627.53,1183.93 1624.78,1183.93L1617.01,1183.93C1611.62,1183.93 1606.07,1184.28 1601.4,1183.93C1598.87,1183.75 1595.96,1182.41 1593.98,1181.12C1591.99,1179.82 1589.94,1177.95 1589.12,1175.91C1588.36,1174.03 1588.69,1169.72 1588.69,1167.3C1588.69,1158.3 1588.69,1148.86 1588.69,1140.25C1588.68,1140.13 1588.68,1140.01 1588.78,1140ZM1606.86,1157.06L1606.86,1161.58C1606.86,1162.95 1606.63,1164.79 1607.2,1165.85C1608.08,1167.47 1610.98,1167.21 1613.6,1167.21C1617.07,1167.21 1623.83,1168.05 1625.03,1165.85C1626.24,1163.63 1624.84,1159.55 1625.38,1156.8L1606.95,1156.8C1606.85,1156.82 1606.85,1156.94 1606.86,1157.06ZM1450.66,1140.25L1505.51,1140.25L1505.51,1184.02L1487.26,1184.02L1487.26,1156.98L1468.83,1156.98C1468.67,1158.28 1468.74,1159.81 1468.74,1161.33C1468.74,1162.84 1468.53,1164.55 1469,1165.51C1469.38,1166.27 1470.92,1166.78 1471.9,1167.04C1473.24,1167.39 1474.74,1167.33 1476,1167.38C1479.09,1167.53 1481.94,1167.28 1484.78,1167.38L1484.78,1184.02L1473.27,1184.02C1469.37,1184.02 1465.36,1184.39 1462,1183.85C1459.62,1183.46 1457.32,1182.3 1455.43,1181.03C1453.68,1179.86 1451.47,1177.99 1450.91,1175.91C1450.28,1173.53 1450.57,1170.24 1450.57,1167.3L1450.57,1140.51C1450.57,1140.39 1450.56,1140.27 1450.66,1140.25ZM1526.5,1203.64L1508.24,1203.64C1508.51,1182.54 1508.17,1161.35 1508.41,1140.25C1526.67,1140.31 1545.15,1140.14 1563.27,1140.34C1563.27,1146.77 1563.27,1153.13 1563.27,1159.79C1563.27,1164.38 1563.43,1169.93 1563.1,1174.21C1562.98,1175.71 1562.59,1176.69 1561.82,1177.79C1559.17,1181.57 1554.51,1184.02 1548.6,1184.02L1529.14,1184.02L1529.14,1167.38L1536.39,1167.38C1539.68,1167.38 1543.87,1167.96 1544.76,1165.85C1545.72,1163.56 1544.57,1159.99 1545.01,1156.98L1526.5,1156.98L1526.5,1203.64ZM1210.02,1241.14L1211.73,1241.14C1216.35,1241.35 1219.59,1243.45 1222.05,1245.92C1224.53,1248.39 1226.61,1251.61 1227,1256.07L1227,1256.75C1226.27,1256.65 1225.14,1256.96 1224.7,1256.58C1224.14,1252.78 1222.48,1249.49 1220.17,1247.37C1217.87,1245.24 1214.64,1243.52 1210.11,1243.7C1210.06,1243.69 1210.01,1243.69 1210.02,1243.61L1210.02,1241.14ZM971.75,1241.23L1065.76,1241.23L1065.76,1257.95L1006.9,1257.95L1006.9,1289.09C1006.9,1292.59 1006.44,1296.26 1007.07,1299.32C1007.11,1299.5 1007.15,1299.77 1007.24,1300.01C1008.6,1303.38 1013.32,1306.54 1017.13,1307.34C1018.89,1307.71 1021.02,1307.6 1023.02,1307.6C1037.39,1307.6 1051.97,1307.53 1065.93,1307.68L1065.93,1324.57L1000.41,1324.57C997.635,1324.22 995.09,1323.08 993.078,1321.42C991.18,1319.85 989.39,1317.7 988.983,1315.02C988.657,1312.88 988.812,1310.4 988.812,1308.02C988.812,1291.88 988.635,1274.15 988.727,1258.03C983.238,1257.83 977.381,1258 971.75,1257.95L971.75,1241.23ZM1221.71,1256.75L1219.49,1256.75C1218.46,1251.96 1215.74,1248.85 1210.02,1248.73C1210.08,1247.96 1209.91,1246.97 1210.11,1246.34C1217.03,1246.76 1220.79,1250.34 1221.71,1256.75ZM1216.25,1256.75L1214.12,1256.75C1213.43,1255.22 1212.38,1254.05 1210.02,1254.19L1210.02,1251.8C1213.72,1251.83 1215.72,1253.56 1216.25,1256.75ZM1149.03,1260.93L1203.8,1260.93C1203.95,1269.58 1203.88,1278.74 1203.88,1287.81C1203.88,1290.73 1204.24,1294.84 1203.37,1297.02C1201.87,1300.75 1196.98,1303.72 1192.62,1304.61C1190.52,1305.04 1187.78,1304.87 1185.03,1304.87L1177.26,1304.87C1171.87,1304.87 1166.32,1305.21 1161.65,1304.87C1159.12,1304.68 1156.21,1303.35 1154.23,1302.05C1152.24,1300.75 1150.19,1298.89 1149.37,1296.85C1148.61,1294.97 1148.94,1290.65 1148.94,1288.23C1148.94,1279.24 1148.94,1269.79 1148.94,1261.19C1148.93,1261.07 1148.93,1260.95 1149.03,1260.93ZM1167.11,1277.99L1167.11,1282.52C1167.11,1283.88 1166.88,1285.72 1167.45,1286.78C1168.33,1288.41 1171.23,1288.15 1173.85,1288.15C1177.32,1288.15 1184.08,1288.98 1185.28,1286.78C1186.49,1284.56 1185.09,1280.49 1185.62,1277.74L1167.2,1277.74C1167.1,1277.75 1167.1,1277.87 1167.11,1277.99ZM1010.91,1261.19L1065.76,1261.19L1065.76,1304.95L1047.51,1304.95L1047.51,1277.91L1029.08,1277.91C1028.92,1279.21 1028.99,1280.74 1028.99,1282.26C1028.99,1283.78 1028.78,1285.48 1029.25,1286.44C1029.63,1287.21 1031.17,1287.72 1032.15,1287.98C1033.49,1288.33 1034.99,1288.26 1036.25,1288.32C1039.34,1288.46 1042.19,1288.21 1045.03,1288.32L1045.03,1304.95L1033.52,1304.95C1029.62,1304.95 1025.61,1305.32 1022.25,1304.78C1019.87,1304.4 1017.57,1303.23 1015.69,1301.97C1013.93,1300.79 1011.72,1298.93 1011.16,1296.85C1010.53,1294.47 1010.82,1291.17 1010.82,1288.23L1010.82,1261.44C1010.82,1261.32 1010.81,1261.2 1010.91,1261.19ZM1086.75,1324.57L1068.49,1324.57C1068.76,1303.47 1068.42,1282.29 1068.66,1261.19C1086.92,1261.25 1105.4,1261.08 1123.52,1261.27C1123.52,1267.7 1123.52,1274.07 1123.52,1280.72C1123.52,1285.32 1123.68,1290.87 1123.35,1295.14C1123.23,1296.64 1122.84,1297.62 1122.07,1298.73C1119.42,1302.51 1114.76,1304.95 1108.85,1304.95L1089.39,1304.95L1089.39,1288.32L1096.64,1288.32C1099.93,1288.32 1104.12,1288.89 1105.01,1286.78C1105.97,1284.49 1104.82,1280.92 1105.26,1277.91L1086.75,1277.91L1086.75,1324.57ZM2673.77,1241.14L2675.48,1241.14C2680.1,1241.35 2683.34,1243.45 2685.8,1245.92C2688.28,1248.39 2690.36,1251.61 2690.75,1256.07L2690.75,1256.75C2690.02,1256.65 2688.89,1256.96 2688.45,1256.58C2687.89,1252.78 2686.23,1249.49 2683.93,1247.37C2681.62,1245.24 2678.39,1243.52 2673.86,1243.7C2673.81,1243.69 2673.76,1243.69 2673.77,1243.61L2673.77,1241.14ZM2435.5,1241.23L2529.51,1241.23L2529.51,1257.95L2470.65,1257.95L2470.65,1289.09C2470.65,1292.59 2470.19,1296.26 2470.82,1299.32C2470.86,1299.5 2470.9,1299.77 2470.99,1300.01C2472.35,1303.38 2477.07,1306.54 2480.89,1307.34C2482.64,1307.71 2484.77,1307.6 2486.77,1307.6C2501.14,1307.6 2515.72,1307.53 2529.68,1307.68L2529.68,1324.57L2464.16,1324.57C2461.39,1324.22 2458.84,1323.08 2456.83,1321.42C2454.93,1319.85 2453.14,1317.7 2452.73,1315.02C2452.41,1312.88 2452.56,1310.4 2452.56,1308.02C2452.56,1291.88 2452.39,1274.15 2452.48,1258.03C2446.99,1257.83 2441.13,1258 2435.5,1257.95L2435.5,1241.23ZM2685.46,1256.75L2683.24,1256.75C2682.21,1251.96 2679.49,1248.85 2673.77,1248.73C2673.83,1247.96 2673.66,1246.97 2673.86,1246.34C2680.78,1246.76 2684.54,1250.34 2685.46,1256.75ZM2680,1256.75L2677.87,1256.75C2677.18,1255.22 2676.13,1254.05 2673.77,1254.19L2673.77,1251.8C2677.47,1251.83 2679.47,1253.56 2680,1256.75ZM2612.78,1260.93L2667.55,1260.93C2667.7,1269.58 2667.63,1278.74 2667.63,1287.81C2667.63,1290.73 2667.99,1294.84 2667.12,1297.02C2665.62,1300.75 2660.72,1303.72 2656.37,1304.61C2654.27,1305.04 2651.53,1304.87 2648.78,1304.87L2641.01,1304.87C2635.62,1304.87 2630.07,1305.21 2625.4,1304.87C2622.87,1304.68 2619.96,1303.35 2617.98,1302.05C2615.99,1300.75 2613.94,1298.89 2613.12,1296.85C2612.36,1294.97 2612.69,1290.65 2612.69,1288.23C2612.69,1279.24 2612.69,1269.79 2612.69,1261.19C2612.68,1261.07 2612.68,1260.95 2612.78,1260.93ZM2630.86,1277.99L2630.86,1282.52C2630.86,1283.88 2630.63,1285.72 2631.2,1286.78C2632.08,1288.41 2634.98,1288.15 2637.6,1288.15C2641.07,1288.15 2647.83,1288.98 2649.03,1286.78C2650.24,1284.56 2648.84,1280.49 2649.38,1277.74L2630.95,1277.74C2630.85,1277.75 2630.85,1277.87 2630.86,1277.99ZM2474.66,1261.19L2529.51,1261.19L2529.51,1304.95L2511.26,1304.95L2511.26,1277.91L2492.83,1277.91C2492.68,1279.21 2492.74,1280.74 2492.74,1282.26C2492.74,1283.78 2492.53,1285.48 2493,1286.44C2493.38,1287.21 2494.92,1287.72 2495.9,1287.98C2497.24,1288.33 2498.74,1288.26 2499.99,1288.32C2503.09,1288.46 2505.94,1288.21 2508.78,1288.32L2508.78,1304.95L2497.26,1304.95C2493.37,1304.95 2489.36,1305.32 2486,1304.78C2483.62,1304.4 2481.32,1303.23 2479.43,1301.97C2477.68,1300.79 2475.47,1298.93 2474.91,1296.85C2474.28,1294.47 2474.57,1291.17 2474.57,1288.23L2474.57,1261.44C2474.57,1261.32 2474.56,1261.2 2474.66,1261.19ZM2550.5,1324.57L2532.24,1324.57C2532.51,1303.47 2532.17,1282.29 2532.41,1261.19C2550.67,1261.25 2569.15,1261.08 2587.27,1261.27C2587.27,1267.7 2587.27,1274.07 2587.27,1280.72C2587.27,1285.32 2587.43,1290.87 2587.1,1295.14C2586.98,1296.64 2586.59,1297.62 2585.82,1298.73C2583.18,1302.51 2578.51,1304.95 2572.6,1304.95L2553.14,1304.95L2553.14,1288.32L2560.39,1288.32C2563.68,1288.32 2567.87,1288.89 2568.76,1286.78C2569.72,1284.49 2568.57,1280.92 2569.01,1277.91L2550.5,1277.91L2550.5,1324.57ZM2381.02,1241.14L2382.73,1241.14C2387.35,1241.35 2390.59,1243.45 2393.05,1245.92C2395.53,1248.39 2397.61,1251.61 2398,1256.07L2398,1256.75C2397.27,1256.65 2396.14,1256.96 2395.7,1256.58C2395.14,1252.78 2393.48,1249.49 2391.18,1247.37C2388.87,1245.24 2385.64,1243.52 2381.11,1243.7C2381.06,1243.69 2381.01,1243.69 2381.02,1243.61L2381.02,1241.14ZM2142.75,1241.23L2236.76,1241.23L2236.76,1257.95L2177.9,1257.95L2177.9,1289.09C2177.9,1292.59 2177.44,1296.26 2178.07,1299.32C2178.11,1299.5 2178.15,1299.77 2178.24,1300.01C2179.6,1303.38 2184.32,1306.54 2188.14,1307.34C2189.89,1307.71 2192.02,1307.6 2194.02,1307.6C2208.39,1307.6 2222.97,1307.53 2236.93,1307.68L2236.93,1324.57L2171.41,1324.57C2168.64,1324.22 2166.09,1323.08 2164.08,1321.42C2162.18,1319.85 2160.39,1317.7 2159.98,1315.02C2159.66,1312.88 2159.81,1310.4 2159.81,1308.02C2159.81,1291.88 2159.64,1274.15 2159.73,1258.03C2154.24,1257.83 2148.38,1258 2142.75,1257.95L2142.75,1241.23ZM2392.71,1256.75L2390.49,1256.75C2389.46,1251.96 2386.74,1248.85 2381.02,1248.73C2381.08,1247.96 2380.91,1246.97 2381.11,1246.34C2388.03,1246.76 2391.79,1250.34 2392.71,1256.75ZM2387.25,1256.75L2385.12,1256.75C2384.43,1255.22 2383.38,1254.05 2381.02,1254.19L2381.02,1251.8C2384.72,1251.83 2386.72,1253.56 2387.25,1256.75ZM2320.03,1260.93L2374.8,1260.93C2374.95,1269.58 2374.88,1278.74 2374.88,1287.81C2374.88,1290.73 2375.24,1294.84 2374.37,1297.02C2372.87,1300.75 2367.97,1303.72 2363.62,1304.61C2361.52,1305.04 2358.78,1304.87 2356.03,1304.87L2348.26,1304.87C2342.87,1304.87 2337.32,1305.21 2332.65,1304.87C2330.12,1304.68 2327.21,1303.35 2325.23,1302.05C2323.24,1300.75 2321.19,1298.89 2320.37,1296.85C2319.61,1294.97 2319.94,1290.65 2319.94,1288.23C2319.94,1279.24 2319.94,1269.79 2319.94,1261.19C2319.93,1261.07 2319.93,1260.95 2320.03,1260.93ZM2338.11,1277.99L2338.11,1282.52C2338.11,1283.88 2337.88,1285.72 2338.45,1286.78C2339.33,1288.41 2342.23,1288.15 2344.85,1288.15C2348.32,1288.15 2355.08,1288.98 2356.28,1286.78C2357.49,1284.56 2356.09,1280.49 2356.62,1277.74L2338.2,1277.74C2338.1,1277.75 2338.1,1277.87 2338.11,1277.99ZM2181.91,1261.19L2236.76,1261.19L2236.76,1304.95L2218.51,1304.95L2218.51,1277.91L2200.08,1277.91C2199.93,1279.21 2199.99,1280.74 2199.99,1282.26C2199.99,1283.78 2199.78,1285.48 2200.25,1286.44C2200.63,1287.21 2202.17,1287.72 2203.15,1287.98C2204.49,1288.33 2205.99,1288.26 2207.24,1288.32C2210.34,1288.46 2213.19,1288.21 2216.03,1288.32L2216.03,1304.95L2204.51,1304.95C2200.62,1304.95 2196.61,1305.32 2193.25,1304.78C2190.87,1304.4 2188.57,1303.23 2186.68,1301.97C2184.93,1300.79 2182.72,1298.93 2182.16,1296.85C2181.53,1294.47 2181.82,1291.17 2181.82,1288.23L2181.82,1261.44C2181.82,1261.32 2181.81,1261.2 2181.91,1261.19ZM2257.75,1324.57L2239.49,1324.57C2239.76,1303.47 2239.42,1282.29 2239.66,1261.19C2257.92,1261.25 2276.4,1261.08 2294.52,1261.27C2294.52,1267.7 2294.52,1274.07 2294.52,1280.72C2294.52,1285.32 2294.68,1290.87 2294.35,1295.14C2294.23,1296.64 2293.84,1297.62 2293.07,1298.73C2290.43,1302.51 2285.76,1304.95 2279.85,1304.95L2260.39,1304.95L2260.39,1288.32L2267.64,1288.32C2270.93,1288.32 2275.12,1288.89 2276.01,1286.78C2276.97,1284.49 2275.82,1280.92 2276.26,1277.91L2257.75,1277.91L2257.75,1324.57ZM2088.27,1241.14L2089.98,1241.14C2094.6,1241.35 2097.84,1243.45 2100.3,1245.92C2102.78,1248.39 2104.86,1251.61 2105.25,1256.07L2105.25,1256.75C2104.52,1256.65 2103.39,1256.96 2102.95,1256.58C2102.39,1252.78 2100.73,1249.49 2098.43,1247.37C2096.12,1245.24 2092.89,1243.52 2088.36,1243.7C2088.31,1243.69 2088.26,1243.69 2088.27,1243.61L2088.27,1241.14ZM1850,1241.23L1944.01,1241.23L1944.01,1257.95L1885.15,1257.95L1885.15,1289.09C1885.15,1292.59 1884.69,1296.26 1885.32,1299.32C1885.36,1299.5 1885.4,1299.77 1885.49,1300.01C1886.85,1303.38 1891.57,1306.54 1895.38,1307.34C1897.14,1307.71 1899.27,1307.6 1901.27,1307.6C1915.64,1307.6 1930.22,1307.53 1944.18,1307.68L1944.18,1324.57L1878.66,1324.57C1875.88,1324.22 1873.34,1323.08 1871.33,1321.42C1869.43,1319.85 1867.64,1317.7 1867.23,1315.02C1866.91,1312.88 1867.06,1310.4 1867.06,1308.02C1867.06,1291.88 1866.88,1274.15 1866.98,1258.03C1861.49,1257.83 1855.63,1258 1850,1257.95L1850,1241.23ZM2099.96,1256.75L2097.74,1256.75C2096.71,1251.96 2093.99,1248.85 2088.27,1248.73C2088.33,1247.96 2088.16,1246.97 2088.36,1246.34C2095.28,1246.76 2099.04,1250.34 2099.96,1256.75ZM2094.5,1256.75L2092.37,1256.75C2091.68,1255.22 2090.63,1254.05 2088.27,1254.19L2088.27,1251.8C2091.97,1251.83 2093.97,1253.56 2094.5,1256.75ZM2027.28,1260.93L2082.05,1260.93C2082.2,1269.58 2082.13,1278.74 2082.13,1287.81C2082.13,1290.73 2082.49,1294.84 2081.62,1297.02C2080.12,1300.75 2075.22,1303.72 2070.87,1304.61C2068.77,1305.04 2066.03,1304.87 2063.28,1304.87L2055.51,1304.87C2050.12,1304.87 2044.57,1305.21 2039.9,1304.87C2037.37,1304.68 2034.46,1303.35 2032.48,1302.05C2030.49,1300.75 2028.44,1298.89 2027.62,1296.85C2026.86,1294.97 2027.19,1290.65 2027.19,1288.23C2027.19,1279.24 2027.19,1269.79 2027.19,1261.19C2027.18,1261.07 2027.18,1260.95 2027.28,1260.93ZM2045.36,1277.99L2045.36,1282.52C2045.36,1283.88 2045.13,1285.72 2045.7,1286.78C2046.58,1288.41 2049.48,1288.15 2052.1,1288.15C2055.57,1288.15 2062.33,1288.98 2063.53,1286.78C2064.74,1284.56 2063.34,1280.49 2063.88,1277.74L2045.45,1277.74C2045.35,1277.75 2045.35,1277.87 2045.36,1277.99ZM1889.16,1261.19L1944.01,1261.19L1944.01,1304.95L1925.76,1304.95L1925.76,1277.91L1907.33,1277.91C1907.17,1279.21 1907.24,1280.74 1907.24,1282.26C1907.24,1283.78 1907.03,1285.48 1907.5,1286.44C1907.88,1287.21 1909.42,1287.72 1910.4,1287.98C1911.74,1288.33 1913.24,1288.26 1914.5,1288.32C1917.59,1288.46 1920.44,1288.21 1923.28,1288.32L1923.28,1304.95L1911.77,1304.95C1907.87,1304.95 1903.86,1305.32 1900.5,1304.78C1898.12,1304.4 1895.82,1303.23 1893.93,1301.97C1892.18,1300.79 1889.97,1298.93 1889.41,1296.85C1888.78,1294.47 1889.07,1291.17 1889.07,1288.23L1889.07,1261.44C1889.07,1261.32 1889.06,1261.2 1889.16,1261.19ZM1965,1324.57L1946.74,1324.57C1947.01,1303.47 1946.67,1282.29 1946.91,1261.19C1965.17,1261.25 1983.65,1261.08 2001.77,1261.27C2001.77,1267.7 2001.77,1274.07 2001.77,1280.72C2001.77,1285.32 2001.93,1290.87 2001.6,1295.14C2001.48,1296.64 2001.09,1297.62 2000.32,1298.73C1997.67,1302.51 1993.01,1304.95 1987.1,1304.95L1967.64,1304.95L1967.64,1288.32L1974.89,1288.32C1978.18,1288.32 1982.37,1288.89 1983.26,1286.78C1984.22,1284.49 1983.07,1280.92 1983.51,1277.91L1965,1277.91L1965,1324.57ZM1795.52,1241.14L1797.23,1241.14C1801.85,1241.35 1805.09,1243.45 1807.55,1245.92C1810.03,1248.39 1812.11,1251.61 1812.5,1256.07L1812.5,1256.75C1811.77,1256.65 1810.64,1256.96 1810.2,1256.58C1809.64,1252.78 1807.98,1249.49 1805.67,1247.37C1803.37,1245.24 1800.14,1243.52 1795.61,1243.7C1795.56,1243.69 1795.51,1243.69 1795.52,1243.61L1795.52,1241.14ZM1557.25,1241.23L1651.26,1241.23L1651.26,1257.95L1592.4,1257.95L1592.4,1289.09C1592.4,1292.59 1591.94,1296.26 1592.57,1299.32C1592.61,1299.5 1592.65,1299.77 1592.74,1300.01C1594.1,1303.38 1598.82,1306.54 1602.63,1307.34C1604.39,1307.71 1606.52,1307.6 1608.52,1307.6C1622.89,1307.6 1637.47,1307.53 1651.43,1307.68L1651.43,1324.57L1585.91,1324.57C1583.13,1324.22 1580.59,1323.08 1578.58,1321.42C1576.68,1319.85 1574.89,1317.7 1574.48,1315.02C1574.16,1312.88 1574.31,1310.4 1574.31,1308.02C1574.31,1291.88 1574.13,1274.15 1574.23,1258.03C1568.74,1257.83 1562.88,1258 1557.25,1257.95L1557.25,1241.23ZM1807.21,1256.75L1804.99,1256.75C1803.96,1251.96 1801.24,1248.85 1795.52,1248.73C1795.58,1247.96 1795.41,1246.97 1795.61,1246.34C1802.53,1246.76 1806.29,1250.34 1807.21,1256.75ZM1801.75,1256.75L1799.62,1256.75C1798.93,1255.22 1797.88,1254.05 1795.52,1254.19L1795.52,1251.8C1799.22,1251.83 1801.22,1253.56 1801.75,1256.75ZM1734.53,1260.93L1789.3,1260.93C1789.45,1269.58 1789.38,1278.74 1789.38,1287.81C1789.38,1290.73 1789.74,1294.84 1788.87,1297.02C1787.37,1300.75 1782.48,1303.72 1778.12,1304.61C1776.02,1305.04 1773.28,1304.87 1770.53,1304.87L1762.76,1304.87C1757.37,1304.87 1751.82,1305.21 1747.15,1304.87C1744.62,1304.68 1741.71,1303.35 1739.73,1302.05C1737.74,1300.75 1735.69,1298.89 1734.87,1296.85C1734.11,1294.97 1734.44,1290.65 1734.44,1288.23C1734.44,1279.24 1734.44,1269.79 1734.44,1261.19C1734.43,1261.07 1734.43,1260.95 1734.53,1260.93ZM1752.61,1277.99L1752.61,1282.52C1752.61,1283.88 1752.38,1285.72 1752.95,1286.78C1753.83,1288.41 1756.73,1288.15 1759.35,1288.15C1762.82,1288.15 1769.58,1288.98 1770.78,1286.78C1771.99,1284.56 1770.59,1280.49 1771.12,1277.74L1752.7,1277.74C1752.6,1277.75 1752.6,1277.87 1752.61,1277.99ZM1596.41,1261.19L1651.26,1261.19L1651.26,1304.95L1633.01,1304.95L1633.01,1277.91L1614.58,1277.91C1614.42,1279.21 1614.49,1280.74 1614.49,1282.26C1614.49,1283.78 1614.28,1285.48 1614.75,1286.44C1615.13,1287.21 1616.67,1287.72 1617.65,1287.98C1618.99,1288.33 1620.49,1288.26 1621.75,1288.32C1624.84,1288.46 1627.69,1288.21 1630.53,1288.32L1630.53,1304.95L1619.02,1304.95C1615.12,1304.95 1611.11,1305.32 1607.75,1304.78C1605.37,1304.4 1603.07,1303.23 1601.18,1301.97C1599.43,1300.79 1597.22,1298.93 1596.66,1296.85C1596.03,1294.47 1596.32,1291.17 1596.32,1288.23L1596.32,1261.44C1596.32,1261.32 1596.31,1261.2 1596.41,1261.19ZM1672.25,1324.57L1653.99,1324.57C1654.26,1303.47 1653.92,1282.29 1654.16,1261.19C1672.42,1261.25 1690.9,1261.08 1709.02,1261.27C1709.02,1267.7 1709.02,1274.07 1709.02,1280.72C1709.02,1285.32 1709.18,1290.87 1708.85,1295.14C1708.73,1296.64 1708.34,1297.62 1707.57,1298.73C1704.92,1302.51 1700.26,1304.95 1694.35,1304.95L1674.89,1304.95L1674.89,1288.32L1682.14,1288.32C1685.43,1288.32 1689.62,1288.89 1690.51,1286.78C1691.47,1284.49 1690.32,1280.92 1690.76,1277.91L1672.25,1277.91L1672.25,1324.57ZM2582.5,1120.29L2676.51,1120.29L2676.51,1137.01L2617.65,1137.01L2617.65,1168.15C2617.65,1171.66 2617.19,1175.33 2617.82,1178.39C2617.86,1178.57 2617.9,1178.84 2617.99,1179.07C2619.35,1182.45 2624.07,1185.61 2627.89,1186.41C2629.64,1186.77 2631.77,1186.66 2633.77,1186.66C2648.14,1186.66 2662.72,1186.59 2676.68,1186.75L2676.68,1203.64L2611.16,1203.64C2608.39,1203.29 2605.84,1202.15 2603.83,1200.48C2601.93,1198.91 2600.14,1196.77 2599.73,1194.09C2599.41,1191.94 2599.56,1189.47 2599.56,1187.09C2599.56,1170.94 2599.39,1153.22 2599.48,1137.1C2593.99,1136.9 2588.13,1137.07 2582.5,1137.01L2582.5,1120.29ZM2621.66,1140.25L2676.51,1140.25L2676.51,1184.02L2658.26,1184.02L2658.26,1156.98L2639.83,1156.98C2639.68,1158.28 2639.74,1159.81 2639.74,1161.33C2639.74,1162.84 2639.53,1164.55 2640,1165.51C2640.38,1166.27 2641.92,1166.78 2642.9,1167.04C2644.24,1167.39 2645.74,1167.33 2646.99,1167.38C2650.09,1167.53 2652.94,1167.28 2655.78,1167.38L2655.78,1184.02L2644.26,1184.02C2640.37,1184.02 2636.36,1184.39 2633,1183.85C2630.62,1183.46 2628.32,1182.3 2626.43,1181.03C2624.68,1179.86 2622.47,1177.99 2621.91,1175.91C2621.28,1173.53 2621.57,1170.24 2621.57,1167.3L2621.57,1140.51C2621.57,1140.39 2621.56,1140.27 2621.66,1140.25ZM2697.5,1203.64L2679.24,1203.64C2679.51,1182.54 2679.17,1161.35 2679.41,1140.25C2697.67,1140.31 2716.15,1140.14 2734.27,1140.34C2734.27,1146.77 2734.27,1153.13 2734.27,1159.79C2734.27,1164.38 2734.43,1169.93 2734.1,1174.21C2733.98,1175.71 2733.59,1176.69 2732.82,1177.79C2730.18,1181.57 2725.51,1184.02 2719.6,1184.02L2700.14,1184.02L2700.14,1167.38L2707.39,1167.38C2710.68,1167.38 2714.87,1167.96 2715.76,1165.85C2716.72,1163.56 2715.57,1159.99 2716.01,1156.98L2697.5,1156.98L2697.5,1203.64ZM2528.02,1120.21L2529.73,1120.21C2534.35,1120.42 2537.59,1122.52 2540.05,1124.98C2542.53,1127.46 2544.61,1130.68 2545,1135.14L2545,1135.82C2544.27,1135.72 2543.14,1136.02 2542.7,1135.65C2542.14,1131.85 2540.48,1128.56 2538.18,1126.43C2535.87,1124.3 2532.64,1122.59 2528.11,1122.77C2528.06,1122.76 2528.01,1122.75 2528.02,1122.68L2528.02,1120.21ZM2289.75,1120.29L2383.76,1120.29L2383.76,1137.01L2324.9,1137.01L2324.9,1168.15C2324.9,1171.66 2324.44,1175.33 2325.07,1178.39C2325.11,1178.57 2325.15,1178.84 2325.24,1179.07C2326.6,1182.45 2331.32,1185.61 2335.14,1186.41C2336.89,1186.77 2339.02,1186.66 2341.02,1186.66C2355.39,1186.66 2369.97,1186.59 2383.93,1186.75L2383.93,1203.64L2318.41,1203.64C2315.64,1203.29 2313.09,1202.15 2311.08,1200.48C2309.18,1198.91 2307.39,1196.77 2306.98,1194.09C2306.66,1191.94 2306.81,1189.47 2306.81,1187.09C2306.81,1170.94 2306.64,1153.22 2306.73,1137.1C2301.24,1136.9 2295.38,1137.07 2289.75,1137.01L2289.75,1120.29ZM2539.71,1135.82L2537.49,1135.82C2536.46,1131.02 2533.74,1127.91 2528.02,1127.8C2528.08,1127.03 2527.91,1126.04 2528.11,1125.41C2535.03,1125.83 2538.79,1129.4 2539.71,1135.82ZM2534.25,1135.82L2532.12,1135.82C2531.43,1134.29 2530.38,1133.12 2528.02,1133.26L2528.02,1130.87C2531.72,1130.9 2533.72,1132.63 2534.25,1135.82ZM2467.03,1140L2521.8,1140C2521.95,1148.64 2521.88,1157.8 2521.88,1166.87C2521.88,1169.79 2522.24,1173.9 2521.37,1176.09C2519.87,1179.81 2514.97,1182.78 2510.62,1183.68C2508.52,1184.11 2505.78,1183.93 2503.03,1183.93L2495.26,1183.93C2489.87,1183.93 2484.32,1184.28 2479.65,1183.93C2477.12,1183.75 2474.21,1182.41 2472.23,1181.12C2470.24,1179.82 2468.19,1177.95 2467.37,1175.91C2466.61,1174.03 2466.94,1169.72 2466.94,1167.3C2466.94,1158.3 2466.94,1148.86 2466.94,1140.25C2466.93,1140.13 2466.93,1140.01 2467.03,1140ZM2485.11,1157.06L2485.11,1161.58C2485.11,1162.95 2484.88,1164.79 2485.45,1165.85C2486.33,1167.47 2489.23,1167.21 2491.85,1167.21C2495.32,1167.21 2502.08,1168.05 2503.28,1165.85C2504.49,1163.63 2503.09,1159.55 2503.62,1156.8L2485.2,1156.8C2485.1,1156.82 2485.1,1156.94 2485.11,1157.06ZM2328.91,1140.25L2383.76,1140.25L2383.76,1184.02L2365.51,1184.02L2365.51,1156.98L2347.08,1156.98C2346.93,1158.28 2346.99,1159.81 2346.99,1161.33C2346.99,1162.84 2346.78,1164.55 2347.25,1165.51C2347.63,1166.27 2349.17,1166.78 2350.15,1167.04C2351.49,1167.39 2352.99,1167.33 2354.24,1167.38C2357.34,1167.53 2360.19,1167.28 2363.03,1167.38L2363.03,1184.02L2351.51,1184.02C2347.62,1184.02 2343.61,1184.39 2340.25,1183.85C2337.87,1183.46 2335.57,1182.3 2333.68,1181.03C2331.93,1179.86 2329.72,1177.99 2329.16,1175.91C2328.53,1173.53 2328.82,1170.24 2328.82,1167.3L2328.82,1140.51C2328.82,1140.39 2328.81,1140.27 2328.91,1140.25ZM2404.75,1203.64L2386.49,1203.64C2386.76,1182.54 2386.42,1161.35 2386.66,1140.25C2404.92,1140.31 2423.4,1140.14 2441.52,1140.34C2441.52,1146.77 2441.52,1153.13 2441.52,1159.79C2441.52,1164.38 2441.68,1169.93 2441.35,1174.21C2441.23,1175.71 2440.84,1176.69 2440.07,1177.79C2437.43,1181.57 2432.76,1184.02 2426.85,1184.02L2407.39,1184.02L2407.39,1167.38L2414.64,1167.38C2417.93,1167.38 2422.12,1167.96 2423.01,1165.85C2423.97,1163.56 2422.82,1159.99 2423.26,1156.98L2404.75,1156.98L2404.75,1203.64ZM2235.27,1120.21L2236.98,1120.21C2241.6,1120.42 2244.84,1122.52 2247.3,1124.98C2249.78,1127.46 2251.86,1130.68 2252.25,1135.14L2252.25,1135.82C2251.52,1135.72 2250.39,1136.02 2249.95,1135.65C2249.39,1131.85 2247.73,1128.56 2245.43,1126.43C2243.12,1124.3 2239.89,1122.59 2235.36,1122.77C2235.31,1122.76 2235.26,1122.75 2235.27,1122.68L2235.27,1120.21ZM1997,1120.29L2091.01,1120.29L2091.01,1137.01L2032.15,1137.01L2032.15,1168.15C2032.15,1171.66 2031.69,1175.33 2032.32,1178.39C2032.36,1178.57 2032.4,1178.84 2032.49,1179.07C2033.85,1182.45 2038.57,1185.61 2042.38,1186.41C2044.14,1186.77 2046.27,1186.66 2048.27,1186.66C2062.64,1186.66 2077.22,1186.59 2091.18,1186.75L2091.18,1203.64L2025.66,1203.64C2022.88,1203.29 2020.34,1202.15 2018.33,1200.48C2016.43,1198.91 2014.64,1196.77 2014.23,1194.09C2013.91,1191.94 2014.06,1189.47 2014.06,1187.09C2014.06,1170.94 2013.88,1153.22 2013.98,1137.1C2008.49,1136.9 2002.63,1137.07 1997,1137.01L1997,1120.29ZM2246.96,1135.82L2244.74,1135.82C2243.71,1131.02 2240.99,1127.91 2235.27,1127.8C2235.33,1127.03 2235.16,1126.04 2235.36,1125.41C2242.28,1125.83 2246.04,1129.4 2246.96,1135.82ZM2241.5,1135.82L2239.37,1135.82C2238.68,1134.29 2237.63,1133.12 2235.27,1133.26L2235.27,1130.87C2238.97,1130.9 2240.97,1132.63 2241.5,1135.82ZM2174.28,1140L2229.05,1140C2229.2,1148.64 2229.13,1157.8 2229.13,1166.87C2229.13,1169.79 2229.49,1173.9 2228.62,1176.09C2227.12,1179.81 2222.22,1182.78 2217.87,1183.68C2215.77,1184.11 2213.03,1183.93 2210.28,1183.93L2202.51,1183.93C2197.12,1183.93 2191.57,1184.28 2186.9,1183.93C2184.37,1183.75 2181.46,1182.41 2179.48,1181.12C2177.49,1179.82 2175.44,1177.95 2174.62,1175.91C2173.86,1174.03 2174.19,1169.72 2174.19,1167.3C2174.19,1158.3 2174.19,1148.86 2174.19,1140.25C2174.18,1140.13 2174.18,1140.01 2174.28,1140ZM2192.36,1157.06L2192.36,1161.58C2192.36,1162.95 2192.13,1164.79 2192.7,1165.85C2193.58,1167.47 2196.48,1167.21 2199.1,1167.21C2202.57,1167.21 2209.33,1168.05 2210.53,1165.85C2211.74,1163.63 2210.34,1159.55 2210.88,1156.8L2192.45,1156.8C2192.35,1156.82 2192.35,1156.94 2192.36,1157.06ZM2036.16,1140.25L2091.01,1140.25L2091.01,1184.02L2072.76,1184.02L2072.76,1156.98L2054.33,1156.98C2054.18,1158.28 2054.24,1159.81 2054.24,1161.33C2054.24,1162.84 2054.03,1164.55 2054.5,1165.51C2054.88,1166.27 2056.42,1166.78 2057.4,1167.04C2058.74,1167.39 2060.24,1167.33 2061.49,1167.38C2064.59,1167.53 2067.44,1167.28 2070.28,1167.38L2070.28,1184.02L2058.76,1184.02C2054.87,1184.02 2050.86,1184.39 2047.5,1183.85C2045.12,1183.46 2042.82,1182.3 2040.93,1181.03C2039.18,1179.86 2036.97,1177.99 2036.41,1175.91C2035.78,1173.53 2036.07,1170.24 2036.07,1167.3L2036.07,1140.51C2036.07,1140.39 2036.06,1140.27 2036.16,1140.25ZM2112,1203.64L2093.74,1203.64C2094.01,1182.54 2093.67,1161.35 2093.91,1140.25C2112.17,1140.31 2130.65,1140.14 2148.77,1140.34C2148.77,1146.77 2148.77,1153.13 2148.77,1159.79C2148.77,1164.38 2148.93,1169.93 2148.6,1174.21C2148.48,1175.71 2148.09,1176.69 2147.32,1177.79C2144.68,1181.57 2140.01,1184.02 2134.1,1184.02L2114.64,1184.02L2114.64,1167.38L2121.89,1167.38C2125.18,1167.38 2129.37,1167.96 2130.26,1165.85C2131.22,1163.56 2130.07,1159.99 2130.51,1156.98L2112,1156.98L2112,1203.64ZM1942.52,1120.21L1944.23,1120.21C1948.85,1120.42 1952.09,1122.52 1954.55,1124.98C1957.03,1127.46 1959.11,1130.68 1959.5,1135.14L1959.5,1135.82C1958.77,1135.72 1957.64,1136.02 1957.2,1135.65C1956.64,1131.85 1954.98,1128.56 1952.67,1126.43C1950.37,1124.3 1947.14,1122.59 1942.61,1122.77C1942.56,1122.76 1942.51,1122.75 1942.52,1122.68L1942.52,1120.21ZM1704.25,1120.29L1798.26,1120.29L1798.26,1137.01L1739.4,1137.01L1739.4,1168.15C1739.4,1171.66 1738.94,1175.33 1739.57,1178.39C1739.61,1178.57 1739.65,1178.84 1739.74,1179.07C1741.1,1182.45 1745.82,1185.61 1749.63,1186.41C1751.39,1186.77 1753.52,1186.66 1755.52,1186.66C1769.89,1186.66 1784.47,1186.59 1798.43,1186.75L1798.43,1203.64L1732.91,1203.64C1730.13,1203.29 1727.59,1202.15 1725.58,1200.48C1723.68,1198.91 1721.89,1196.77 1721.48,1194.09C1721.16,1191.94 1721.31,1189.47 1721.31,1187.09C1721.31,1170.94 1721.13,1153.22 1721.23,1137.1C1715.74,1136.9 1709.88,1137.07 1704.25,1137.01L1704.25,1120.29ZM1954.21,1135.82L1951.99,1135.82C1950.96,1131.02 1948.24,1127.91 1942.52,1127.8C1942.58,1127.03 1942.41,1126.04 1942.61,1125.41C1949.53,1125.83 1953.29,1129.4 1954.21,1135.82ZM1948.75,1135.82L1946.62,1135.82C1945.93,1134.29 1944.88,1133.12 1942.52,1133.26L1942.52,1130.87C1946.22,1130.9 1948.22,1132.63 1948.75,1135.82ZM1881.53,1140L1936.3,1140C1936.45,1148.64 1936.38,1157.8 1936.38,1166.87C1936.38,1169.79 1936.74,1173.9 1935.87,1176.09C1934.37,1179.81 1929.48,1182.78 1925.12,1183.68C1923.02,1184.11 1920.28,1183.93 1917.53,1183.93L1909.76,1183.93C1904.37,1183.93 1898.82,1184.28 1894.15,1183.93C1891.62,1183.75 1888.71,1182.41 1886.73,1181.12C1884.74,1179.82 1882.69,1177.95 1881.87,1175.91C1881.11,1174.03 1881.44,1169.72 1881.44,1167.3C1881.44,1158.3 1881.44,1148.86 1881.44,1140.25C1881.43,1140.13 1881.43,1140.01 1881.53,1140ZM1899.61,1157.06L1899.61,1161.58C1899.61,1162.95 1899.38,1164.79 1899.95,1165.85C1900.83,1167.47 1903.73,1167.21 1906.35,1167.21C1909.82,1167.21 1916.58,1168.05 1917.78,1165.85C1918.99,1163.63 1917.59,1159.55 1918.12,1156.8L1899.7,1156.8C1899.6,1156.82 1899.6,1156.94 1899.61,1157.06ZM1743.41,1140.25L1798.26,1140.25L1798.26,1184.02L1780.01,1184.02L1780.01,1156.98L1761.58,1156.98C1761.42,1158.28 1761.49,1159.81 1761.49,1161.33C1761.49,1162.84 1761.28,1164.55 1761.75,1165.51C1762.13,1166.27 1763.67,1166.78 1764.65,1167.04C1765.99,1167.39 1767.49,1167.33 1768.75,1167.38C1771.84,1167.53 1774.69,1167.28 1777.53,1167.38L1777.53,1184.02L1766.02,1184.02C1762.12,1184.02 1758.11,1184.39 1754.75,1183.85C1752.37,1183.46 1750.07,1182.3 1748.18,1181.03C1746.43,1179.86 1744.22,1177.99 1743.66,1175.91C1743.03,1173.53 1743.32,1170.24 1743.32,1167.3L1743.32,1140.51C1743.32,1140.39 1743.31,1140.27 1743.41,1140.25ZM1819.25,1203.64L1800.99,1203.64C1801.26,1182.54 1800.92,1161.35 1801.16,1140.25C1819.42,1140.31 1837.9,1140.14 1856.02,1140.34C1856.02,1146.77 1856.02,1153.13 1856.02,1159.79C1856.02,1164.38 1856.18,1169.93 1855.85,1174.21C1855.73,1175.71 1855.34,1176.69 1854.57,1177.79C1851.92,1181.57 1847.26,1184.02 1841.35,1184.02L1821.89,1184.02L1821.89,1167.38L1829.14,1167.38C1832.43,1167.38 1836.62,1167.96 1837.51,1165.85C1838.47,1163.56 1837.32,1159.99 1837.76,1156.98L1819.25,1156.98L1819.25,1203.64ZM1064.27,1362.07L1065.98,1362.07C1070.6,1362.29 1073.84,1364.38 1076.3,1366.85C1078.78,1369.33 1080.86,1372.55 1081.25,1377L1081.25,1377.69C1080.52,1377.59 1079.39,1377.89 1078.95,1377.52C1078.39,1373.71 1076.73,1370.43 1074.42,1368.3C1072.12,1366.17 1068.89,1364.45 1064.36,1364.63C1064.31,1364.63 1064.26,1364.62 1064.27,1364.55L1064.27,1362.07ZM826,1362.16L920.012,1362.16L920.012,1378.88L861.148,1378.88L861.148,1410.02C861.148,1413.53 860.694,1417.19 861.319,1420.26C861.355,1420.43 861.396,1420.71 861.489,1420.94C862.851,1424.32 867.567,1427.48 871.385,1428.28C873.14,1428.64 875.269,1428.53 877.272,1428.53C891.639,1428.53 906.218,1428.46 920.183,1428.62L920.183,1445.51L854.664,1445.51C851.885,1445.15 849.34,1444.02 847.328,1442.35C845.43,1440.78 843.64,1438.64 843.233,1435.95C842.907,1433.81 843.062,1431.34 843.062,1428.96C843.062,1412.81 842.885,1395.09 842.977,1378.97C837.488,1378.77 831.631,1378.94 826,1378.88L826,1362.16ZM1075.96,1377.69L1073.74,1377.69C1072.71,1372.89 1069.99,1369.78 1064.27,1369.67C1064.33,1368.9 1064.16,1367.9 1064.36,1367.28C1071.28,1367.7 1075.04,1371.27 1075.96,1377.69ZM1070.5,1377.69L1068.37,1377.69C1067.68,1376.15 1066.63,1374.98 1064.27,1375.13L1064.27,1372.74C1067.97,1372.76 1069.97,1374.5 1070.5,1377.69ZM1003.28,1381.87L1058.05,1381.87C1058.2,1390.51 1058.13,1399.67 1058.13,1408.74C1058.13,1411.66 1058.49,1415.77 1057.62,1417.95C1056.12,1421.68 1051.22,1424.65 1046.87,1425.55C1044.77,1425.98 1042.03,1425.8 1039.28,1425.8L1031.51,1425.8C1026.12,1425.8 1020.57,1426.15 1015.9,1425.8C1013.37,1425.61 1010.46,1424.28 1008.48,1422.99C1006.49,1421.69 1004.44,1419.82 1003.62,1417.78C1002.86,1415.9 1003.19,1411.59 1003.19,1409.17C1003.19,1400.17 1003.19,1390.73 1003.19,1382.12C1003.18,1382 1003.18,1381.88 1003.28,1381.87ZM1021.36,1398.93L1021.36,1403.45C1021.36,1404.82 1021.13,1406.65 1021.7,1407.71C1022.58,1409.34 1025.48,1409.08 1028.1,1409.08C1031.57,1409.08 1038.33,1409.91 1039.53,1407.71C1040.74,1405.5 1039.34,1401.42 1039.88,1398.67L1021.45,1398.67C1021.35,1398.69 1021.35,1398.81 1021.36,1398.93ZM865.158,1382.12L920.012,1382.12L920.012,1425.89L901.756,1425.89L901.756,1398.84L883.329,1398.84C883.175,1400.14 883.244,1401.68 883.244,1403.19C883.244,1404.71 883.027,1406.42 883.499,1407.37C883.877,1408.14 885.417,1408.65 886.4,1408.91C887.743,1409.26 889.242,1409.19 890.495,1409.25C893.591,1409.39 896.436,1409.14 899.282,1409.25L899.282,1425.89L887.765,1425.89C883.865,1425.89 879.856,1426.25 876.504,1425.72C874.117,1425.33 871.819,1424.16 869.935,1422.9C868.18,1421.73 865.966,1419.86 865.414,1417.78C864.782,1415.4 865.072,1412.11 865.072,1409.17L865.072,1382.38C865.065,1382.26 865.058,1382.14 865.158,1382.12ZM940.999,1445.51L922.743,1445.51C923.008,1424.4 922.668,1403.22 922.913,1382.12C941.17,1382.18 959.653,1382.01 977.768,1382.21C977.768,1388.63 977.768,1395 977.768,1401.66C977.768,1406.25 977.927,1411.8 977.597,1416.08C977.482,1417.58 977.09,1418.56 976.318,1419.66C973.675,1423.44 969.014,1425.89 963.095,1425.89L943.643,1425.89L943.643,1409.25L950.895,1409.25C954.176,1409.25 958.366,1409.83 959.256,1407.71C960.219,1405.43 959.067,1401.86 959.512,1398.84L940.999,1398.84L940.999,1445.51ZM771.523,1362.07L773.229,1362.07C777.85,1362.29 781.085,1364.38 783.552,1366.85C786.028,1369.33 788.108,1372.55 788.5,1377L788.5,1377.69C787.773,1377.59 786.645,1377.89 786.197,1377.52C785.637,1373.71 783.98,1370.43 781.675,1368.3C779.368,1366.17 776.139,1364.45 771.609,1364.63C771.557,1364.63 771.508,1364.62 771.523,1364.55L771.523,1362.07ZM783.211,1377.69L780.993,1377.69C779.959,1372.89 777.238,1369.78 771.523,1369.67C771.579,1368.9 771.41,1367.9 771.609,1367.28C778.526,1367.7 782.287,1371.27 783.211,1377.69ZM777.751,1377.69L775.618,1377.69C774.931,1376.15 773.884,1374.98 771.523,1375.13L771.523,1372.74C775.222,1372.76 777.217,1374.5 777.751,1377.69ZM917.273,1483.01L918.979,1483.01C923.6,1483.22 926.835,1485.32 929.302,1487.79C931.778,1490.26 933.858,1493.48 934.25,1497.94L934.25,1498.62C933.523,1498.52 932.395,1498.83 931.947,1498.45C931.387,1494.65 929.73,1491.36 927.425,1489.24C925.118,1487.11 921.889,1485.39 917.359,1485.57C917.307,1485.56 917.258,1485.56 917.273,1485.48L917.273,1483.01ZM928.961,1498.62L926.743,1498.62C925.709,1493.83 922.988,1490.71 917.273,1490.6C917.329,1489.83 917.16,1488.84 917.359,1488.21C924.276,1488.63 928.037,1492.21 928.961,1498.62ZM923.501,1498.62L921.368,1498.62C920.681,1497.09 919.634,1495.92 917.273,1496.06L917.273,1493.67C920.972,1493.7 922.967,1495.43 923.501,1498.62ZM1502.77,1483.01L1504.48,1483.01C1509.1,1483.22 1512.34,1485.32 1514.8,1487.79C1517.28,1490.26 1519.36,1493.48 1519.75,1497.94L1519.75,1498.62C1519.02,1498.52 1517.89,1498.83 1517.45,1498.45C1516.89,1494.65 1515.23,1491.36 1512.92,1489.24C1510.62,1487.11 1507.39,1485.39 1502.86,1485.57C1502.81,1485.56 1502.76,1485.56 1502.77,1485.48L1502.77,1483.01ZM1264.5,1483.09L1358.51,1483.09L1358.51,1499.81L1299.65,1499.81L1299.65,1530.95C1299.65,1534.46 1299.19,1538.13 1299.82,1541.19C1299.86,1541.37 1299.9,1541.64 1299.99,1541.87C1301.35,1545.25 1306.07,1548.41 1309.88,1549.21C1311.64,1549.58 1313.77,1549.47 1315.77,1549.47C1330.14,1549.47 1344.72,1549.39 1358.68,1549.55L1358.68,1566.44L1293.16,1566.44C1290.38,1566.09 1287.84,1564.95 1285.83,1563.29C1283.93,1561.72 1282.14,1559.57 1281.73,1556.89C1281.41,1554.75 1281.56,1552.27 1281.56,1549.89C1281.56,1533.75 1281.38,1516.02 1281.48,1499.9C1275.99,1499.7 1270.13,1499.87 1264.5,1499.81L1264.5,1483.09ZM1514.46,1498.62L1512.24,1498.62C1511.21,1493.83 1508.49,1490.71 1502.77,1490.6C1502.83,1489.83 1502.66,1488.84 1502.86,1488.21C1509.78,1488.63 1513.54,1492.21 1514.46,1498.62ZM1509,1498.62L1506.87,1498.62C1506.18,1497.09 1505.13,1495.92 1502.77,1496.06L1502.77,1493.67C1506.47,1493.7 1508.47,1495.43 1509,1498.62ZM1441.78,1502.8L1496.55,1502.8C1496.7,1511.44 1496.63,1520.61 1496.63,1529.67C1496.63,1532.6 1496.99,1536.71 1496.12,1538.89C1494.62,1542.62 1489.73,1545.58 1485.37,1546.48C1483.27,1546.91 1480.53,1546.74 1477.78,1546.74L1470.01,1546.74C1464.62,1546.74 1459.07,1547.08 1454.4,1546.74C1451.87,1546.55 1448.96,1545.22 1446.98,1543.92C1444.99,1542.62 1442.94,1540.76 1442.12,1538.72C1441.36,1536.83 1441.69,1532.52 1441.69,1530.1C1441.69,1521.1 1441.69,1511.66 1441.69,1503.06C1441.68,1502.93 1441.68,1502.81 1441.78,1502.8ZM1459.86,1519.86L1459.86,1524.38C1459.86,1525.75 1459.63,1527.59 1460.2,1528.65C1461.08,1530.28 1463.98,1530.01 1466.6,1530.01C1470.07,1530.01 1476.83,1530.85 1478.03,1528.65C1479.24,1526.43 1477.84,1522.35 1478.38,1519.61L1459.95,1519.61C1459.85,1519.62 1459.85,1519.74 1459.86,1519.86ZM1303.66,1503.06L1358.51,1503.06L1358.51,1546.82L1340.26,1546.82L1340.26,1519.78L1321.83,1519.78C1321.67,1521.08 1321.74,1522.61 1321.74,1524.13C1321.74,1525.64 1321.53,1527.35 1322,1528.31C1322.38,1529.07 1323.92,1529.59 1324.9,1529.84C1326.24,1530.2 1327.74,1530.13 1329,1530.18C1332.09,1530.33 1334.94,1530.08 1337.78,1530.18L1337.78,1546.82L1326.27,1546.82C1322.37,1546.82 1318.36,1547.19 1315,1546.65C1312.62,1546.27 1310.32,1545.1 1308.43,1543.83C1306.68,1542.66 1304.47,1540.79 1303.91,1538.72C1303.28,1536.34 1303.57,1533.04 1303.57,1530.1L1303.57,1503.31C1303.57,1503.19 1303.56,1503.07 1303.66,1503.06ZM1379.5,1566.44L1361.24,1566.44C1361.51,1545.34 1361.17,1524.16 1361.41,1503.06C1379.67,1503.11 1398.15,1502.94 1416.27,1503.14C1416.27,1509.57 1416.27,1515.93 1416.27,1522.59C1416.27,1527.19 1416.43,1532.73 1416.1,1537.01C1415.98,1538.51 1415.59,1539.49 1414.82,1540.59C1412.17,1544.37 1407.51,1546.82 1401.6,1546.82L1382.14,1546.82L1382.14,1530.18L1389.39,1530.18C1392.68,1530.18 1396.87,1530.76 1397.76,1528.65C1398.72,1526.36 1397.57,1522.79 1398.01,1519.78L1379.5,1519.78L1379.5,1566.44ZM1357.02,1362.07L1358.73,1362.07C1363.35,1362.29 1366.59,1364.38 1369.05,1366.85C1371.53,1369.33 1373.61,1372.55 1374,1377L1374,1377.69C1373.27,1377.59 1372.14,1377.89 1371.7,1377.52C1371.14,1373.71 1369.48,1370.43 1367.17,1368.3C1364.87,1366.17 1361.64,1364.45 1357.11,1364.63C1357.06,1364.63 1357.01,1364.62 1357.02,1364.55L1357.02,1362.07ZM1118.75,1362.16L1212.76,1362.16L1212.76,1378.88L1153.9,1378.88L1153.9,1410.02C1153.9,1413.53 1153.44,1417.19 1154.07,1420.26C1154.11,1420.43 1154.15,1420.71 1154.24,1420.94C1155.6,1424.32 1160.32,1427.48 1164.13,1428.28C1165.89,1428.64 1168.02,1428.53 1170.02,1428.53C1184.39,1428.53 1198.97,1428.46 1212.93,1428.62L1212.93,1445.51L1147.41,1445.51C1144.63,1445.15 1142.09,1444.02 1140.08,1442.35C1138.18,1440.78 1136.39,1438.64 1135.98,1435.95C1135.66,1433.81 1135.81,1431.34 1135.81,1428.96C1135.81,1412.81 1135.63,1395.09 1135.73,1378.97C1130.24,1378.77 1124.38,1378.94 1118.75,1378.88L1118.75,1362.16ZM1368.71,1377.69L1366.49,1377.69C1365.46,1372.89 1362.74,1369.78 1357.02,1369.67C1357.08,1368.9 1356.91,1367.9 1357.11,1367.28C1364.03,1367.7 1367.79,1371.27 1368.71,1377.69ZM1363.25,1377.69L1361.12,1377.69C1360.43,1376.15 1359.38,1374.98 1357.02,1375.13L1357.02,1372.74C1360.72,1372.76 1362.72,1374.5 1363.25,1377.69ZM1296.03,1381.87L1350.8,1381.87C1350.95,1390.51 1350.88,1399.67 1350.88,1408.74C1350.88,1411.66 1351.24,1415.77 1350.37,1417.95C1348.87,1421.68 1343.98,1424.65 1339.62,1425.55C1337.52,1425.98 1334.78,1425.8 1332.03,1425.8L1324.26,1425.8C1318.87,1425.8 1313.32,1426.15 1308.65,1425.8C1306.12,1425.61 1303.21,1424.28 1301.23,1422.99C1299.24,1421.69 1297.19,1419.82 1296.37,1417.78C1295.61,1415.9 1295.94,1411.59 1295.94,1409.17C1295.94,1400.17 1295.94,1390.73 1295.94,1382.12C1295.93,1382 1295.93,1381.88 1296.03,1381.87ZM1314.11,1398.93L1314.11,1403.45C1314.11,1404.82 1313.88,1406.65 1314.45,1407.71C1315.33,1409.34 1318.23,1409.08 1320.85,1409.08C1324.32,1409.08 1331.08,1409.91 1332.28,1407.71C1333.49,1405.5 1332.09,1401.42 1332.62,1398.67L1314.2,1398.67C1314.1,1398.69 1314.1,1398.81 1314.11,1398.93ZM1157.91,1382.12L1212.76,1382.12L1212.76,1425.89L1194.51,1425.89L1194.51,1398.84L1176.08,1398.84C1175.92,1400.14 1175.99,1401.68 1175.99,1403.19C1175.99,1404.71 1175.78,1406.42 1176.25,1407.37C1176.63,1408.14 1178.17,1408.65 1179.15,1408.91C1180.49,1409.26 1181.99,1409.19 1183.25,1409.25C1186.34,1409.39 1189.19,1409.14 1192.03,1409.25L1192.03,1425.89L1180.52,1425.89C1176.62,1425.89 1172.61,1426.25 1169.25,1425.72C1166.87,1425.33 1164.57,1424.16 1162.68,1422.9C1160.93,1421.73 1158.72,1419.86 1158.16,1417.78C1157.53,1415.4 1157.82,1412.11 1157.82,1409.17L1157.82,1382.38C1157.82,1382.26 1157.81,1382.14 1157.91,1382.12ZM1233.75,1445.51L1215.49,1445.51C1215.76,1424.4 1215.42,1403.22 1215.66,1382.12C1233.92,1382.18 1252.4,1382.01 1270.52,1382.21C1270.52,1388.63 1270.52,1395 1270.52,1401.66C1270.52,1406.25 1270.68,1411.8 1270.35,1416.08C1270.23,1417.58 1269.84,1418.56 1269.07,1419.66C1266.42,1423.44 1261.76,1425.89 1255.85,1425.89L1236.39,1425.89L1236.39,1409.25L1243.64,1409.25C1246.93,1409.25 1251.12,1409.83 1252.01,1407.71C1252.97,1405.43 1251.82,1401.86 1252.26,1398.84L1233.75,1398.84L1233.75,1445.51ZM1649.77,1362.07L1651.48,1362.07C1656.1,1362.29 1659.34,1364.38 1661.8,1366.85C1664.28,1369.33 1666.36,1372.55 1666.75,1377L1666.75,1377.69C1666.02,1377.59 1664.89,1377.89 1664.45,1377.52C1663.89,1373.71 1662.23,1370.43 1659.92,1368.3C1657.62,1366.17 1654.39,1364.45 1649.86,1364.63C1649.81,1364.63 1649.76,1364.62 1649.77,1364.55L1649.77,1362.07ZM1411.5,1362.16L1505.51,1362.16L1505.51,1378.88L1446.65,1378.88L1446.65,1410.02C1446.65,1413.53 1446.19,1417.19 1446.82,1420.26C1446.86,1420.43 1446.9,1420.71 1446.99,1420.94C1448.35,1424.32 1453.07,1427.48 1456.88,1428.28C1458.64,1428.64 1460.77,1428.53 1462.77,1428.53C1477.14,1428.53 1491.72,1428.46 1505.68,1428.62L1505.68,1445.51L1440.16,1445.51C1437.38,1445.15 1434.84,1444.02 1432.83,1442.35C1430.93,1440.78 1429.14,1438.64 1428.73,1435.95C1428.41,1433.81 1428.56,1431.34 1428.56,1428.96C1428.56,1412.81 1428.38,1395.09 1428.48,1378.97C1422.99,1378.77 1417.13,1378.94 1411.5,1378.88L1411.5,1362.16ZM1661.46,1377.69L1659.24,1377.69C1658.21,1372.89 1655.49,1369.78 1649.77,1369.67C1649.83,1368.9 1649.66,1367.9 1649.86,1367.28C1656.78,1367.7 1660.54,1371.27 1661.46,1377.69ZM1656,1377.69L1653.87,1377.69C1653.18,1376.15 1652.13,1374.98 1649.77,1375.13L1649.77,1372.74C1653.47,1372.76 1655.47,1374.5 1656,1377.69ZM1588.78,1381.87L1643.55,1381.87C1643.7,1390.51 1643.63,1399.67 1643.63,1408.74C1643.63,1411.66 1643.99,1415.77 1643.12,1417.95C1641.62,1421.68 1636.73,1424.65 1632.37,1425.55C1630.27,1425.98 1627.53,1425.8 1624.78,1425.8L1617.01,1425.8C1611.62,1425.8 1606.07,1426.15 1601.4,1425.8C1598.87,1425.61 1595.96,1424.28 1593.98,1422.99C1591.99,1421.69 1589.94,1419.82 1589.12,1417.78C1588.36,1415.9 1588.69,1411.59 1588.69,1409.17C1588.69,1400.17 1588.69,1390.73 1588.69,1382.12C1588.68,1382 1588.68,1381.88 1588.78,1381.87ZM1606.86,1398.93L1606.86,1403.45C1606.86,1404.82 1606.63,1406.65 1607.2,1407.71C1608.08,1409.34 1610.98,1409.08 1613.6,1409.08C1617.07,1409.08 1623.83,1409.91 1625.03,1407.71C1626.24,1405.5 1624.84,1401.42 1625.38,1398.67L1606.95,1398.67C1606.85,1398.69 1606.85,1398.81 1606.86,1398.93ZM1450.66,1382.12L1505.51,1382.12L1505.51,1425.89L1487.26,1425.89L1487.26,1398.84L1468.83,1398.84C1468.67,1400.14 1468.74,1401.68 1468.74,1403.19C1468.74,1404.71 1468.53,1406.42 1469,1407.37C1469.38,1408.14 1470.92,1408.65 1471.9,1408.91C1473.24,1409.26 1474.74,1409.19 1476,1409.25C1479.09,1409.39 1481.94,1409.14 1484.78,1409.25L1484.78,1425.89L1473.27,1425.89C1469.37,1425.89 1465.36,1426.25 1462,1425.72C1459.62,1425.33 1457.32,1424.16 1455.43,1422.9C1453.68,1421.73 1451.47,1419.86 1450.91,1417.78C1450.28,1415.4 1450.57,1412.11 1450.57,1409.17L1450.57,1382.38C1450.57,1382.26 1450.56,1382.14 1450.66,1382.12ZM1526.5,1445.51L1508.24,1445.51C1508.51,1424.4 1508.17,1403.22 1508.41,1382.12C1526.67,1382.18 1545.15,1382.01 1563.27,1382.21C1563.27,1388.63 1563.27,1395 1563.27,1401.66C1563.27,1406.25 1563.43,1411.8 1563.1,1416.08C1562.98,1417.58 1562.59,1418.56 1561.82,1419.66C1559.17,1423.44 1554.51,1425.89 1548.6,1425.89L1529.14,1425.89L1529.14,1409.25L1536.39,1409.25C1539.68,1409.25 1543.87,1409.83 1544.76,1407.71C1545.72,1405.43 1544.57,1401.86 1545.01,1398.84L1526.5,1398.84L1526.5,1445.51ZM1210.02,1483.01L1211.73,1483.01C1216.35,1483.22 1219.59,1485.32 1222.05,1487.79C1224.53,1490.26 1226.61,1493.48 1227,1497.94L1227,1498.62C1226.27,1498.52 1225.14,1498.83 1224.7,1498.45C1224.14,1494.65 1222.48,1491.36 1220.17,1489.24C1217.87,1487.11 1214.64,1485.39 1210.11,1485.57C1210.06,1485.56 1210.01,1485.56 1210.02,1485.48L1210.02,1483.01ZM971.75,1483.09L1065.76,1483.09L1065.76,1499.81L1006.9,1499.81L1006.9,1530.95C1006.9,1534.46 1006.44,1538.13 1007.07,1541.19C1007.11,1541.37 1007.15,1541.64 1007.24,1541.87C1008.6,1545.25 1013.32,1548.41 1017.13,1549.21C1018.89,1549.58 1021.02,1549.47 1023.02,1549.47C1037.39,1549.47 1051.97,1549.39 1065.93,1549.55L1065.93,1566.44L1000.41,1566.44C997.635,1566.09 995.09,1564.95 993.078,1563.29C991.18,1561.72 989.39,1559.57 988.983,1556.89C988.657,1554.75 988.812,1552.27 988.812,1549.89C988.812,1533.75 988.635,1516.02 988.727,1499.9C983.238,1499.7 977.381,1499.87 971.75,1499.81L971.75,1483.09ZM1221.71,1498.62L1219.49,1498.62C1218.46,1493.83 1215.74,1490.71 1210.02,1490.6C1210.08,1489.83 1209.91,1488.84 1210.11,1488.21C1217.03,1488.63 1220.79,1492.21 1221.71,1498.62ZM1216.25,1498.62L1214.12,1498.62C1213.43,1497.09 1212.38,1495.92 1210.02,1496.06L1210.02,1493.67C1213.72,1493.7 1215.72,1495.43 1216.25,1498.62ZM1149.03,1502.8L1203.8,1502.8C1203.95,1511.44 1203.88,1520.61 1203.88,1529.67C1203.88,1532.6 1204.24,1536.71 1203.37,1538.89C1201.87,1542.62 1196.98,1545.58 1192.62,1546.48C1190.52,1546.91 1187.78,1546.74 1185.03,1546.74L1177.26,1546.74C1171.87,1546.74 1166.32,1547.08 1161.65,1546.74C1159.12,1546.55 1156.21,1545.22 1154.23,1543.92C1152.24,1542.62 1150.19,1540.76 1149.37,1538.72C1148.61,1536.83 1148.94,1532.52 1148.94,1530.1C1148.94,1521.1 1148.94,1511.66 1148.94,1503.06C1148.93,1502.93 1148.93,1502.81 1149.03,1502.8ZM1167.11,1519.86L1167.11,1524.38C1167.11,1525.75 1166.88,1527.59 1167.45,1528.65C1168.33,1530.28 1171.23,1530.01 1173.85,1530.01C1177.32,1530.01 1184.08,1530.85 1185.28,1528.65C1186.49,1526.43 1185.09,1522.35 1185.62,1519.61L1167.2,1519.61C1167.1,1519.62 1167.1,1519.74 1167.11,1519.86ZM1010.91,1503.06L1065.76,1503.06L1065.76,1546.82L1047.51,1546.82L1047.51,1519.78L1029.08,1519.78C1028.92,1521.08 1028.99,1522.61 1028.99,1524.13C1028.99,1525.64 1028.78,1527.35 1029.25,1528.31C1029.63,1529.07 1031.17,1529.59 1032.15,1529.84C1033.49,1530.2 1034.99,1530.13 1036.25,1530.18C1039.34,1530.33 1042.19,1530.08 1045.03,1530.18L1045.03,1546.82L1033.52,1546.82C1029.62,1546.82 1025.61,1547.19 1022.25,1546.65C1019.87,1546.27 1017.57,1545.1 1015.69,1543.83C1013.93,1542.66 1011.72,1540.79 1011.16,1538.72C1010.53,1536.34 1010.82,1533.04 1010.82,1530.1L1010.82,1503.31C1010.82,1503.19 1010.81,1503.07 1010.91,1503.06ZM1086.75,1566.44L1068.49,1566.44C1068.76,1545.34 1068.42,1524.16 1068.66,1503.06C1086.92,1503.11 1105.4,1502.94 1123.52,1503.14C1123.52,1509.57 1123.52,1515.93 1123.52,1522.59C1123.52,1527.19 1123.68,1532.73 1123.35,1537.01C1123.23,1538.51 1122.84,1539.49 1122.07,1540.59C1119.42,1544.37 1114.76,1546.82 1108.85,1546.82L1089.39,1546.82L1089.39,1530.18L1096.64,1530.18C1099.93,1530.18 1104.12,1530.76 1105.01,1528.65C1105.97,1526.36 1104.82,1522.79 1105.26,1519.78L1086.75,1519.78L1086.75,1566.44ZM2381.02,1483.01L2382.73,1483.01C2387.35,1483.22 2390.59,1485.32 2393.05,1487.79C2395.53,1490.26 2397.61,1493.48 2398,1497.94L2398,1498.62C2397.27,1498.52 2396.14,1498.83 2395.7,1498.45C2395.14,1494.65 2393.48,1491.36 2391.18,1489.24C2388.87,1487.11 2385.64,1485.39 2381.11,1485.57C2381.06,1485.56 2381.01,1485.56 2381.02,1485.48L2381.02,1483.01ZM2142.75,1483.09L2236.76,1483.09L2236.76,1499.81L2177.9,1499.81L2177.9,1530.95C2177.9,1534.46 2177.44,1538.13 2178.07,1541.19C2178.11,1541.37 2178.15,1541.64 2178.24,1541.87C2179.6,1545.25 2184.32,1548.41 2188.14,1549.21C2189.89,1549.58 2192.02,1549.47 2194.02,1549.47C2208.39,1549.47 2222.97,1549.39 2236.93,1549.55L2236.93,1566.44L2171.41,1566.44C2168.64,1566.09 2166.09,1564.95 2164.08,1563.29C2162.18,1561.72 2160.39,1559.57 2159.98,1556.89C2159.66,1554.75 2159.81,1552.27 2159.81,1549.89C2159.81,1533.75 2159.64,1516.02 2159.73,1499.9C2154.24,1499.7 2148.38,1499.87 2142.75,1499.81L2142.75,1483.09ZM2392.71,1498.62L2390.49,1498.62C2389.46,1493.83 2386.74,1490.71 2381.02,1490.6C2381.08,1489.83 2380.91,1488.84 2381.11,1488.21C2388.03,1488.63 2391.79,1492.21 2392.71,1498.62ZM2387.25,1498.62L2385.12,1498.62C2384.43,1497.09 2383.38,1495.92 2381.02,1496.06L2381.02,1493.67C2384.72,1493.7 2386.72,1495.43 2387.25,1498.62ZM2320.03,1502.8L2374.8,1502.8C2374.95,1511.44 2374.88,1520.61 2374.88,1529.67C2374.88,1532.6 2375.24,1536.71 2374.37,1538.89C2372.87,1542.62 2367.97,1545.58 2363.62,1546.48C2361.52,1546.91 2358.78,1546.74 2356.03,1546.74L2348.26,1546.74C2342.87,1546.74 2337.32,1547.08 2332.65,1546.74C2330.12,1546.55 2327.21,1545.22 2325.23,1543.92C2323.24,1542.62 2321.19,1540.76 2320.37,1538.72C2319.61,1536.83 2319.94,1532.52 2319.94,1530.1C2319.94,1521.1 2319.94,1511.66 2319.94,1503.06C2319.93,1502.93 2319.93,1502.81 2320.03,1502.8ZM2338.11,1519.86L2338.11,1524.38C2338.11,1525.75 2337.88,1527.59 2338.45,1528.65C2339.33,1530.28 2342.23,1530.01 2344.85,1530.01C2348.32,1530.01 2355.08,1530.85 2356.28,1528.65C2357.49,1526.43 2356.09,1522.35 2356.62,1519.61L2338.2,1519.61C2338.1,1519.62 2338.1,1519.74 2338.11,1519.86ZM2181.91,1503.06L2236.76,1503.06L2236.76,1546.82L2218.51,1546.82L2218.51,1519.78L2200.08,1519.78C2199.93,1521.08 2199.99,1522.61 2199.99,1524.13C2199.99,1525.64 2199.78,1527.35 2200.25,1528.31C2200.63,1529.07 2202.17,1529.59 2203.15,1529.84C2204.49,1530.2 2205.99,1530.13 2207.24,1530.18C2210.34,1530.33 2213.19,1530.08 2216.03,1530.18L2216.03,1546.82L2204.51,1546.82C2200.62,1546.82 2196.61,1547.19 2193.25,1546.65C2190.87,1546.27 2188.57,1545.1 2186.68,1543.83C2184.93,1542.66 2182.72,1540.79 2182.16,1538.72C2181.53,1536.34 2181.82,1533.04 2181.82,1530.1L2181.82,1503.31C2181.82,1503.19 2181.81,1503.07 2181.91,1503.06ZM2257.75,1566.44L2239.49,1566.44C2239.76,1545.34 2239.42,1524.16 2239.66,1503.06C2257.92,1503.11 2276.4,1502.94 2294.52,1503.14C2294.52,1509.57 2294.52,1515.93 2294.52,1522.59C2294.52,1527.19 2294.68,1532.73 2294.35,1537.01C2294.23,1538.51 2293.84,1539.49 2293.07,1540.59C2290.43,1544.37 2285.76,1546.82 2279.85,1546.82L2260.39,1546.82L2260.39,1530.18L2267.64,1530.18C2270.93,1530.18 2275.12,1530.76 2276.01,1528.65C2276.97,1526.36 2275.82,1522.79 2276.26,1519.78L2257.75,1519.78L2257.75,1566.44ZM2088.27,1483.01L2089.98,1483.01C2094.6,1483.22 2097.84,1485.32 2100.3,1487.79C2102.78,1490.26 2104.86,1493.48 2105.25,1497.94L2105.25,1498.62C2104.52,1498.52 2103.39,1498.83 2102.95,1498.45C2102.39,1494.65 2100.73,1491.36 2098.43,1489.24C2096.12,1487.11 2092.89,1485.39 2088.36,1485.57C2088.31,1485.56 2088.26,1485.56 2088.27,1485.48L2088.27,1483.01ZM1850,1483.09L1944.01,1483.09L1944.01,1499.81L1885.15,1499.81L1885.15,1530.95C1885.15,1534.46 1884.69,1538.13 1885.32,1541.19C1885.36,1541.37 1885.4,1541.64 1885.49,1541.87C1886.85,1545.25 1891.57,1548.41 1895.38,1549.21C1897.14,1549.58 1899.27,1549.47 1901.27,1549.47C1915.64,1549.47 1930.22,1549.39 1944.18,1549.55L1944.18,1566.44L1878.66,1566.44C1875.88,1566.09 1873.34,1564.95 1871.33,1563.29C1869.43,1561.72 1867.64,1559.57 1867.23,1556.89C1866.91,1554.75 1867.06,1552.27 1867.06,1549.89C1867.06,1533.75 1866.88,1516.02 1866.98,1499.9C1861.49,1499.7 1855.63,1499.87 1850,1499.81L1850,1483.09ZM2099.96,1498.62L2097.74,1498.62C2096.71,1493.83 2093.99,1490.71 2088.27,1490.6C2088.33,1489.83 2088.16,1488.84 2088.36,1488.21C2095.28,1488.63 2099.04,1492.21 2099.96,1498.62ZM2094.5,1498.62L2092.37,1498.62C2091.68,1497.09 2090.63,1495.92 2088.27,1496.06L2088.27,1493.67C2091.97,1493.7 2093.97,1495.43 2094.5,1498.62ZM2027.28,1502.8L2082.05,1502.8C2082.2,1511.44 2082.13,1520.61 2082.13,1529.67C2082.13,1532.6 2082.49,1536.71 2081.62,1538.89C2080.12,1542.62 2075.22,1545.58 2070.87,1546.48C2068.77,1546.91 2066.03,1546.74 2063.28,1546.74L2055.51,1546.74C2050.12,1546.74 2044.57,1547.08 2039.9,1546.74C2037.37,1546.55 2034.46,1545.22 2032.48,1543.92C2030.49,1542.62 2028.44,1540.76 2027.62,1538.72C2026.86,1536.83 2027.19,1532.52 2027.19,1530.1C2027.19,1521.1 2027.19,1511.66 2027.19,1503.06C2027.18,1502.93 2027.18,1502.81 2027.28,1502.8ZM2045.36,1519.86L2045.36,1524.38C2045.36,1525.75 2045.13,1527.59 2045.7,1528.65C2046.58,1530.28 2049.48,1530.01 2052.1,1530.01C2055.57,1530.01 2062.33,1530.85 2063.53,1528.65C2064.74,1526.43 2063.34,1522.35 2063.88,1519.61L2045.45,1519.61C2045.35,1519.62 2045.35,1519.74 2045.36,1519.86ZM1889.16,1503.06L1944.01,1503.06L1944.01,1546.82L1925.76,1546.82L1925.76,1519.78L1907.33,1519.78C1907.17,1521.08 1907.24,1522.61 1907.24,1524.13C1907.24,1525.64 1907.03,1527.35 1907.5,1528.31C1907.88,1529.07 1909.42,1529.59 1910.4,1529.84C1911.74,1530.2 1913.24,1530.13 1914.5,1530.18C1917.59,1530.33 1920.44,1530.08 1923.28,1530.18L1923.28,1546.82L1911.77,1546.82C1907.87,1546.82 1903.86,1547.19 1900.5,1546.65C1898.12,1546.27 1895.82,1545.1 1893.93,1543.83C1892.18,1542.66 1889.97,1540.79 1889.41,1538.72C1888.78,1536.34 1889.07,1533.04 1889.07,1530.1L1889.07,1503.31C1889.07,1503.19 1889.06,1503.07 1889.16,1503.06ZM1965,1566.44L1946.74,1566.44C1947.01,1545.34 1946.67,1524.16 1946.91,1503.06C1965.17,1503.11 1983.65,1502.94 2001.77,1503.14C2001.77,1509.57 2001.77,1515.93 2001.77,1522.59C2001.77,1527.19 2001.93,1532.73 2001.6,1537.01C2001.48,1538.51 2001.09,1539.49 2000.32,1540.59C1997.67,1544.37 1993.01,1546.82 1987.1,1546.82L1967.64,1546.82L1967.64,1530.18L1974.89,1530.18C1978.18,1530.18 1982.37,1530.76 1983.26,1528.65C1984.22,1526.36 1983.07,1522.79 1983.51,1519.78L1965,1519.78L1965,1566.44ZM1795.52,1483.01L1797.23,1483.01C1801.85,1483.22 1805.09,1485.32 1807.55,1487.79C1810.03,1490.26 1812.11,1493.48 1812.5,1497.94L1812.5,1498.62C1811.77,1498.52 1810.64,1498.83 1810.2,1498.45C1809.64,1494.65 1807.98,1491.36 1805.67,1489.24C1803.37,1487.11 1800.14,1485.39 1795.61,1485.57C1795.56,1485.56 1795.51,1485.56 1795.52,1485.48L1795.52,1483.01ZM1557.25,1483.09L1651.26,1483.09L1651.26,1499.81L1592.4,1499.81L1592.4,1530.95C1592.4,1534.46 1591.94,1538.13 1592.57,1541.19C1592.61,1541.37 1592.65,1541.64 1592.74,1541.87C1594.1,1545.25 1598.82,1548.41 1602.63,1549.21C1604.39,1549.58 1606.52,1549.47 1608.52,1549.47C1622.89,1549.47 1637.47,1549.39 1651.43,1549.55L1651.43,1566.44L1585.91,1566.44C1583.13,1566.09 1580.59,1564.95 1578.58,1563.29C1576.68,1561.72 1574.89,1559.57 1574.48,1556.89C1574.16,1554.75 1574.31,1552.27 1574.31,1549.89C1574.31,1533.75 1574.13,1516.02 1574.23,1499.9C1568.74,1499.7 1562.88,1499.87 1557.25,1499.81L1557.25,1483.09ZM1807.21,1498.62L1804.99,1498.62C1803.96,1493.83 1801.24,1490.71 1795.52,1490.6C1795.58,1489.83 1795.41,1488.84 1795.61,1488.21C1802.53,1488.63 1806.29,1492.21 1807.21,1498.62ZM1801.75,1498.62L1799.62,1498.62C1798.93,1497.09 1797.88,1495.92 1795.52,1496.06L1795.52,1493.67C1799.22,1493.7 1801.22,1495.43 1801.75,1498.62ZM1734.53,1502.8L1789.3,1502.8C1789.45,1511.44 1789.38,1520.61 1789.38,1529.67C1789.38,1532.6 1789.74,1536.71 1788.87,1538.89C1787.37,1542.62 1782.48,1545.58 1778.12,1546.48C1776.02,1546.91 1773.28,1546.74 1770.53,1546.74L1762.76,1546.74C1757.37,1546.74 1751.82,1547.08 1747.15,1546.74C1744.62,1546.55 1741.71,1545.22 1739.73,1543.92C1737.74,1542.62 1735.69,1540.76 1734.87,1538.72C1734.11,1536.83 1734.44,1532.52 1734.44,1530.1C1734.44,1521.1 1734.44,1511.66 1734.44,1503.06C1734.43,1502.93 1734.43,1502.81 1734.53,1502.8ZM1752.61,1519.86L1752.61,1524.38C1752.61,1525.75 1752.38,1527.59 1752.95,1528.65C1753.83,1530.28 1756.73,1530.01 1759.35,1530.01C1762.82,1530.01 1769.58,1530.85 1770.78,1528.65C1771.99,1526.43 1770.59,1522.35 1771.12,1519.61L1752.7,1519.61C1752.6,1519.62 1752.6,1519.74 1752.61,1519.86ZM1596.41,1503.06L1651.26,1503.06L1651.26,1546.82L1633.01,1546.82L1633.01,1519.78L1614.58,1519.78C1614.42,1521.08 1614.49,1522.61 1614.49,1524.13C1614.49,1525.64 1614.28,1527.35 1614.75,1528.31C1615.13,1529.07 1616.67,1529.59 1617.65,1529.84C1618.99,1530.2 1620.49,1530.13 1621.75,1530.18C1624.84,1530.33 1627.69,1530.08 1630.53,1530.18L1630.53,1546.82L1619.02,1546.82C1615.12,1546.82 1611.11,1547.19 1607.75,1546.65C1605.37,1546.27 1603.07,1545.1 1601.18,1543.83C1599.43,1542.66 1597.22,1540.79 1596.66,1538.72C1596.03,1536.34 1596.32,1533.04 1596.32,1530.1L1596.32,1503.31C1596.32,1503.19 1596.31,1503.07 1596.41,1503.06ZM1672.25,1566.44L1653.99,1566.44C1654.26,1545.34 1653.92,1524.16 1654.16,1503.06C1672.42,1503.11 1690.9,1502.94 1709.02,1503.14C1709.02,1509.57 1709.02,1515.93 1709.02,1522.59C1709.02,1527.19 1709.18,1532.73 1708.85,1537.01C1708.73,1538.51 1708.34,1539.49 1707.57,1540.59C1704.92,1544.37 1700.26,1546.82 1694.35,1546.82L1674.89,1546.82L1674.89,1530.18L1682.14,1530.18C1685.43,1530.18 1689.62,1530.76 1690.51,1528.65C1691.47,1526.36 1690.32,1522.79 1690.76,1519.78L1672.25,1519.78L1672.25,1566.44ZM2528.02,1362.07L2529.73,1362.07C2534.35,1362.29 2537.59,1364.38 2540.05,1366.85C2542.53,1369.33 2544.61,1372.55 2545,1377L2545,1377.69C2544.27,1377.59 2543.14,1377.89 2542.7,1377.52C2542.14,1373.71 2540.48,1370.43 2538.18,1368.3C2535.87,1366.17 2532.64,1364.45 2528.11,1364.63C2528.06,1364.63 2528.01,1364.62 2528.02,1364.55L2528.02,1362.07ZM2289.75,1362.16L2383.76,1362.16L2383.76,1378.88L2324.9,1378.88L2324.9,1410.02C2324.9,1413.53 2324.44,1417.19 2325.07,1420.26C2325.11,1420.43 2325.15,1420.71 2325.24,1420.94C2326.6,1424.32 2331.32,1427.48 2335.14,1428.28C2336.89,1428.64 2339.02,1428.53 2341.02,1428.53C2355.39,1428.53 2369.97,1428.46 2383.93,1428.62L2383.93,1445.51L2318.41,1445.51C2315.64,1445.15 2313.09,1444.02 2311.08,1442.35C2309.18,1440.78 2307.39,1438.64 2306.98,1435.95C2306.66,1433.81 2306.81,1431.34 2306.81,1428.96C2306.81,1412.81 2306.64,1395.09 2306.73,1378.97C2301.24,1378.77 2295.38,1378.94 2289.75,1378.88L2289.75,1362.16ZM2539.71,1377.69L2537.49,1377.69C2536.46,1372.89 2533.74,1369.78 2528.02,1369.67C2528.08,1368.9 2527.91,1367.9 2528.11,1367.28C2535.03,1367.7 2538.79,1371.27 2539.71,1377.69ZM2534.25,1377.69L2532.12,1377.69C2531.43,1376.15 2530.38,1374.98 2528.02,1375.13L2528.02,1372.74C2531.72,1372.76 2533.72,1374.5 2534.25,1377.69ZM2467.03,1381.87L2521.8,1381.87C2521.95,1390.51 2521.88,1399.67 2521.88,1408.74C2521.88,1411.66 2522.24,1415.77 2521.37,1417.95C2519.87,1421.68 2514.97,1424.65 2510.62,1425.55C2508.52,1425.98 2505.78,1425.8 2503.03,1425.8L2495.26,1425.8C2489.87,1425.8 2484.32,1426.15 2479.65,1425.8C2477.12,1425.61 2474.21,1424.28 2472.23,1422.99C2470.24,1421.69 2468.19,1419.82 2467.37,1417.78C2466.61,1415.9 2466.94,1411.59 2466.94,1409.17C2466.94,1400.17 2466.94,1390.73 2466.94,1382.12C2466.93,1382 2466.93,1381.88 2467.03,1381.87ZM2485.11,1398.93L2485.11,1403.45C2485.11,1404.82 2484.88,1406.65 2485.45,1407.71C2486.33,1409.34 2489.23,1409.08 2491.85,1409.08C2495.32,1409.08 2502.08,1409.91 2503.28,1407.71C2504.49,1405.5 2503.09,1401.42 2503.62,1398.67L2485.2,1398.67C2485.1,1398.69 2485.1,1398.81 2485.11,1398.93ZM2328.91,1382.12L2383.76,1382.12L2383.76,1425.89L2365.51,1425.89L2365.51,1398.84L2347.08,1398.84C2346.93,1400.14 2346.99,1401.68 2346.99,1403.19C2346.99,1404.71 2346.78,1406.42 2347.25,1407.37C2347.63,1408.14 2349.17,1408.65 2350.15,1408.91C2351.49,1409.26 2352.99,1409.19 2354.24,1409.25C2357.34,1409.39 2360.19,1409.14 2363.03,1409.25L2363.03,1425.89L2351.51,1425.89C2347.62,1425.89 2343.61,1426.25 2340.25,1425.72C2337.87,1425.33 2335.57,1424.16 2333.68,1422.9C2331.93,1421.73 2329.72,1419.86 2329.16,1417.78C2328.53,1415.4 2328.82,1412.11 2328.82,1409.17L2328.82,1382.38C2328.82,1382.26 2328.81,1382.14 2328.91,1382.12ZM2404.75,1445.51L2386.49,1445.51C2386.76,1424.4 2386.42,1403.22 2386.66,1382.12C2404.92,1382.18 2423.4,1382.01 2441.52,1382.21C2441.52,1388.63 2441.52,1395 2441.52,1401.66C2441.52,1406.25 2441.68,1411.8 2441.35,1416.08C2441.23,1417.58 2440.84,1418.56 2440.07,1419.66C2437.43,1423.44 2432.76,1425.89 2426.85,1425.89L2407.39,1425.89L2407.39,1409.25L2414.64,1409.25C2417.93,1409.25 2422.12,1409.83 2423.01,1407.71C2423.97,1405.43 2422.82,1401.86 2423.26,1398.84L2404.75,1398.84L2404.75,1445.51ZM2235.27,1362.07L2236.98,1362.07C2241.6,1362.29 2244.84,1364.38 2247.3,1366.85C2249.78,1369.33 2251.86,1372.55 2252.25,1377L2252.25,1377.69C2251.52,1377.59 2250.39,1377.89 2249.95,1377.52C2249.39,1373.71 2247.73,1370.43 2245.43,1368.3C2243.12,1366.17 2239.89,1364.45 2235.36,1364.63C2235.31,1364.63 2235.26,1364.62 2235.27,1364.55L2235.27,1362.07ZM1997,1362.16L2091.01,1362.16L2091.01,1378.88L2032.15,1378.88L2032.15,1410.02C2032.15,1413.53 2031.69,1417.19 2032.32,1420.26C2032.36,1420.43 2032.4,1420.71 2032.49,1420.94C2033.85,1424.32 2038.57,1427.48 2042.38,1428.28C2044.14,1428.64 2046.27,1428.53 2048.27,1428.53C2062.64,1428.53 2077.22,1428.46 2091.18,1428.62L2091.18,1445.51L2025.66,1445.51C2022.88,1445.15 2020.34,1444.02 2018.33,1442.35C2016.43,1440.78 2014.64,1438.64 2014.23,1435.95C2013.91,1433.81 2014.06,1431.34 2014.06,1428.96C2014.06,1412.81 2013.88,1395.09 2013.98,1378.97C2008.49,1378.77 2002.63,1378.94 1997,1378.88L1997,1362.16ZM2246.96,1377.69L2244.74,1377.69C2243.71,1372.89 2240.99,1369.78 2235.27,1369.67C2235.33,1368.9 2235.16,1367.9 2235.36,1367.28C2242.28,1367.7 2246.04,1371.27 2246.96,1377.69ZM2241.5,1377.69L2239.37,1377.69C2238.68,1376.15 2237.63,1374.98 2235.27,1375.13L2235.27,1372.74C2238.97,1372.76 2240.97,1374.5 2241.5,1377.69ZM2174.28,1381.87L2229.05,1381.87C2229.2,1390.51 2229.13,1399.67 2229.13,1408.74C2229.13,1411.66 2229.49,1415.77 2228.62,1417.95C2227.12,1421.68 2222.22,1424.65 2217.87,1425.55C2215.77,1425.98 2213.03,1425.8 2210.28,1425.8L2202.51,1425.8C2197.12,1425.8 2191.57,1426.15 2186.9,1425.8C2184.37,1425.61 2181.46,1424.28 2179.48,1422.99C2177.49,1421.69 2175.44,1419.82 2174.62,1417.78C2173.86,1415.9 2174.19,1411.59 2174.19,1409.17C2174.19,1400.17 2174.19,1390.73 2174.19,1382.12C2174.18,1382 2174.18,1381.88 2174.28,1381.87ZM2192.36,1398.93L2192.36,1403.45C2192.36,1404.82 2192.13,1406.65 2192.7,1407.71C2193.58,1409.34 2196.48,1409.08 2199.1,1409.08C2202.57,1409.08 2209.33,1409.91 2210.53,1407.71C2211.74,1405.5 2210.34,1401.42 2210.88,1398.67L2192.45,1398.67C2192.35,1398.69 2192.35,1398.81 2192.36,1398.93ZM2036.16,1382.12L2091.01,1382.12L2091.01,1425.89L2072.76,1425.89L2072.76,1398.84L2054.33,1398.84C2054.18,1400.14 2054.24,1401.68 2054.24,1403.19C2054.24,1404.71 2054.03,1406.42 2054.5,1407.37C2054.88,1408.14 2056.42,1408.65 2057.4,1408.91C2058.74,1409.26 2060.24,1409.19 2061.49,1409.25C2064.59,1409.39 2067.44,1409.14 2070.28,1409.25L2070.28,1425.89L2058.76,1425.89C2054.87,1425.89 2050.86,1426.25 2047.5,1425.72C2045.12,1425.33 2042.82,1424.16 2040.93,1422.9C2039.18,1421.73 2036.97,1419.86 2036.41,1417.78C2035.78,1415.4 2036.07,1412.11 2036.07,1409.17L2036.07,1382.38C2036.07,1382.26 2036.06,1382.14 2036.16,1382.12ZM2112,1445.51L2093.74,1445.51C2094.01,1424.4 2093.67,1403.22 2093.91,1382.12C2112.17,1382.18 2130.65,1382.01 2148.77,1382.21C2148.77,1388.63 2148.77,1395 2148.77,1401.66C2148.77,1406.25 2148.93,1411.8 2148.6,1416.08C2148.48,1417.58 2148.09,1418.56 2147.32,1419.66C2144.68,1423.44 2140.01,1425.89 2134.1,1425.89L2114.64,1425.89L2114.64,1409.25L2121.89,1409.25C2125.18,1409.25 2129.37,1409.83 2130.26,1407.71C2131.22,1405.43 2130.07,1401.86 2130.51,1398.84L2112,1398.84L2112,1445.51ZM1942.52,1362.07L1944.23,1362.07C1948.85,1362.29 1952.09,1364.38 1954.55,1366.85C1957.03,1369.33 1959.11,1372.55 1959.5,1377L1959.5,1377.69C1958.77,1377.59 1957.64,1377.89 1957.2,1377.52C1956.64,1373.71 1954.98,1370.43 1952.67,1368.3C1950.37,1366.17 1947.14,1364.45 1942.61,1364.63C1942.56,1364.63 1942.51,1364.62 1942.52,1364.55L1942.52,1362.07ZM1704.25,1362.16L1798.26,1362.16L1798.26,1378.88L1739.4,1378.88L1739.4,1410.02C1739.4,1413.53 1738.94,1417.19 1739.57,1420.26C1739.61,1420.43 1739.65,1420.71 1739.74,1420.94C1741.1,1424.32 1745.82,1427.48 1749.63,1428.28C1751.39,1428.64 1753.52,1428.53 1755.52,1428.53C1769.89,1428.53 1784.47,1428.46 1798.43,1428.62L1798.43,1445.51L1732.91,1445.51C1730.13,1445.15 1727.59,1444.02 1725.58,1442.35C1723.68,1440.78 1721.89,1438.64 1721.48,1435.95C1721.16,1433.81 1721.31,1431.34 1721.31,1428.96C1721.31,1412.81 1721.13,1395.09 1721.23,1378.97C1715.74,1378.77 1709.88,1378.94 1704.25,1378.88L1704.25,1362.16ZM1954.21,1377.69L1951.99,1377.69C1950.96,1372.89 1948.24,1369.78 1942.52,1369.67C1942.58,1368.9 1942.41,1367.9 1942.61,1367.28C1949.53,1367.7 1953.29,1371.27 1954.21,1377.69ZM1948.75,1377.69L1946.62,1377.69C1945.93,1376.15 1944.88,1374.98 1942.52,1375.13L1942.52,1372.74C1946.22,1372.76 1948.22,1374.5 1948.75,1377.69ZM1881.53,1381.87L1936.3,1381.87C1936.45,1390.51 1936.38,1399.67 1936.38,1408.74C1936.38,1411.66 1936.74,1415.77 1935.87,1417.95C1934.37,1421.68 1929.48,1424.65 1925.12,1425.55C1923.02,1425.98 1920.28,1425.8 1917.53,1425.8L1909.76,1425.8C1904.37,1425.8 1898.82,1426.15 1894.15,1425.8C1891.62,1425.61 1888.71,1424.28 1886.73,1422.99C1884.74,1421.69 1882.69,1419.82 1881.87,1417.78C1881.11,1415.9 1881.44,1411.59 1881.44,1409.17C1881.44,1400.17 1881.44,1390.73 1881.44,1382.12C1881.43,1382 1881.43,1381.88 1881.53,1381.87ZM1899.61,1398.93L1899.61,1403.45C1899.61,1404.82 1899.38,1406.65 1899.95,1407.71C1900.83,1409.34 1903.73,1409.08 1906.35,1409.08C1909.82,1409.08 1916.58,1409.91 1917.78,1407.71C1918.99,1405.5 1917.59,1401.42 1918.12,1398.67L1899.7,1398.67C1899.6,1398.69 1899.6,1398.81 1899.61,1398.93ZM1743.41,1382.12L1798.26,1382.12L1798.26,1425.89L1780.01,1425.89L1780.01,1398.84L1761.58,1398.84C1761.42,1400.14 1761.49,1401.68 1761.49,1403.19C1761.49,1404.71 1761.28,1406.42 1761.75,1407.37C1762.13,1408.14 1763.67,1408.65 1764.65,1408.91C1765.99,1409.26 1767.49,1409.19 1768.75,1409.25C1771.84,1409.39 1774.69,1409.14 1777.53,1409.25L1777.53,1425.89L1766.02,1425.89C1762.12,1425.89 1758.11,1426.25 1754.75,1425.72C1752.37,1425.33 1750.07,1424.16 1748.18,1422.9C1746.43,1421.73 1744.22,1419.86 1743.66,1417.78C1743.03,1415.4 1743.32,1412.11 1743.32,1409.17L1743.32,1382.38C1743.32,1382.26 1743.31,1382.14 1743.41,1382.12ZM1819.25,1445.51L1800.99,1445.51C1801.26,1424.4 1800.92,1403.22 1801.16,1382.12C1819.42,1382.18 1837.9,1382.01 1856.02,1382.21C1856.02,1388.63 1856.02,1395 1856.02,1401.66C1856.02,1406.25 1856.18,1411.8 1855.85,1416.08C1855.73,1417.58 1855.34,1418.56 1854.57,1419.66C1851.92,1423.44 1847.26,1425.89 1841.35,1425.89L1821.89,1425.89L1821.89,1409.25L1829.14,1409.25C1832.43,1409.25 1836.62,1409.83 1837.51,1407.71C1838.47,1405.43 1837.32,1401.86 1837.76,1398.84L1819.25,1398.84L1819.25,1445.51ZM1064.27,1603.94L1065.98,1603.94C1070.6,1604.15 1073.84,1606.25 1076.3,1608.72C1078.78,1611.19 1080.86,1614.41 1081.25,1618.87L1081.25,1619.55C1080.52,1619.46 1079.39,1619.76 1078.95,1619.38C1078.39,1615.58 1076.73,1612.3 1074.42,1610.17C1072.12,1608.04 1068.89,1606.32 1064.36,1606.5C1064.31,1606.5 1064.26,1606.49 1064.27,1606.42L1064.27,1603.94ZM1075.96,1619.55L1073.74,1619.55C1072.71,1614.76 1069.99,1611.65 1064.27,1611.53C1064.33,1610.77 1064.16,1609.77 1064.36,1609.15C1071.28,1609.57 1075.04,1613.14 1075.96,1619.55ZM1070.5,1619.55L1068.37,1619.55C1067.68,1618.02 1066.63,1616.85 1064.27,1617L1064.27,1614.61C1067.97,1614.63 1069.97,1616.36 1070.5,1619.55ZM1502.77,1724.88L1504.48,1724.88C1509.1,1725.09 1512.34,1727.19 1514.8,1729.65C1517.28,1732.13 1519.36,1735.35 1519.75,1739.81L1519.75,1740.49C1519.02,1740.39 1517.89,1740.69 1517.45,1740.32C1516.89,1736.52 1515.23,1733.23 1512.92,1731.1C1510.62,1728.97 1507.39,1727.26 1502.86,1727.43C1502.81,1727.43 1502.76,1727.42 1502.77,1727.35L1502.77,1724.88ZM1264.5,1724.96L1358.51,1724.96L1358.51,1741.68L1299.65,1741.68L1299.65,1772.82C1299.65,1776.33 1299.19,1780 1299.82,1783.06C1299.86,1783.24 1299.9,1783.51 1299.99,1783.74C1301.35,1787.12 1306.07,1790.28 1309.88,1791.08C1311.64,1791.44 1313.77,1791.33 1315.77,1791.33C1330.14,1791.33 1344.72,1791.26 1358.68,1791.42L1358.68,1808.31L1293.16,1808.31C1290.38,1807.96 1287.84,1806.82 1285.83,1805.15C1283.93,1803.58 1282.14,1801.44 1281.73,1798.76C1281.41,1796.61 1281.56,1794.14 1281.56,1791.76C1281.56,1775.61 1281.38,1757.89 1281.48,1741.77C1275.99,1741.57 1270.13,1741.74 1264.5,1741.68L1264.5,1724.96ZM1514.46,1740.49L1512.24,1740.49C1511.21,1735.69 1508.49,1732.58 1502.77,1732.47C1502.83,1731.7 1502.66,1730.71 1502.86,1730.08C1509.78,1730.5 1513.54,1734.08 1514.46,1740.49ZM1509,1740.49L1506.87,1740.49C1506.18,1738.96 1505.13,1737.79 1502.77,1737.93L1502.77,1735.54C1506.47,1735.57 1508.47,1737.3 1509,1740.49ZM1441.78,1744.67L1496.55,1744.67C1496.7,1753.31 1496.63,1762.47 1496.63,1771.54C1496.63,1774.46 1496.99,1778.57 1496.12,1780.75C1494.62,1784.48 1489.73,1787.45 1485.37,1788.35C1483.27,1788.78 1480.53,1788.6 1477.78,1788.6L1470.01,1788.6C1464.62,1788.6 1459.07,1788.95 1454.4,1788.6C1451.87,1788.41 1448.96,1787.08 1446.98,1785.79C1444.99,1784.49 1442.94,1782.62 1442.12,1780.58C1441.36,1778.7 1441.69,1774.39 1441.69,1771.97C1441.69,1762.97 1441.69,1753.53 1441.69,1744.92C1441.68,1744.8 1441.68,1744.68 1441.78,1744.67ZM1459.86,1761.73L1459.86,1766.25C1459.86,1767.62 1459.63,1769.45 1460.2,1770.52C1461.08,1772.14 1463.98,1771.88 1466.6,1771.88C1470.07,1771.88 1476.83,1772.72 1478.03,1770.52C1479.24,1768.3 1477.84,1764.22 1478.38,1761.47L1459.95,1761.47C1459.85,1761.49 1459.85,1761.61 1459.86,1761.73ZM1303.66,1744.92L1358.51,1744.92L1358.51,1788.69L1340.26,1788.69L1340.26,1761.64L1321.83,1761.64C1321.67,1762.94 1321.74,1764.48 1321.74,1766C1321.74,1767.51 1321.53,1769.22 1322,1770.18C1322.38,1770.94 1323.92,1771.45 1324.9,1771.71C1326.24,1772.06 1327.74,1771.99 1329,1772.05C1332.09,1772.2 1334.94,1771.94 1337.78,1772.05L1337.78,1788.69L1326.27,1788.69C1322.37,1788.69 1318.36,1789.06 1315,1788.52C1312.62,1788.13 1310.32,1786.96 1308.43,1785.7C1306.68,1784.53 1304.47,1782.66 1303.91,1780.58C1303.28,1778.2 1303.57,1774.91 1303.57,1771.97L1303.57,1745.18C1303.57,1745.06 1303.56,1744.94 1303.66,1744.92ZM1379.5,1808.31L1361.24,1808.31C1361.51,1787.21 1361.17,1766.02 1361.41,1744.92C1379.67,1744.98 1398.15,1744.81 1416.27,1745.01C1416.27,1751.43 1416.27,1757.8 1416.27,1764.46C1416.27,1769.06 1416.43,1774.6 1416.1,1778.88C1415.98,1780.38 1415.59,1781.36 1414.82,1782.46C1412.17,1786.24 1407.51,1788.69 1401.6,1788.69L1382.14,1788.69L1382.14,1772.05L1389.39,1772.05C1392.68,1772.05 1396.87,1772.63 1397.76,1770.52C1398.72,1768.23 1397.57,1764.66 1398.01,1761.64L1379.5,1761.64L1379.5,1808.31ZM1357.02,1603.94L1358.73,1603.94C1363.35,1604.15 1366.59,1606.25 1369.05,1608.72C1371.53,1611.19 1373.61,1614.41 1374,1618.87L1374,1619.55C1373.27,1619.46 1372.14,1619.76 1371.7,1619.38C1371.14,1615.58 1369.48,1612.3 1367.17,1610.17C1364.87,1608.04 1361.64,1606.32 1357.11,1606.5C1357.06,1606.5 1357.01,1606.49 1357.02,1606.42L1357.02,1603.94ZM1118.75,1604.03L1212.76,1604.03L1212.76,1620.75L1153.9,1620.75L1153.9,1651.89C1153.9,1655.39 1153.44,1659.06 1154.07,1662.12C1154.11,1662.3 1154.15,1662.58 1154.24,1662.81C1155.6,1666.18 1160.32,1669.34 1164.13,1670.14C1165.89,1670.51 1168.02,1670.4 1170.02,1670.4C1184.39,1670.4 1198.97,1670.33 1212.93,1670.48L1212.93,1687.38L1147.41,1687.38C1144.63,1687.02 1142.09,1685.88 1140.08,1684.22C1138.18,1682.65 1136.39,1680.5 1135.98,1677.82C1135.66,1675.68 1135.81,1673.21 1135.81,1670.83C1135.81,1654.68 1135.63,1636.95 1135.73,1620.83C1130.24,1620.63 1124.38,1620.81 1118.75,1620.75L1118.75,1604.03ZM1368.71,1619.55L1366.49,1619.55C1365.46,1614.76 1362.74,1611.65 1357.02,1611.53C1357.08,1610.77 1356.91,1609.77 1357.11,1609.15C1364.03,1609.57 1367.79,1613.14 1368.71,1619.55ZM1363.25,1619.55L1361.12,1619.55C1360.43,1618.02 1359.38,1616.85 1357.02,1617L1357.02,1614.61C1360.72,1614.63 1362.72,1616.36 1363.25,1619.55ZM1296.03,1623.73L1350.8,1623.73C1350.95,1632.38 1350.88,1641.54 1350.88,1650.61C1350.88,1653.53 1351.24,1657.64 1350.37,1659.82C1348.87,1663.55 1343.98,1666.52 1339.62,1667.41C1337.52,1667.84 1334.78,1667.67 1332.03,1667.67L1324.26,1667.67C1318.87,1667.67 1313.32,1668.02 1308.65,1667.67C1306.12,1667.48 1303.21,1666.15 1301.23,1664.85C1299.24,1663.55 1297.19,1661.69 1296.37,1659.65C1295.61,1657.77 1295.94,1653.46 1295.94,1651.03C1295.94,1642.04 1295.94,1632.59 1295.94,1623.99C1295.93,1623.87 1295.93,1623.75 1296.03,1623.73ZM1314.11,1640.8L1314.11,1645.32C1314.11,1646.68 1313.88,1648.52 1314.45,1649.58C1315.33,1651.21 1318.23,1650.95 1320.85,1650.95C1324.32,1650.95 1331.08,1651.78 1332.28,1649.58C1333.49,1647.37 1332.09,1643.29 1332.62,1640.54L1314.2,1640.54C1314.1,1640.56 1314.1,1640.67 1314.11,1640.8ZM1157.91,1623.99L1212.76,1623.99L1212.76,1667.75L1194.51,1667.75L1194.51,1640.71L1176.08,1640.71C1175.92,1642.01 1175.99,1643.55 1175.99,1645.06C1175.99,1646.58 1175.78,1648.28 1176.25,1649.24C1176.63,1650.01 1178.17,1650.52 1179.15,1650.78C1180.49,1651.13 1181.99,1651.06 1183.25,1651.12C1186.34,1651.26 1189.19,1651.01 1192.03,1651.12L1192.03,1667.75L1180.52,1667.75C1176.62,1667.75 1172.61,1668.12 1169.25,1667.58C1166.87,1667.2 1164.57,1666.03 1162.68,1664.77C1160.93,1663.59 1158.72,1661.73 1158.16,1659.65C1157.53,1657.27 1157.82,1653.97 1157.82,1651.03L1157.82,1624.25C1157.82,1624.12 1157.81,1624 1157.91,1623.99ZM1233.75,1687.38L1215.49,1687.38C1215.76,1666.27 1215.42,1645.09 1215.66,1623.99C1233.92,1624.05 1252.4,1623.88 1270.52,1624.08C1270.52,1630.5 1270.52,1636.87 1270.52,1643.53C1270.52,1648.12 1270.68,1653.67 1270.35,1657.94C1270.23,1659.45 1269.84,1660.42 1269.07,1661.53C1266.42,1665.31 1261.76,1667.75 1255.85,1667.75L1236.39,1667.75L1236.39,1651.12L1243.64,1651.12C1246.93,1651.12 1251.12,1651.7 1252.01,1649.58C1252.97,1647.29 1251.82,1643.73 1252.26,1640.71L1233.75,1640.71L1233.75,1687.38ZM1649.77,1603.94L1651.48,1603.94C1656.1,1604.15 1659.34,1606.25 1661.8,1608.72C1664.28,1611.19 1666.36,1614.41 1666.75,1618.87L1666.75,1619.55C1666.02,1619.46 1664.89,1619.76 1664.45,1619.38C1663.89,1615.58 1662.23,1612.3 1659.92,1610.17C1657.62,1608.04 1654.39,1606.32 1649.86,1606.5C1649.81,1606.5 1649.76,1606.49 1649.77,1606.42L1649.77,1603.94ZM1411.5,1604.03L1505.51,1604.03L1505.51,1620.75L1446.65,1620.75L1446.65,1651.89C1446.65,1655.39 1446.19,1659.06 1446.82,1662.12C1446.86,1662.3 1446.9,1662.58 1446.99,1662.81C1448.35,1666.18 1453.07,1669.34 1456.88,1670.14C1458.64,1670.51 1460.77,1670.4 1462.77,1670.4C1477.14,1670.4 1491.72,1670.33 1505.68,1670.48L1505.68,1687.38L1440.16,1687.38C1437.38,1687.02 1434.84,1685.88 1432.83,1684.22C1430.93,1682.65 1429.14,1680.5 1428.73,1677.82C1428.41,1675.68 1428.56,1673.21 1428.56,1670.83C1428.56,1654.68 1428.38,1636.95 1428.48,1620.83C1422.99,1620.63 1417.13,1620.81 1411.5,1620.75L1411.5,1604.03ZM1661.46,1619.55L1659.24,1619.55C1658.21,1614.76 1655.49,1611.65 1649.77,1611.53C1649.83,1610.77 1649.66,1609.77 1649.86,1609.15C1656.78,1609.57 1660.54,1613.14 1661.46,1619.55ZM1656,1619.55L1653.87,1619.55C1653.18,1618.02 1652.13,1616.85 1649.77,1617L1649.77,1614.61C1653.47,1614.63 1655.47,1616.36 1656,1619.55ZM1588.78,1623.73L1643.55,1623.73C1643.7,1632.38 1643.63,1641.54 1643.63,1650.61C1643.63,1653.53 1643.99,1657.64 1643.12,1659.82C1641.62,1663.55 1636.73,1666.52 1632.37,1667.41C1630.27,1667.84 1627.53,1667.67 1624.78,1667.67L1617.01,1667.67C1611.62,1667.67 1606.07,1668.02 1601.4,1667.67C1598.87,1667.48 1595.96,1666.15 1593.98,1664.85C1591.99,1663.55 1589.94,1661.69 1589.12,1659.65C1588.36,1657.77 1588.69,1653.46 1588.69,1651.03C1588.69,1642.04 1588.69,1632.59 1588.69,1623.99C1588.68,1623.87 1588.68,1623.75 1588.78,1623.73ZM1606.86,1640.8L1606.86,1645.32C1606.86,1646.68 1606.63,1648.52 1607.2,1649.58C1608.08,1651.21 1610.98,1650.95 1613.6,1650.95C1617.07,1650.95 1623.83,1651.78 1625.03,1649.58C1626.24,1647.37 1624.84,1643.29 1625.38,1640.54L1606.95,1640.54C1606.85,1640.56 1606.85,1640.67 1606.86,1640.8ZM1450.66,1623.99L1505.51,1623.99L1505.51,1667.75L1487.26,1667.75L1487.26,1640.71L1468.83,1640.71C1468.67,1642.01 1468.74,1643.55 1468.74,1645.06C1468.74,1646.58 1468.53,1648.28 1469,1649.24C1469.38,1650.01 1470.92,1650.52 1471.9,1650.78C1473.24,1651.13 1474.74,1651.06 1476,1651.12C1479.09,1651.26 1481.94,1651.01 1484.78,1651.12L1484.78,1667.75L1473.27,1667.75C1469.37,1667.75 1465.36,1668.12 1462,1667.58C1459.62,1667.2 1457.32,1666.03 1455.43,1664.77C1453.68,1663.59 1451.47,1661.73 1450.91,1659.65C1450.28,1657.27 1450.57,1653.97 1450.57,1651.03L1450.57,1624.25C1450.57,1624.12 1450.56,1624 1450.66,1623.99ZM1526.5,1687.38L1508.24,1687.38C1508.51,1666.27 1508.17,1645.09 1508.41,1623.99C1526.67,1624.05 1545.15,1623.88 1563.27,1624.08C1563.27,1630.5 1563.27,1636.87 1563.27,1643.53C1563.27,1648.12 1563.43,1653.67 1563.1,1657.94C1562.98,1659.45 1562.59,1660.42 1561.82,1661.53C1559.17,1665.31 1554.51,1667.75 1548.6,1667.75L1529.14,1667.75L1529.14,1651.12L1536.39,1651.12C1539.68,1651.12 1543.87,1651.7 1544.76,1649.58C1545.72,1647.29 1544.57,1643.73 1545.01,1640.71L1526.5,1640.71L1526.5,1687.38ZM1210.02,1724.88L1211.73,1724.88C1216.35,1725.09 1219.59,1727.19 1222.05,1729.65C1224.53,1732.13 1226.61,1735.35 1227,1739.81L1227,1740.49C1226.27,1740.39 1225.14,1740.69 1224.7,1740.32C1224.14,1736.52 1222.48,1733.23 1220.17,1731.1C1217.87,1728.97 1214.64,1727.26 1210.11,1727.43C1210.06,1727.43 1210.01,1727.42 1210.02,1727.35L1210.02,1724.88ZM1221.71,1740.49L1219.49,1740.49C1218.46,1735.69 1215.74,1732.58 1210.02,1732.47C1210.08,1731.7 1209.91,1730.71 1210.11,1730.08C1217.03,1730.5 1220.79,1734.08 1221.71,1740.49ZM1216.25,1740.49L1214.12,1740.49C1213.43,1738.96 1212.38,1737.79 1210.02,1737.93L1210.02,1735.54C1213.72,1735.57 1215.72,1737.3 1216.25,1740.49ZM2088.27,1724.88L2089.98,1724.88C2094.6,1725.09 2097.84,1727.19 2100.3,1729.65C2102.78,1732.13 2104.86,1735.35 2105.25,1739.81L2105.25,1740.49C2104.52,1740.39 2103.39,1740.69 2102.95,1740.32C2102.39,1736.52 2100.73,1733.23 2098.43,1731.1C2096.12,1728.97 2092.89,1727.26 2088.36,1727.43C2088.31,1727.43 2088.26,1727.42 2088.27,1727.35L2088.27,1724.88ZM1850,1724.96L1944.01,1724.96L1944.01,1741.68L1885.15,1741.68L1885.15,1772.82C1885.15,1776.33 1884.69,1780 1885.32,1783.06C1885.36,1783.24 1885.4,1783.51 1885.49,1783.74C1886.85,1787.12 1891.57,1790.28 1895.38,1791.08C1897.14,1791.44 1899.27,1791.33 1901.27,1791.33C1915.64,1791.33 1930.22,1791.26 1944.18,1791.42L1944.18,1808.31L1878.66,1808.31C1875.88,1807.96 1873.34,1806.82 1871.33,1805.15C1869.43,1803.58 1867.64,1801.44 1867.23,1798.76C1866.91,1796.61 1867.06,1794.14 1867.06,1791.76C1867.06,1775.61 1866.88,1757.89 1866.98,1741.77C1861.49,1741.57 1855.63,1741.74 1850,1741.68L1850,1724.96ZM2099.96,1740.49L2097.74,1740.49C2096.71,1735.69 2093.99,1732.58 2088.27,1732.47C2088.33,1731.7 2088.16,1730.71 2088.36,1730.08C2095.28,1730.5 2099.04,1734.08 2099.96,1740.49ZM2094.5,1740.49L2092.37,1740.49C2091.68,1738.96 2090.63,1737.79 2088.27,1737.93L2088.27,1735.54C2091.97,1735.57 2093.97,1737.3 2094.5,1740.49ZM2027.28,1744.67L2082.05,1744.67C2082.2,1753.31 2082.13,1762.47 2082.13,1771.54C2082.13,1774.46 2082.49,1778.57 2081.62,1780.75C2080.12,1784.48 2075.22,1787.45 2070.87,1788.35C2068.77,1788.78 2066.03,1788.6 2063.28,1788.6L2055.51,1788.6C2050.12,1788.6 2044.57,1788.95 2039.9,1788.6C2037.37,1788.41 2034.46,1787.08 2032.48,1785.79C2030.49,1784.49 2028.44,1782.62 2027.62,1780.58C2026.86,1778.7 2027.19,1774.39 2027.19,1771.97C2027.19,1762.97 2027.19,1753.53 2027.19,1744.92C2027.18,1744.8 2027.18,1744.68 2027.28,1744.67ZM2045.36,1761.73L2045.36,1766.25C2045.36,1767.62 2045.13,1769.45 2045.7,1770.52C2046.58,1772.14 2049.48,1771.88 2052.1,1771.88C2055.57,1771.88 2062.33,1772.72 2063.53,1770.52C2064.74,1768.3 2063.34,1764.22 2063.88,1761.47L2045.45,1761.47C2045.35,1761.49 2045.35,1761.61 2045.36,1761.73ZM1889.16,1744.92L1944.01,1744.92L1944.01,1788.69L1925.76,1788.69L1925.76,1761.64L1907.33,1761.64C1907.17,1762.94 1907.24,1764.48 1907.24,1766C1907.24,1767.51 1907.03,1769.22 1907.5,1770.18C1907.88,1770.94 1909.42,1771.45 1910.4,1771.71C1911.74,1772.06 1913.24,1771.99 1914.5,1772.05C1917.59,1772.2 1920.44,1771.94 1923.28,1772.05L1923.28,1788.69L1911.77,1788.69C1907.87,1788.69 1903.86,1789.06 1900.5,1788.52C1898.12,1788.13 1895.82,1786.96 1893.93,1785.7C1892.18,1784.53 1889.97,1782.66 1889.41,1780.58C1888.78,1778.2 1889.07,1774.91 1889.07,1771.97L1889.07,1745.18C1889.07,1745.06 1889.06,1744.94 1889.16,1744.92ZM1965,1808.31L1946.74,1808.31C1947.01,1787.21 1946.67,1766.02 1946.91,1744.92C1965.17,1744.98 1983.65,1744.81 2001.77,1745.01C2001.77,1751.43 2001.77,1757.8 2001.77,1764.46C2001.77,1769.06 2001.93,1774.6 2001.6,1778.88C2001.48,1780.38 2001.09,1781.36 2000.32,1782.46C1997.67,1786.24 1993.01,1788.69 1987.1,1788.69L1967.64,1788.69L1967.64,1772.05L1974.89,1772.05C1978.18,1772.05 1982.37,1772.63 1983.26,1770.52C1984.22,1768.23 1983.07,1764.66 1983.51,1761.64L1965,1761.64L1965,1808.31ZM1795.52,1724.88L1797.23,1724.88C1801.85,1725.09 1805.09,1727.19 1807.55,1729.65C1810.03,1732.13 1812.11,1735.35 1812.5,1739.81L1812.5,1740.49C1811.77,1740.39 1810.64,1740.69 1810.2,1740.32C1809.64,1736.52 1807.98,1733.23 1805.67,1731.1C1803.37,1728.97 1800.14,1727.26 1795.61,1727.43C1795.56,1727.43 1795.51,1727.42 1795.52,1727.35L1795.52,1724.88ZM1557.25,1724.96L1651.26,1724.96L1651.26,1741.68L1592.4,1741.68L1592.4,1772.82C1592.4,1776.33 1591.94,1780 1592.57,1783.06C1592.61,1783.24 1592.65,1783.51 1592.74,1783.74C1594.1,1787.12 1598.82,1790.28 1602.63,1791.08C1604.39,1791.44 1606.52,1791.33 1608.52,1791.33C1622.89,1791.33 1637.47,1791.26 1651.43,1791.42L1651.43,1808.31L1585.91,1808.31C1583.13,1807.96 1580.59,1806.82 1578.58,1805.15C1576.68,1803.58 1574.89,1801.44 1574.48,1798.76C1574.16,1796.61 1574.31,1794.14 1574.31,1791.76C1574.31,1775.61 1574.13,1757.89 1574.23,1741.77C1568.74,1741.57 1562.88,1741.74 1557.25,1741.68L1557.25,1724.96ZM1807.21,1740.49L1804.99,1740.49C1803.96,1735.69 1801.24,1732.58 1795.52,1732.47C1795.58,1731.7 1795.41,1730.71 1795.61,1730.08C1802.53,1730.5 1806.29,1734.08 1807.21,1740.49ZM1801.75,1740.49L1799.62,1740.49C1798.93,1738.96 1797.88,1737.79 1795.52,1737.93L1795.52,1735.54C1799.22,1735.57 1801.22,1737.3 1801.75,1740.49ZM1734.53,1744.67L1789.3,1744.67C1789.45,1753.31 1789.38,1762.47 1789.38,1771.54C1789.38,1774.46 1789.74,1778.57 1788.87,1780.75C1787.37,1784.48 1782.48,1787.45 1778.12,1788.35C1776.02,1788.78 1773.28,1788.6 1770.53,1788.6L1762.76,1788.6C1757.37,1788.6 1751.82,1788.95 1747.15,1788.6C1744.62,1788.41 1741.71,1787.08 1739.73,1785.79C1737.74,1784.49 1735.69,1782.62 1734.87,1780.58C1734.11,1778.7 1734.44,1774.39 1734.44,1771.97C1734.44,1762.97 1734.44,1753.53 1734.44,1744.92C1734.43,1744.8 1734.43,1744.68 1734.53,1744.67ZM1752.61,1761.73L1752.61,1766.25C1752.61,1767.62 1752.38,1769.45 1752.95,1770.52C1753.83,1772.14 1756.73,1771.88 1759.35,1771.88C1762.82,1771.88 1769.58,1772.72 1770.78,1770.52C1771.99,1768.3 1770.59,1764.22 1771.12,1761.47L1752.7,1761.47C1752.6,1761.49 1752.6,1761.61 1752.61,1761.73ZM1596.41,1744.92L1651.26,1744.92L1651.26,1788.69L1633.01,1788.69L1633.01,1761.64L1614.58,1761.64C1614.42,1762.94 1614.49,1764.48 1614.49,1766C1614.49,1767.51 1614.28,1769.22 1614.75,1770.18C1615.13,1770.94 1616.67,1771.45 1617.65,1771.71C1618.99,1772.06 1620.49,1771.99 1621.75,1772.05C1624.84,1772.2 1627.69,1771.94 1630.53,1772.05L1630.53,1788.69L1619.02,1788.69C1615.12,1788.69 1611.11,1789.06 1607.75,1788.52C1605.37,1788.13 1603.07,1786.96 1601.18,1785.7C1599.43,1784.53 1597.22,1782.66 1596.66,1780.58C1596.03,1778.2 1596.32,1774.91 1596.32,1771.97L1596.32,1745.18C1596.32,1745.06 1596.31,1744.94 1596.41,1744.92ZM1672.25,1808.31L1653.99,1808.31C1654.26,1787.21 1653.92,1766.02 1654.16,1744.92C1672.42,1744.98 1690.9,1744.81 1709.02,1745.01C1709.02,1751.43 1709.02,1757.8 1709.02,1764.46C1709.02,1769.06 1709.18,1774.6 1708.85,1778.88C1708.73,1780.38 1708.34,1781.36 1707.57,1782.46C1704.92,1786.24 1700.26,1788.69 1694.35,1788.69L1674.89,1788.69L1674.89,1772.05L1682.14,1772.05C1685.43,1772.05 1689.62,1772.63 1690.51,1770.52C1691.47,1768.23 1690.32,1764.66 1690.76,1761.64L1672.25,1761.64L1672.25,1808.31ZM2235.27,1603.94L2236.98,1603.94C2241.6,1604.15 2244.84,1606.25 2247.3,1608.72C2249.78,1611.19 2251.86,1614.41 2252.25,1618.87L2252.25,1619.55C2251.52,1619.46 2250.39,1619.76 2249.95,1619.38C2249.39,1615.58 2247.73,1612.3 2245.43,1610.17C2243.12,1608.04 2239.89,1606.32 2235.36,1606.5C2235.31,1606.5 2235.26,1606.49 2235.27,1606.42L2235.27,1603.94ZM1997,1604.03L2091.01,1604.03L2091.01,1620.75L2032.15,1620.75L2032.15,1651.89C2032.15,1655.39 2031.69,1659.06 2032.32,1662.12C2032.36,1662.3 2032.4,1662.58 2032.49,1662.81C2033.85,1666.18 2038.57,1669.34 2042.38,1670.14C2044.14,1670.51 2046.27,1670.4 2048.27,1670.4C2062.64,1670.4 2077.22,1670.33 2091.18,1670.48L2091.18,1687.38L2025.66,1687.38C2022.88,1687.02 2020.34,1685.88 2018.33,1684.22C2016.43,1682.65 2014.64,1680.5 2014.23,1677.82C2013.91,1675.68 2014.06,1673.21 2014.06,1670.83C2014.06,1654.68 2013.88,1636.95 2013.98,1620.83C2008.49,1620.63 2002.63,1620.81 1997,1620.75L1997,1604.03ZM2246.96,1619.55L2244.74,1619.55C2243.71,1614.76 2240.99,1611.65 2235.27,1611.53C2235.33,1610.77 2235.16,1609.77 2235.36,1609.15C2242.28,1609.57 2246.04,1613.14 2246.96,1619.55ZM2241.5,1619.55L2239.37,1619.55C2238.68,1618.02 2237.63,1616.85 2235.27,1617L2235.27,1614.61C2238.97,1614.63 2240.97,1616.36 2241.5,1619.55ZM2174.28,1623.73L2229.05,1623.73C2229.2,1632.38 2229.13,1641.54 2229.13,1650.61C2229.13,1653.53 2229.49,1657.64 2228.62,1659.82C2227.12,1663.55 2222.22,1666.52 2217.87,1667.41C2215.77,1667.84 2213.03,1667.67 2210.28,1667.67L2202.51,1667.67C2197.12,1667.67 2191.57,1668.02 2186.9,1667.67C2184.37,1667.48 2181.46,1666.15 2179.48,1664.85C2177.49,1663.55 2175.44,1661.69 2174.62,1659.65C2173.86,1657.77 2174.19,1653.46 2174.19,1651.03C2174.19,1642.04 2174.19,1632.59 2174.19,1623.99C2174.18,1623.87 2174.18,1623.75 2174.28,1623.73ZM2192.36,1640.8L2192.36,1645.32C2192.36,1646.68 2192.13,1648.52 2192.7,1649.58C2193.58,1651.21 2196.48,1650.95 2199.1,1650.95C2202.57,1650.95 2209.33,1651.78 2210.53,1649.58C2211.74,1647.37 2210.34,1643.29 2210.88,1640.54L2192.45,1640.54C2192.35,1640.56 2192.35,1640.67 2192.36,1640.8ZM2036.16,1623.99L2091.01,1623.99L2091.01,1667.75L2072.76,1667.75L2072.76,1640.71L2054.33,1640.71C2054.18,1642.01 2054.24,1643.55 2054.24,1645.06C2054.24,1646.58 2054.03,1648.28 2054.5,1649.24C2054.88,1650.01 2056.42,1650.52 2057.4,1650.78C2058.74,1651.13 2060.24,1651.06 2061.49,1651.12C2064.59,1651.26 2067.44,1651.01 2070.28,1651.12L2070.28,1667.75L2058.76,1667.75C2054.87,1667.75 2050.86,1668.12 2047.5,1667.58C2045.12,1667.2 2042.82,1666.03 2040.93,1664.77C2039.18,1663.59 2036.97,1661.73 2036.41,1659.65C2035.78,1657.27 2036.07,1653.97 2036.07,1651.03L2036.07,1624.25C2036.07,1624.12 2036.06,1624 2036.16,1623.99ZM2112,1687.38L2093.74,1687.38C2094.01,1666.27 2093.67,1645.09 2093.91,1623.99C2112.17,1624.05 2130.65,1623.88 2148.77,1624.08C2148.77,1630.5 2148.77,1636.87 2148.77,1643.53C2148.77,1648.12 2148.93,1653.67 2148.6,1657.94C2148.48,1659.45 2148.09,1660.42 2147.32,1661.53C2144.68,1665.31 2140.01,1667.75 2134.1,1667.75L2114.64,1667.75L2114.64,1651.12L2121.89,1651.12C2125.18,1651.12 2129.37,1651.7 2130.26,1649.58C2131.22,1647.29 2130.07,1643.73 2130.51,1640.71L2112,1640.71L2112,1687.38ZM1942.52,1603.94L1944.23,1603.94C1948.85,1604.15 1952.09,1606.25 1954.55,1608.72C1957.03,1611.19 1959.11,1614.41 1959.5,1618.87L1959.5,1619.55C1958.77,1619.46 1957.64,1619.76 1957.2,1619.38C1956.64,1615.58 1954.98,1612.3 1952.67,1610.17C1950.37,1608.04 1947.14,1606.32 1942.61,1606.5C1942.56,1606.5 1942.51,1606.49 1942.52,1606.42L1942.52,1603.94ZM1704.25,1604.03L1798.26,1604.03L1798.26,1620.75L1739.4,1620.75L1739.4,1651.89C1739.4,1655.39 1738.94,1659.06 1739.57,1662.12C1739.61,1662.3 1739.65,1662.58 1739.74,1662.81C1741.1,1666.18 1745.82,1669.34 1749.63,1670.14C1751.39,1670.51 1753.52,1670.4 1755.52,1670.4C1769.89,1670.4 1784.47,1670.33 1798.43,1670.48L1798.43,1687.38L1732.91,1687.38C1730.13,1687.02 1727.59,1685.88 1725.58,1684.22C1723.68,1682.65 1721.89,1680.5 1721.48,1677.82C1721.16,1675.68 1721.31,1673.21 1721.31,1670.83C1721.31,1654.68 1721.13,1636.95 1721.23,1620.83C1715.74,1620.63 1709.88,1620.81 1704.25,1620.75L1704.25,1604.03ZM1954.21,1619.55L1951.99,1619.55C1950.96,1614.76 1948.24,1611.65 1942.52,1611.53C1942.58,1610.77 1942.41,1609.77 1942.61,1609.15C1949.53,1609.57 1953.29,1613.14 1954.21,1619.55ZM1948.75,1619.55L1946.62,1619.55C1945.93,1618.02 1944.88,1616.85 1942.52,1617L1942.52,1614.61C1946.22,1614.63 1948.22,1616.36 1948.75,1619.55ZM1881.53,1623.73L1936.3,1623.73C1936.45,1632.38 1936.38,1641.54 1936.38,1650.61C1936.38,1653.53 1936.74,1657.64 1935.87,1659.82C1934.37,1663.55 1929.48,1666.52 1925.12,1667.41C1923.02,1667.84 1920.28,1667.67 1917.53,1667.67L1909.76,1667.67C1904.37,1667.67 1898.82,1668.02 1894.15,1667.67C1891.62,1667.48 1888.71,1666.15 1886.73,1664.85C1884.74,1663.55 1882.69,1661.69 1881.87,1659.65C1881.11,1657.77 1881.44,1653.46 1881.44,1651.03C1881.44,1642.04 1881.44,1632.59 1881.44,1623.99C1881.43,1623.87 1881.43,1623.75 1881.53,1623.73ZM1899.61,1640.8L1899.61,1645.32C1899.61,1646.68 1899.38,1648.52 1899.95,1649.58C1900.83,1651.21 1903.73,1650.95 1906.35,1650.95C1909.82,1650.95 1916.58,1651.78 1917.78,1649.58C1918.99,1647.37 1917.59,1643.29 1918.12,1640.54L1899.7,1640.54C1899.6,1640.56 1899.6,1640.67 1899.61,1640.8ZM1743.41,1623.99L1798.26,1623.99L1798.26,1667.75L1780.01,1667.75L1780.01,1640.71L1761.58,1640.71C1761.42,1642.01 1761.49,1643.55 1761.49,1645.06C1761.49,1646.58 1761.28,1648.28 1761.75,1649.24C1762.13,1650.01 1763.67,1650.52 1764.65,1650.78C1765.99,1651.13 1767.49,1651.06 1768.75,1651.12C1771.84,1651.26 1774.69,1651.01 1777.53,1651.12L1777.53,1667.75L1766.02,1667.75C1762.12,1667.75 1758.11,1668.12 1754.75,1667.58C1752.37,1667.2 1750.07,1666.03 1748.18,1664.77C1746.43,1663.59 1744.22,1661.73 1743.66,1659.65C1743.03,1657.27 1743.32,1653.97 1743.32,1651.03L1743.32,1624.25C1743.32,1624.12 1743.31,1624 1743.41,1623.99ZM1819.25,1687.38L1800.99,1687.38C1801.26,1666.27 1800.92,1645.09 1801.16,1623.99C1819.42,1624.05 1837.9,1623.88 1856.02,1624.08C1856.02,1630.5 1856.02,1636.87 1856.02,1643.53C1856.02,1648.12 1856.18,1653.67 1855.85,1657.94C1855.73,1659.45 1855.34,1660.42 1854.57,1661.53C1851.92,1665.31 1847.26,1667.75 1841.35,1667.75L1821.89,1667.75L1821.89,1651.12L1829.14,1651.12C1832.43,1651.12 1836.62,1651.7 1837.51,1649.58C1838.47,1647.29 1837.32,1643.73 1837.76,1640.71L1819.25,1640.71L1819.25,1687.38ZM1502.77,1966.74L1504.48,1966.74C1509.1,1966.96 1512.34,1969.05 1514.8,1971.52C1517.28,1974 1519.36,1977.21 1519.75,1981.67L1519.75,1982.36C1519.02,1982.26 1517.89,1982.56 1517.45,1982.18C1516.89,1978.38 1515.23,1975.1 1512.92,1972.97C1510.62,1970.84 1507.39,1969.12 1502.86,1969.3C1502.81,1969.3 1502.76,1969.29 1502.77,1969.22L1502.77,1966.74ZM1514.46,1982.36L1512.24,1982.36C1511.21,1977.56 1508.49,1974.45 1502.77,1974.34C1502.83,1973.57 1502.66,1972.57 1502.86,1971.95C1509.78,1972.37 1513.54,1975.94 1514.46,1982.36ZM1509,1982.36L1506.87,1982.36C1506.18,1980.82 1505.13,1979.65 1502.77,1979.8L1502.77,1977.41C1506.47,1977.43 1508.47,1979.16 1509,1982.36ZM1441.78,1986.54L1496.55,1986.54C1496.7,1995.18 1496.63,2004.34 1496.63,2013.41C1496.63,2016.33 1496.99,2020.44 1496.12,2022.62C1494.62,2026.35 1489.73,2029.32 1485.37,2030.22C1483.27,2030.65 1480.53,2030.47 1477.78,2030.47L1470.01,2030.47C1464.62,2030.47 1459.07,2030.82 1454.4,2030.47C1451.87,2030.28 1448.96,2028.95 1446.98,2027.65C1444.99,2026.36 1442.94,2024.49 1442.12,2022.45C1441.36,2020.57 1441.69,2016.26 1441.69,2013.84C1441.69,2004.84 1441.69,1995.39 1441.69,1986.79C1441.68,1986.67 1441.68,1986.55 1441.78,1986.54ZM1459.86,2003.6L1459.86,2008.12C1459.86,2009.49 1459.63,2011.32 1460.2,2012.38C1461.08,2014.01 1463.98,2013.75 1466.6,2013.75C1470.07,2013.75 1476.83,2014.58 1478.03,2012.38C1479.24,2010.17 1477.84,2006.09 1478.38,2003.34L1459.95,2003.34C1459.85,2003.36 1459.85,2003.48 1459.86,2003.6ZM1357.02,1845.81L1358.73,1845.81C1363.35,1846.02 1366.59,1848.12 1369.05,1850.59C1371.53,1853.06 1373.61,1856.28 1374,1860.74L1374,1861.42C1373.27,1861.32 1372.14,1861.63 1371.7,1861.25C1371.14,1857.45 1369.48,1854.16 1367.17,1852.04C1364.87,1849.91 1361.64,1848.19 1357.11,1848.37C1357.06,1848.36 1357.01,1848.36 1357.02,1848.28L1357.02,1845.81ZM1368.71,1861.42L1366.49,1861.42C1365.46,1856.63 1362.74,1853.52 1357.02,1853.4C1357.08,1852.63 1356.91,1851.64 1357.11,1851.01C1364.03,1851.43 1367.79,1855.01 1368.71,1861.42ZM1363.25,1861.42L1361.12,1861.42C1360.43,1859.89 1359.38,1858.72 1357.02,1858.86L1357.02,1856.47C1360.72,1856.5 1362.72,1858.23 1363.25,1861.42ZM1296.03,1865.6L1350.8,1865.6C1350.95,1874.25 1350.88,1883.41 1350.88,1892.47C1350.88,1895.4 1351.24,1899.51 1350.37,1901.69C1348.87,1905.42 1343.98,1908.39 1339.62,1909.28C1337.52,1909.71 1334.78,1909.54 1332.03,1909.54L1324.26,1909.54C1318.87,1909.54 1313.32,1909.88 1308.65,1909.54C1306.12,1909.35 1303.21,1908.02 1301.23,1906.72C1299.24,1905.42 1297.19,1903.56 1296.37,1901.52C1295.61,1899.63 1295.94,1895.32 1295.94,1892.9C1295.94,1883.91 1295.94,1874.46 1295.94,1865.86C1295.93,1865.74 1295.93,1865.62 1296.03,1865.6ZM1314.11,1882.66L1314.11,1887.18C1314.11,1888.55 1313.88,1890.39 1314.45,1891.45C1315.33,1893.08 1318.23,1892.82 1320.85,1892.82C1324.32,1892.82 1331.08,1893.65 1332.28,1891.45C1333.49,1889.23 1332.09,1885.15 1332.62,1882.41L1314.2,1882.41C1314.1,1882.42 1314.1,1882.54 1314.11,1882.66ZM1649.77,1845.81L1651.48,1845.81C1656.1,1846.02 1659.34,1848.12 1661.8,1850.59C1664.28,1853.06 1666.36,1856.28 1666.75,1860.74L1666.75,1861.42C1666.02,1861.32 1664.89,1861.63 1664.45,1861.25C1663.89,1857.45 1662.23,1854.16 1659.92,1852.04C1657.62,1849.91 1654.39,1848.19 1649.86,1848.37C1649.81,1848.36 1649.76,1848.36 1649.77,1848.28L1649.77,1845.81ZM1411.5,1845.89L1505.51,1845.89L1505.51,1862.62L1446.65,1862.62L1446.65,1893.75C1446.65,1897.26 1446.19,1900.93 1446.82,1903.99C1446.86,1904.17 1446.9,1904.44 1446.99,1904.67C1448.35,1908.05 1453.07,1911.21 1456.88,1912.01C1458.64,1912.38 1460.77,1912.27 1462.77,1912.27C1477.14,1912.27 1491.72,1912.2 1505.68,1912.35L1505.68,1929.24L1440.16,1929.24C1437.38,1928.89 1434.84,1927.75 1432.83,1926.09C1430.93,1924.52 1429.14,1922.37 1428.73,1919.69C1428.41,1917.55 1428.56,1915.08 1428.56,1912.69C1428.56,1896.55 1428.38,1878.82 1428.48,1862.7C1422.99,1862.5 1417.13,1862.67 1411.5,1862.62L1411.5,1845.89ZM1661.46,1861.42L1659.24,1861.42C1658.21,1856.63 1655.49,1853.52 1649.77,1853.4C1649.83,1852.63 1649.66,1851.64 1649.86,1851.01C1656.78,1851.43 1660.54,1855.01 1661.46,1861.42ZM1656,1861.42L1653.87,1861.42C1653.18,1859.89 1652.13,1858.72 1649.77,1858.86L1649.77,1856.47C1653.47,1856.5 1655.47,1858.23 1656,1861.42ZM1588.78,1865.6L1643.55,1865.6C1643.7,1874.25 1643.63,1883.41 1643.63,1892.47C1643.63,1895.4 1643.99,1899.51 1643.12,1901.69C1641.62,1905.42 1636.73,1908.39 1632.37,1909.28C1630.27,1909.71 1627.53,1909.54 1624.78,1909.54L1617.01,1909.54C1611.62,1909.54 1606.07,1909.88 1601.4,1909.54C1598.87,1909.35 1595.96,1908.02 1593.98,1906.72C1591.99,1905.42 1589.94,1903.56 1589.12,1901.52C1588.36,1899.63 1588.69,1895.32 1588.69,1892.9C1588.69,1883.91 1588.69,1874.46 1588.69,1865.86C1588.68,1865.74 1588.68,1865.62 1588.78,1865.6ZM1606.86,1882.66L1606.86,1887.18C1606.86,1888.55 1606.63,1890.39 1607.2,1891.45C1608.08,1893.08 1610.98,1892.82 1613.6,1892.82C1617.07,1892.82 1623.83,1893.65 1625.03,1891.45C1626.24,1889.23 1624.84,1885.15 1625.38,1882.41L1606.95,1882.41C1606.85,1882.42 1606.85,1882.54 1606.86,1882.66ZM1450.66,1865.86L1505.51,1865.86L1505.51,1909.62L1487.26,1909.62L1487.26,1882.58L1468.83,1882.58C1468.67,1883.88 1468.74,1885.41 1468.74,1886.93C1468.74,1888.44 1468.53,1890.15 1469,1891.11C1469.38,1891.88 1470.92,1892.39 1471.9,1892.64C1473.24,1893 1474.74,1892.93 1476,1892.99C1479.09,1893.13 1481.94,1892.88 1484.78,1892.99L1484.78,1909.62L1473.27,1909.62C1469.37,1909.62 1465.36,1909.99 1462,1909.45C1459.62,1909.07 1457.32,1907.9 1455.43,1906.64C1453.68,1905.46 1451.47,1903.6 1450.91,1901.52C1450.28,1899.14 1450.57,1895.84 1450.57,1892.9L1450.57,1866.11C1450.57,1865.99 1450.56,1865.87 1450.66,1865.86ZM1526.5,1929.24L1508.24,1929.24C1508.51,1908.14 1508.17,1886.96 1508.41,1865.86C1526.67,1865.91 1545.15,1865.74 1563.27,1865.94C1563.27,1872.37 1563.27,1878.74 1563.27,1885.39C1563.27,1889.99 1563.43,1895.54 1563.1,1899.81C1562.98,1901.31 1562.59,1902.29 1561.82,1903.39C1559.17,1907.17 1554.51,1909.62 1548.6,1909.62L1529.14,1909.62L1529.14,1892.99L1536.39,1892.99C1539.68,1892.99 1543.87,1893.57 1544.76,1891.45C1545.72,1889.16 1544.57,1885.59 1545.01,1882.58L1526.5,1882.58L1526.5,1929.24ZM1795.52,1966.74L1797.23,1966.74C1801.85,1966.96 1805.09,1969.05 1807.55,1971.52C1810.03,1974 1812.11,1977.21 1812.5,1981.67L1812.5,1982.36C1811.77,1982.26 1810.64,1982.56 1810.2,1982.18C1809.64,1978.38 1807.98,1975.1 1805.67,1972.97C1803.37,1970.84 1800.14,1969.12 1795.61,1969.3C1795.56,1969.3 1795.51,1969.29 1795.52,1969.22L1795.52,1966.74ZM1557.25,1966.83L1651.26,1966.83L1651.26,1983.55L1592.4,1983.55L1592.4,2014.69C1592.4,2018.2 1591.94,2021.86 1592.57,2024.93C1592.61,2025.1 1592.65,2025.38 1592.74,2025.61C1594.1,2028.99 1598.82,2032.14 1602.63,2032.94C1604.39,2033.31 1606.52,2033.2 1608.52,2033.2C1622.89,2033.2 1637.47,2033.13 1651.43,2033.29L1651.43,2050.18L1585.91,2050.18C1583.13,2049.82 1580.59,2048.68 1578.58,2047.02C1576.68,2045.45 1574.89,2043.31 1574.48,2040.62C1574.16,2038.48 1574.31,2036.01 1574.31,2033.63C1574.31,2017.48 1574.13,1999.76 1574.23,1983.63C1568.74,1983.44 1562.88,1983.61 1557.25,1983.55L1557.25,1966.83ZM1807.21,1982.36L1804.99,1982.36C1803.96,1977.56 1801.24,1974.45 1795.52,1974.34C1795.58,1973.57 1795.41,1972.57 1795.61,1971.95C1802.53,1972.37 1806.29,1975.94 1807.21,1982.36ZM1801.75,1982.36L1799.62,1982.36C1798.93,1980.82 1797.88,1979.65 1795.52,1979.8L1795.52,1977.41C1799.22,1977.43 1801.22,1979.16 1801.75,1982.36ZM1734.53,1986.54L1789.3,1986.54C1789.45,1995.18 1789.38,2004.34 1789.38,2013.41C1789.38,2016.33 1789.74,2020.44 1788.87,2022.62C1787.37,2026.35 1782.48,2029.32 1778.12,2030.22C1776.02,2030.65 1773.28,2030.47 1770.53,2030.47L1762.76,2030.47C1757.37,2030.47 1751.82,2030.82 1747.15,2030.47C1744.62,2030.28 1741.71,2028.95 1739.73,2027.65C1737.74,2026.36 1735.69,2024.49 1734.87,2022.45C1734.11,2020.57 1734.44,2016.26 1734.44,2013.84C1734.44,2004.84 1734.44,1995.39 1734.44,1986.79C1734.43,1986.67 1734.43,1986.55 1734.53,1986.54ZM1752.61,2003.6L1752.61,2008.12C1752.61,2009.49 1752.38,2011.32 1752.95,2012.38C1753.83,2014.01 1756.73,2013.75 1759.35,2013.75C1762.82,2013.75 1769.58,2014.58 1770.78,2012.38C1771.99,2010.17 1770.59,2006.09 1771.12,2003.34L1752.7,2003.34C1752.6,2003.36 1752.6,2003.48 1752.61,2003.6ZM1596.41,1986.79L1651.26,1986.79L1651.26,2030.56L1633.01,2030.56L1633.01,2003.51L1614.58,2003.51C1614.42,2004.81 1614.49,2006.35 1614.49,2007.86C1614.49,2009.38 1614.28,2011.09 1614.75,2012.04C1615.13,2012.81 1616.67,2013.32 1617.65,2013.58C1618.99,2013.93 1620.49,2013.86 1621.75,2013.92C1624.84,2014.06 1627.69,2013.81 1630.53,2013.92L1630.53,2030.56L1619.02,2030.56C1615.12,2030.56 1611.11,2030.92 1607.75,2030.38C1605.37,2030 1603.07,2028.83 1601.18,2027.57C1599.43,2026.39 1597.22,2024.53 1596.66,2022.45C1596.03,2020.07 1596.32,2016.78 1596.32,2013.84L1596.32,1987.05C1596.32,1986.93 1596.31,1986.81 1596.41,1986.79ZM1672.25,2050.18L1653.99,2050.18C1654.26,2029.07 1653.92,2007.89 1654.16,1986.79C1672.42,1986.85 1690.9,1986.68 1709.02,1986.88C1709.02,1993.3 1709.02,1999.67 1709.02,2006.33C1709.02,2010.92 1709.18,2016.47 1708.85,2020.75C1708.73,2022.25 1708.34,2023.22 1707.57,2024.33C1704.92,2028.11 1700.26,2030.56 1694.35,2030.56L1674.89,2030.56L1674.89,2013.92L1682.14,2013.92C1685.43,2013.92 1689.62,2014.5 1690.51,2012.38C1691.47,2010.1 1690.32,2006.53 1690.76,2003.51L1672.25,2003.51L1672.25,2050.18ZM1942.52,1845.81L1944.23,1845.81C1948.85,1846.02 1952.09,1848.12 1954.55,1850.59C1957.03,1853.06 1959.11,1856.28 1959.5,1860.74L1959.5,1861.42C1958.77,1861.32 1957.64,1861.63 1957.2,1861.25C1956.64,1857.45 1954.98,1854.16 1952.67,1852.04C1950.37,1849.91 1947.14,1848.19 1942.61,1848.37C1942.56,1848.36 1942.51,1848.36 1942.52,1848.28L1942.52,1845.81ZM1704.25,1845.89L1798.26,1845.89L1798.26,1862.62L1739.4,1862.62L1739.4,1893.75C1739.4,1897.26 1738.94,1900.93 1739.57,1903.99C1739.61,1904.17 1739.65,1904.44 1739.74,1904.67C1741.1,1908.05 1745.82,1911.21 1749.63,1912.01C1751.39,1912.38 1753.52,1912.27 1755.52,1912.27C1769.89,1912.27 1784.47,1912.2 1798.43,1912.35L1798.43,1929.24L1732.91,1929.24C1730.13,1928.89 1727.59,1927.75 1725.58,1926.09C1723.68,1924.52 1721.89,1922.37 1721.48,1919.69C1721.16,1917.55 1721.31,1915.08 1721.31,1912.69C1721.31,1896.55 1721.13,1878.82 1721.23,1862.7C1715.74,1862.5 1709.88,1862.67 1704.25,1862.62L1704.25,1845.89ZM1954.21,1861.42L1951.99,1861.42C1950.96,1856.63 1948.24,1853.52 1942.52,1853.4C1942.58,1852.63 1942.41,1851.64 1942.61,1851.01C1949.53,1851.43 1953.29,1855.01 1954.21,1861.42ZM1948.75,1861.42L1946.62,1861.42C1945.93,1859.89 1944.88,1858.72 1942.52,1858.86L1942.52,1856.47C1946.22,1856.5 1948.22,1858.23 1948.75,1861.42ZM1881.53,1865.6L1936.3,1865.6C1936.45,1874.25 1936.38,1883.41 1936.38,1892.47C1936.38,1895.4 1936.74,1899.51 1935.87,1901.69C1934.37,1905.42 1929.48,1908.39 1925.12,1909.28C1923.02,1909.71 1920.28,1909.54 1917.53,1909.54L1909.76,1909.54C1904.37,1909.54 1898.82,1909.88 1894.15,1909.54C1891.62,1909.35 1888.71,1908.02 1886.73,1906.72C1884.74,1905.42 1882.69,1903.56 1881.87,1901.52C1881.11,1899.63 1881.44,1895.32 1881.44,1892.9C1881.44,1883.91 1881.44,1874.46 1881.44,1865.86C1881.43,1865.74 1881.43,1865.62 1881.53,1865.6ZM1899.61,1882.66L1899.61,1887.18C1899.61,1888.55 1899.38,1890.39 1899.95,1891.45C1900.83,1893.08 1903.73,1892.82 1906.35,1892.82C1909.82,1892.82 1916.58,1893.65 1917.78,1891.45C1918.99,1889.23 1917.59,1885.15 1918.12,1882.41L1899.7,1882.41C1899.6,1882.42 1899.6,1882.54 1899.61,1882.66ZM1743.41,1865.86L1798.26,1865.86L1798.26,1909.62L1780.01,1909.62L1780.01,1882.58L1761.58,1882.58C1761.42,1883.88 1761.49,1885.41 1761.49,1886.93C1761.49,1888.44 1761.28,1890.15 1761.75,1891.11C1762.13,1891.88 1763.67,1892.39 1764.65,1892.64C1765.99,1893 1767.49,1892.93 1768.75,1892.99C1771.84,1893.13 1774.69,1892.88 1777.53,1892.99L1777.53,1909.62L1766.02,1909.62C1762.12,1909.62 1758.11,1909.99 1754.75,1909.45C1752.37,1909.07 1750.07,1907.9 1748.18,1906.64C1746.43,1905.46 1744.22,1903.6 1743.66,1901.52C1743.03,1899.14 1743.32,1895.84 1743.32,1892.9L1743.32,1866.11C1743.32,1865.99 1743.31,1865.87 1743.41,1865.86ZM1819.25,1929.24L1800.99,1929.24C1801.26,1908.14 1800.92,1886.96 1801.16,1865.86C1819.42,1865.91 1837.9,1865.74 1856.02,1865.94C1856.02,1872.37 1856.02,1878.74 1856.02,1885.39C1856.02,1889.99 1856.18,1895.54 1855.85,1899.81C1855.73,1901.31 1855.34,1902.29 1854.57,1903.39C1851.92,1907.17 1847.26,1909.62 1841.35,1909.62L1821.89,1909.62L1821.89,1892.99L1829.14,1892.99C1832.43,1892.99 1836.62,1893.57 1837.51,1891.45C1838.47,1889.16 1837.32,1885.59 1837.76,1882.58L1819.25,1882.58L1819.25,1929.24ZM1649.77,2087.68L1651.48,2087.68C1656.1,2087.89 1659.34,2089.99 1661.8,2092.45C1664.28,2094.93 1666.36,2098.15 1666.75,2102.61L1666.75,2103.29C1666.02,2103.19 1664.89,2103.49 1664.45,2103.12C1663.89,2099.32 1662.23,2096.03 1659.92,2093.91C1657.62,2091.78 1654.39,2090.06 1649.86,2090.24C1649.81,2090.23 1649.76,2090.22 1649.77,2090.15L1649.77,2087.68ZM1661.46,2103.29L1659.24,2103.29C1658.21,2098.49 1655.49,2095.38 1649.77,2095.27C1649.83,2094.5 1649.66,2093.51 1649.86,2092.88C1656.78,2093.3 1660.54,2096.88 1661.46,2103.29ZM1656,2103.29L1653.87,2103.29C1653.18,2101.76 1652.13,2100.59 1649.77,2100.73L1649.77,2098.34C1653.47,2098.37 1655.47,2100.1 1656,2103.29ZM1588.78,2107.47L1643.55,2107.47C1643.7,2116.11 1643.63,2125.28 1643.63,2134.34C1643.63,2137.26 1643.99,2141.38 1643.12,2143.56C1641.62,2147.28 1636.73,2150.25 1632.37,2151.15C1630.27,2151.58 1627.53,2151.4 1624.78,2151.4L1617.01,2151.4C1611.62,2151.4 1606.07,2151.75 1601.4,2151.4C1598.87,2151.22 1595.96,2149.88 1593.98,2148.59C1591.99,2147.29 1589.94,2145.43 1589.12,2143.39C1588.36,2141.5 1588.69,2137.19 1588.69,2134.77C1588.69,2125.77 1588.69,2116.33 1588.69,2107.72C1588.68,2107.6 1588.68,2107.48 1588.78,2107.47ZM1606.86,2124.53L1606.86,2129.05C1606.86,2130.42 1606.63,2132.26 1607.2,2133.32C1608.08,2134.95 1610.98,2134.68 1613.6,2134.68C1617.07,2134.68 1623.83,2135.52 1625.03,2133.32C1626.24,2131.1 1624.84,2127.02 1625.38,2124.28L1606.95,2124.28C1606.85,2124.29 1606.85,2124.41 1606.86,2124.53ZM1704.25,2087.76L1798.26,2087.76L1798.26,2104.48L1739.4,2104.48L1739.4,2135.62C1739.4,2139.13 1738.94,2142.8 1739.57,2145.86C1739.61,2146.04 1739.65,2146.31 1739.74,2146.54C1741.1,2149.92 1745.82,2153.08 1749.63,2153.88C1751.39,2154.24 1753.52,2154.13 1755.52,2154.13C1769.89,2154.13 1784.47,2154.06 1798.43,2154.22L1798.43,2171.11L1732.91,2171.11C1730.13,2170.76 1727.59,2169.62 1725.58,2167.95C1723.68,2166.39 1721.89,2164.24 1721.48,2161.56C1721.16,2159.42 1721.31,2156.94 1721.31,2154.56C1721.31,2138.41 1721.13,2120.69 1721.23,2104.57C1715.74,2104.37 1709.88,2104.54 1704.25,2104.48L1704.25,2087.76ZM1743.41,2107.72L1798.26,2107.72L1798.26,2151.49L1780.01,2151.49L1780.01,2124.45L1761.58,2124.45C1761.42,2125.75 1761.49,2127.28 1761.49,2128.8C1761.49,2130.31 1761.28,2132.02 1761.75,2132.98C1762.13,2133.74 1763.67,2134.25 1764.65,2134.51C1765.99,2134.87 1767.49,2134.8 1768.75,2134.85C1771.84,2135 1774.69,2134.75 1777.53,2134.85L1777.53,2151.49L1766.02,2151.49C1762.12,2151.49 1758.11,2151.86 1754.75,2151.32C1752.37,2150.94 1750.07,2149.77 1748.18,2148.5C1746.43,2147.33 1744.22,2145.46 1743.66,2143.39C1743.03,2141.01 1743.32,2137.71 1743.32,2134.77L1743.32,2107.98C1743.32,2107.86 1743.31,2107.74 1743.41,2107.72ZM1149.03,1744.67L1203.8,1744.67C1203.95,1753.31 1203.88,1762.47 1203.88,1771.54C1203.88,1774.46 1204.24,1778.57 1203.37,1780.75C1201.87,1784.48 1196.98,1787.45 1192.62,1788.35C1190.52,1788.78 1187.78,1788.6 1185.03,1788.6L1177.26,1788.6C1171.87,1788.6 1166.32,1788.95 1161.65,1788.6C1159.12,1788.41 1156.21,1787.08 1154.23,1785.79C1152.24,1784.49 1150.19,1782.62 1149.37,1780.58C1148.61,1778.7 1148.94,1774.39 1148.94,1771.97C1148.94,1762.97 1148.94,1753.53 1148.94,1744.92C1148.93,1744.8 1148.93,1744.68 1149.03,1744.67ZM1167.11,1761.73L1167.11,1766.25C1167.11,1767.62 1166.88,1769.45 1167.45,1770.52C1168.33,1772.14 1171.23,1771.88 1173.85,1771.88C1177.32,1771.88 1184.08,1772.72 1185.28,1770.52C1186.49,1768.3 1185.09,1764.22 1185.62,1761.47L1167.2,1761.47C1167.1,1761.49 1167.1,1761.61 1167.11,1761.73Z'; diff --git a/src/canvas/Canvas.ts b/src/canvas/Canvas.ts index 06d05af2880..e4fb091ff76 100644 --- a/src/canvas/Canvas.ts +++ b/src/canvas/Canvas.ts @@ -1,3 +1,4 @@ +import { classRegistry } from '../ClassRegistry'; import { NONE } from '../constants'; import type { CanvasEvents, @@ -8,12 +9,14 @@ import type { Transform, } from '../EventTypeDefs'; import { Point } from '../Point'; +import type { ActiveSelection } from '../shapes/ActiveSelection'; import type { Group } from '../shapes/Group'; import type { IText } from '../shapes/IText/IText'; import type { FabricObject } from '../shapes/Object/FabricObject'; import { isTouchEvent, stopEvent } from '../util/dom_event'; import { getDocumentFromElement, getWindowFromElement } from '../util/dom_misc'; import { sendPointToPlane } from '../util/misc/planeChange'; +import { isActiveSelection } from '../util/typeAssertions'; import type { CanvasOptions, TCanvasOptions } from './CanvasOptions'; import { SelectableCanvas } from './SelectableCanvas'; import { TextEditingManager } from './TextEditingManager'; @@ -1098,7 +1101,7 @@ export class Canvas extends SelectableCanvas implements CanvasOptions { pointer = this.getScenePoint(e), mouseDownHandler = control && control.getMouseDownHandler(e, target, control); - if (mouseDownHandler) { + mouseDownHandler && mouseDownHandler.call( control, e, @@ -1106,7 +1109,6 @@ export class Canvas extends SelectableCanvas implements CanvasOptions { pointer.x, pointer.y ); - } } } // we clear `_objectsToRender` in case of a change in order to repopulate it at rendering @@ -1146,17 +1148,6 @@ export class Canvas extends SelectableCanvas implements CanvasOptions { : this.findTarget(e); } - /** - * @private - */ - _beforeTransform(e: TPointerEvent) { - const t = this._currentTransform!; - this.fire('before:transform', { - e, - transform: t, - }); - } - /** * Method that defines the actions when mouse is hovering the canvas. * The currentTransform parameter will define whether the user is rotating/scaling/translating @@ -1340,9 +1331,6 @@ export class Canvas extends SelectableCanvas implements CanvasOptions { target.group.calcTransformMatrix() ) : scenePoint; - // seems used only here. - // @TODO: investigate; - transform.reset = false; transform.shiftKey = e.shiftKey; transform.altKey = !!this.centeredKey && e[this.centeredKey]; @@ -1387,10 +1375,9 @@ export class Canvas extends SelectableCanvas implements CanvasOptions { return; } let hoverCursor = target.hoverCursor || this.hoverCursor; - const activeSelection = - this._activeObject === this._activeSelection - ? this._activeObject - : null, + const activeSelection = isActiveSelection(this._activeObject) + ? this._activeObject + : null, // only show proper corner when group selection is not active corner = (!activeSelection || target.group !== activeSelection) && @@ -1431,8 +1418,7 @@ export class Canvas extends SelectableCanvas implements CanvasOptions { */ protected handleMultiSelection(e: TPointerEvent, target?: FabricObject) { const activeObject = this._activeObject; - const activeSelection = this._activeSelection; - const isAS = activeObject === activeSelection; + const isAS = isActiveSelection(activeObject); if ( // check if an active object exists on canvas and if the user is pressing the `selectionKey` while canvas supports multi selection. !!activeObject && @@ -1455,9 +1441,8 @@ export class Canvas extends SelectableCanvas implements CanvasOptions { !activeObject.getActiveControl() ) { if (isAS) { - const prevActiveObjects = - activeSelection.getObjects() as FabricObject[]; - if (target === activeSelection) { + const prevActiveObjects = activeObject.getObjects(); + if (target === activeObject) { const pointer = this.getViewportPoint(e); target = // first search active objects for a target to remove @@ -1470,19 +1455,21 @@ export class Canvas extends SelectableCanvas implements CanvasOptions { return false; } } - if (target.group === activeSelection) { + if (target.group === activeObject) { // `target` is part of active selection => remove it - activeSelection.remove(target); + activeObject.remove(target); this._hoveredTarget = target; this._hoveredTargets = [...this.targets]; - if (activeSelection.size() === 1) { + // if after removing an object we are left with one only... + if (activeObject.size() === 1) { // activate last remaining object - this._setActiveObject(activeSelection.item(0) as FabricObject, e); + // deselecting the active selection will remove the remaining object from it + this._setActiveObject(activeObject.item(0), e); } } else { - // `target` isn't part of active selection => add it - activeSelection.multiSelectAdd(target); - this._hoveredTarget = activeSelection; + // `target` isn't part of active selection => add it + activeObject.multiSelectAdd(target); + this._hoveredTarget = activeObject; this._hoveredTargets = [...this.targets]; } this._fireSelectionEvents(prevActiveObjects, e); @@ -1490,12 +1477,21 @@ export class Canvas extends SelectableCanvas implements CanvasOptions { (activeObject as IText).exitEditing && (activeObject as IText).exitEditing(); // add the active object and the target to the active selection and set it as the active object - activeSelection.multiSelectAdd(activeObject, target); - this._hoveredTarget = activeSelection; + const klass = + classRegistry.getClass('ActiveSelection'); + const newActiveSelection = new klass([], { + /** + * it is crucial to pass the canvas ref before calling {@link ActiveSelection#multiSelectAdd} + * since it uses {@link FabricObject#isInFrontOf} which relies on the canvas ref + */ + canvas: this, + }); + newActiveSelection.multiSelectAdd(activeObject, target); + this._hoveredTarget = newActiveSelection; // ISSUE 4115: should we consider subTargets here? // this._hoveredTargets = []; // this._hoveredTargets = this.targets.concat(); - this._setActiveObject(activeSelection, e); + this._setActiveObject(newActiveSelection, e); this._fireSelectionEvents([activeObject], e); } return true; @@ -1549,8 +1545,9 @@ export class Canvas extends SelectableCanvas implements CanvasOptions { this.setActiveObject(objects[0], e); } else if (objects.length > 1) { // add to active selection and make it the active object - this._activeSelection.add(...objects); - this.setActiveObject(this._activeSelection, e); + const klass = + classRegistry.getClass('ActiveSelection'); + this.setActiveObject(new klass(objects, { canvas: this }), e); } // cleanup diff --git a/src/canvas/CanvasOptions.ts b/src/canvas/CanvasOptions.ts index 7cb12c3256e..471416d17cf 100644 --- a/src/canvas/CanvasOptions.ts +++ b/src/canvas/CanvasOptions.ts @@ -1,5 +1,4 @@ import type { ModifierKey, TOptionalModifierKey } from '../EventTypeDefs'; -import type { ActiveSelection } from '../shapes/ActiveSelection'; import type { TOptions } from '../typedefs'; import type { StaticCanvasOptions } from './StaticCanvasOptions'; @@ -260,9 +259,7 @@ export interface CanvasOptions preserveObjectStacking: boolean; } -export type TCanvasOptions = TOptions< - CanvasOptions & { activeSelection: ActiveSelection } ->; +export type TCanvasOptions = TOptions; export const canvasDefaults: TOptions = { uniformScaling: true, diff --git a/src/canvas/SelectableCanvas.spec.ts b/src/canvas/SelectableCanvas.spec.ts index 866c3cd1140..05030452ecb 100644 --- a/src/canvas/SelectableCanvas.spec.ts +++ b/src/canvas/SelectableCanvas.spec.ts @@ -302,4 +302,52 @@ describe('Selectable Canvas', () => { } }); }); + + describe('setupCurrentTransform', () => { + test.each( + ['tl', 'mt', 'tr', 'mr', 'br', 'mb', 'bl', 'ml', 'mtr'] + .map((controlKey) => [ + { controlKey, zoom: false }, + { controlKey, zoom: true }, + ]) + .flat() + )('should fire before:transform event %p', ({ controlKey, zoom }) => { + const canvas = new Canvas(); + const canvasOffset = canvas.calcOffset(); + const object = new FabricObject({ + left: 50, + top: 50, + width: 50, + height: 50, + }); + canvas.add(object); + canvas.setActiveObject(object); + zoom && canvas.zoomToPoint(new Point(25, 25), 2); + expect(canvas._currentTransform).toBeFalsy(); + + const spy = jest.fn(); + canvas.on('before:transform', spy); + const setupCurrentTransformSpy = jest.spyOn( + canvas, + '_setupCurrentTransform' + ); + + const { + corner: { tl, tr, bl }, + } = object.oCoords[controlKey]; + canvas.getSelectionElement().dispatchEvent( + new MouseEvent('mousedown', { + clientX: canvasOffset.left + (tl.x + tr.x) / 2, + clientY: canvasOffset.top + (tl.y + bl.y) / 2, + which: 1, + }) + ); + + expect(setupCurrentTransformSpy).toHaveBeenCalledTimes(1); + expect(canvas._currentTransform).toBeDefined(); + expect(canvas._currentTransform).toHaveProperty('target', object); + expect(canvas._currentTransform).toHaveProperty('corner', controlKey); + expect(spy).toHaveBeenCalledTimes(1); + }); + }); }); diff --git a/src/canvas/SelectableCanvas.ts b/src/canvas/SelectableCanvas.ts index 94af4847b75..1ef63a39cde 100644 --- a/src/canvas/SelectableCanvas.ts +++ b/src/canvas/SelectableCanvas.ts @@ -11,7 +11,6 @@ import type { } from '../EventTypeDefs'; import { addTransformToObject, - resetObjectTransform, saveObjectTransform, } from '../util/misc/objectTransforms'; import type { TCanvasSizeOptions } from './StaticCanvas'; @@ -31,13 +30,13 @@ import type { IText } from '../shapes/IText/IText'; import type { BaseBrush } from '../brushes/BaseBrush'; import { pick } from '../util/misc/pick'; import { sendPointToPlane } from '../util/misc/planeChange'; -import { ActiveSelection } from '../shapes/ActiveSelection'; import { cos, createCanvasElement, sin } from '../util'; import { CanvasDOMManager } from './DOMManagers/CanvasDOMManager'; import { BOTTOM, CENTER, LEFT, RIGHT, TOP } from '../constants'; -import type { CanvasOptions, TCanvasOptions } from './CanvasOptions'; +import type { CanvasOptions } from './CanvasOptions'; import { canvasDefaults } from './CanvasOptions'; import { Intersection } from '../Intersection'; +import { isActiveSelection } from '../util/typeAssertions'; /** * Canvas class @@ -294,17 +293,6 @@ export class SelectableCanvas protected declare _isCurrentlyDrawing: boolean; declare freeDrawingBrush?: BaseBrush; declare _activeObject?: FabricObject; - protected _activeSelection: ActiveSelection; - - constructor( - el?: string | HTMLCanvasElement, - { activeSelection = new ActiveSelection(), ...options }: TCanvasOptions = {} - ) { - super(el, options); - this._activeSelection = activeSelection; - this._activeSelection.set('canvas', this); - this._activeSelection.setCoords(); - } protected initElements(el?: string | HTMLCanvasElement) { this.elements = new CanvasDOMManager(el, { @@ -557,6 +545,11 @@ export class SelectableCanvas x: target.originX, y: target.originY, }; + + if (!controlName) { + return origin; + } + // is a left control ? if (['ml', 'tl', 'bl'].includes(controlName)) { origin.x = RIGHT; @@ -577,16 +570,14 @@ export class SelectableCanvas /** * @private * @param {Event} e Event object - * @param {FaricObject} target + * @param {FabricObject} target + * @param {boolean} [alreadySelected] pass true to setup the active control */ _setupCurrentTransform( e: TPointerEvent, target: FabricObject, alreadySelected: boolean ): void { - if (!target) { - return; - } const pointer = target.group ? // transform pointer to target's containing coordinate plane sendPointToPlane( @@ -595,22 +586,23 @@ export class SelectableCanvas target.group.calcTransformMatrix() ) : this.getScenePoint(e); - const corner = target.getActiveControl() || '', - control = !!corner && target.controls[corner], + const { key: corner = '', control } = target.getActiveControl() || {}, actionHandler = alreadySelected && control ? control.getActionHandler(e, target, control)?.bind(control) : dragHandler, action = getActionFromCorner(alreadySelected, corner, e, target), - origin = this._getOriginFromCorner(target, corner), altKey = e[this.centeredKey as ModifierKey], + origin = this._shouldCenterTransform(target, action, altKey) + ? ({ x: CENTER, y: CENTER } as const) + : this._getOriginFromCorner(target, corner), /** * relative to target's containing coordinate plane * both agree on every point **/ transform: Transform = { target: target, - action: action, + action, actionHandler, actionPerformed: false, corner, @@ -630,7 +622,7 @@ export class SelectableCanvas width: target.width, height: target.height, shiftKey: e.shiftKey, - altKey: altKey, + altKey, original: { ...saveObjectTransform(target), originX: origin.x, @@ -638,13 +630,12 @@ export class SelectableCanvas }, }; - if (this._shouldCenterTransform(target, action, altKey)) { - transform.originX = CENTER; - transform.originY = CENTER; - } this._currentTransform = transform; - // @ts-expect-error this method exists in the subclass - should be moved or declared as abstract - this._beforeTransform(e); + + this.fire('before:transform', { + e, + transform, + }); } /** @@ -1029,27 +1020,17 @@ export class SelectableCanvas return this._activeObject; } - /** - * Returns instance's active selection - */ - getActiveSelection() { - return this._activeSelection; - } - /** * Returns an array with the current selected objects * @return {FabricObject[]} active objects array */ getActiveObjects(): FabricObject[] { const active = this._activeObject; - if (active) { - if (active === this._activeSelection) { - return [...(active as ActiveSelection)._objects]; - } else { - return [active]; - } - } - return []; + return isActiveSelection(active) + ? active.getObjects() + : active + ? [active] + : []; } /** @@ -1134,9 +1115,11 @@ export class SelectableCanvas * @return {Boolean} true if the object has been selected */ _setActiveObject(object: FabricObject, e?: TPointerEvent) { - if (this._activeObject === object) { + const prevActiveObject = this._activeObject; + if (prevActiveObject === object) { return false; } + // after calling this._discardActiveObject, this,_activeObject could be undefined if (!this._discardActiveObject(e, object) && this._activeObject) { // refused to deselect return false; @@ -1144,10 +1127,10 @@ export class SelectableCanvas if (object.onSelect({ e })) { return false; } + this._activeObject = object; - if (object instanceof ActiveSelection && this._activeSelection !== object) { - this._activeSelection = object; + if (isActiveSelection(object) && prevActiveObject !== object) { object.set('canvas', this); object.setCoords(); } @@ -1173,11 +1156,6 @@ export class SelectableCanvas if (obj.onDeselect({ e, object })) { return false; } - // clear active selection - if (obj === this._activeSelection) { - this._activeSelection.removeAll(); - resetObjectTransform(this._activeSelection); - } if (this._currentTransform && this._currentTransform.target === obj) { // @ts-expect-error this method exists in the subclass - should be moved or declared as abstract this.endCurrentTransform(e); @@ -1227,11 +1205,13 @@ export class SelectableCanvas */ destroy() { // dispose of active selection - const activeSelection = this._activeSelection; - activeSelection.removeAll(); - // @ts-expect-error disposing - this._activeSelection = undefined; - activeSelection.dispose(); + const activeObject = this._activeObject; + if (isActiveSelection(activeObject)) { + activeObject.removeAll(); + activeObject.dispose(); + } + + delete this._activeObject; super.destroy(); @@ -1271,7 +1251,7 @@ export class SelectableCanvas /** * @private */ - _toObject( + protected _toObject( instance: FabricObject, methodName: 'toObject' | 'toDatalessObject', propertiesToInclude: string[] @@ -1293,14 +1273,11 @@ export class SelectableCanvas * @param {FabricObject} [instance] the object to transform (gets mutated) * @returns the original values of instance which were changed */ - _realizeGroupTransformOnObject( + private _realizeGroupTransformOnObject( instance: FabricObject ): Partial { - if ( - instance.group && - instance.group === this._activeSelection && - this._activeObject === instance.group - ) { + const { group } = instance; + if (group && isActiveSelection(group) && this._activeObject === group) { const layoutProps = [ 'angle', 'flipX', @@ -1313,7 +1290,7 @@ export class SelectableCanvas TOP, ] as (keyof typeof instance)[]; const originalValues = pick(instance, layoutProps); - addTransformToObject(instance, this._activeObject.calcOwnMatrix()); + addTransformToObject(instance, group.calcOwnMatrix()); return originalValues; } else { return {}; diff --git a/src/canvas/StaticCanvas.ts b/src/canvas/StaticCanvas.ts index ae9d295c109..6fa83def8cc 100644 --- a/src/canvas/StaticCanvas.ts +++ b/src/canvas/StaticCanvas.ts @@ -859,7 +859,7 @@ export class StaticCanvas< /** * @private */ - _toObject( + protected _toObject( instance: FabricObject, methodName: TValidToObjectMethod, propertiesToInclude?: string[] diff --git a/src/config.ts b/src/config.ts index 38ea744cf9b..d3553d5beed 100644 --- a/src/config.ts +++ b/src/config.ts @@ -26,7 +26,8 @@ class BaseConfiguration { * Device Pixel Ratio * @see https://developer.apple.com/library/safari/documentation/AudioVideo/Conceptual/HTML-canvas-guide/SettingUptheCanvas/SettingUptheCanvas.html */ - devicePixelRatio = 1; + devicePixelRatio = + typeof window !== 'undefined' ? window.devicePixelRatio : 1; // eslint-disable-line no-restricted-globals /** * Pixel limit for cache canvases. 1Mpx , 4Mpx should be fine. diff --git a/src/controls/Control.spec.ts b/src/controls/Control.spec.ts index 6ddc3922449..f666be06f9d 100644 --- a/src/controls/Control.spec.ts +++ b/src/controls/Control.spec.ts @@ -16,9 +16,16 @@ describe('Controls', () => { const target = new FabricObject({ controls: { test: control, test2: control }, + canvas: new Canvas(), }); - jest.spyOn(target, '_findTargetCorner').mockReturnValue('test'); - jest.spyOn(target, 'getActiveControl').mockReturnValue('test'); + + target.setCoords(); + + jest + .spyOn(target, '_findTargetCorner') + .mockImplementation(function (this: FabricObject) { + return (this.__corner = 'test'); + }); const canvas = new Canvas(); canvas.setActiveObject(target); diff --git a/src/controls/polyControl.ts b/src/controls/polyControl.ts index bc7956b7f21..40a37baa275 100644 --- a/src/controls/polyControl.ts +++ b/src/controls/polyControl.ts @@ -1,39 +1,36 @@ import { Point } from '../Point'; import { Control } from './Control'; import type { TMat2D } from '../typedefs'; -import { CENTER, iMatrix } from '../constants'; import type { Polyline } from '../shapes/Polyline'; import { multiplyTransformMatrices } from '../util/misc/matrix'; import type { + TModificationEvents, TPointerEvent, Transform, TransformActionHandler, } from '../EventTypeDefs'; -import { getLocalPoint } from './util'; import { wrapWithFireEvent } from './wrapWithFireEvent'; +import { sendPointToPlane } from '../util'; -const ACTION_NAME = 'modifyPoly'; +const ACTION_NAME: TModificationEvents = 'modifyPoly'; type TTransformAnchor = Transform & { pointIndex: number }; -const getSize = (poly: Polyline) => { - return new Point(poly.width, poly.height); -}; - /** * This function locates the controls. * It'll be used both for drawing and for interaction. */ export const createPolyPositionHandler = (pointIndex: number) => { return function (dim: Point, finalMatrix: TMat2D, polyObject: Polyline) { - const x = polyObject.points[pointIndex].x - polyObject.pathOffset.x, - y = polyObject.points[pointIndex].y - polyObject.pathOffset.y; - return new Point(x, y).transform( - multiplyTransformMatrices( - polyObject.canvas?.viewportTransform ?? iMatrix, - polyObject.calcTransformMatrix() - ) - ); + const { points, pathOffset } = polyObject; + return new Point(points[pointIndex]) + .subtract(pathOffset) + .transform( + multiplyTransformMatrices( + polyObject.getViewportTransform(), + polyObject.calcTransformMatrix() + ) + ); }; }; @@ -50,20 +47,15 @@ export const polyActionHandler = ( x: number, y: number ) => { - const poly = transform.target as Polyline, - pointIndex = transform.pointIndex, - mouseLocalPosition = getLocalPoint(transform, CENTER, CENTER, x, y), - polygonBaseSize = getSize(poly), - size = poly._getTransformedDimensions(), - sizeFactor = polygonBaseSize.divide(size), - adjustFlip = new Point(poly.flipX ? -1 : 1, poly.flipY ? -1 : 1); - - const finalPointPosition = mouseLocalPosition - .multiply(adjustFlip) - .multiply(sizeFactor) - .add(poly.pathOffset); + const { target, pointIndex } = transform; + const poly = target as Polyline; + const mouseLocalPosition = sendPointToPlane( + new Point(x, y), + undefined, + poly.calcOwnMatrix() + ); - poly.points[pointIndex] = finalPointPosition; + poly.points[pointIndex] = mouseLocalPosition.add(poly.pathOffset); poly.setDimensions(); return true; @@ -89,19 +81,15 @@ export const factoryPolyActionHandler = ( anchorPointInParentPlane = anchorPoint .subtract(poly.pathOffset) .transform(poly.calcOwnMatrix()), - actionPerformed = fn(eventData, { ...transform, pointIndex }, x, y), - adjustFlip = new Point(poly.flipX ? -1 : 1, poly.flipY ? -1 : 1); + actionPerformed = fn(eventData, { ...transform, pointIndex }, x, y); - const newPositionNormalized = anchorPoint + const newAnchorPointInParentPlane = anchorPoint .subtract(poly.pathOffset) - .divide(poly._getNonTransformedDimensions()) - .multiply(adjustFlip); + .transform(poly.calcOwnMatrix()); - poly.setPositionByOrigin( - anchorPointInParentPlane, - newPositionNormalized.x + 0.5, - newPositionNormalized.y + 0.5 - ); + const diff = newAnchorPointInParentPlane.subtract(anchorPointInParentPlane); + poly.left -= diff.x; + poly.top -= diff.y; return actionPerformed; }; diff --git a/src/controls/scale.test.ts b/src/controls/scale.test.ts new file mode 100644 index 00000000000..99b500ace9b --- /dev/null +++ b/src/controls/scale.test.ts @@ -0,0 +1,135 @@ +import { Point } from '../Point'; +import { Canvas } from '../canvas/Canvas'; +import { Rect } from '../shapes/Rect'; +import type { RectProps } from '../shapes/Rect'; +import { scalingX, scalingY } from './scale'; + +// +// prep for tests +// +const createZeroThickRectangleScalingItems = ( + rectOptions: { width: number; height: number } & Partial, + usedCorner: keyof Rect['oCoords'], + pointDiff: Point +) => { + const extraMargin = 100; + const { width, height } = rectOptions; + + // create canvas as large as the rect + margin + const canvas = new Canvas('canvas', { + width: width + extraMargin, + height: height + extraMargin, + }); + + // create rect in the center of rect + const target = new Rect({ + strokeWidth: 0, + stroke: 'black', + ...rectOptions, + left: (width + extraMargin) / 2, + top: (height + extraMargin) / 2, + originX: 'center', + originY: 'center', + }); + + // add rect to canvas or we get undefined issues + canvas.add(target); + + // create mouse event near center of rect, as the 0 size will put it on the middle scaler + const canvasOffset = canvas.calcOffset(); + + const mouseDown = new MouseEvent('mousedown', { + clientX: canvasOffset.left + target.oCoords[usedCorner].x, + clientY: canvasOffset.top + target.oCoords[usedCorner].y, + }); + + const moveEvent = new MouseEvent('mousemove', { + clientX: canvasOffset.left + target.oCoords[usedCorner].x + pointDiff.x, + clientY: canvasOffset.top + target.oCoords[usedCorner].y + pointDiff.y, + }); + + canvas.setActiveObject(target); + target.__corner = usedCorner; + canvas._setupCurrentTransform(mouseDown, target, false); + const transform = canvas._currentTransform!; + const pointer = canvas.getScenePoint(moveEvent); + + // return items used by our action handler + return { moveEvent, transform, pointer, target }; +}; + +// +// actual tests +// +describe('Scale', () => { + it('adjusts a 0 width rect for polyActionhandler without it returning Infinity/NaN side scale', () => { + // when NaN wasn't handled correctly, the polygon would disappear. Now, it stays + const { moveEvent, transform, pointer, target } = + createZeroThickRectangleScalingItems( + { width: 0, height: 60 }, + 'mr', + new Point(20, 0) // moving right + ); + const currentScale = target.scaleX; + const didScale = scalingX(moveEvent, transform, pointer.x, pointer.y); + expect(currentScale).toEqual(transform.target.scaleX); + expect((transform.target as Rect).scaleX).not.toBeNaN(); + expect((transform.target as Rect).scaleX).not.toBe( + Number.POSITIVE_INFINITY + ); + expect(didScale).toBe(false); + }); + it('adjusts a 0 width rect for polyActionhandler without it returning Infinity/NaN corner scale', () => { + // when NaN wasn't handled correctly, the polygon would disappear. Now, it stays + const { moveEvent, transform, pointer, target } = + createZeroThickRectangleScalingItems( + { width: 0, height: 60 }, + 'br', + new Point(20, 20) // moving right + ); + const currentScaleX = target.scaleX; + const currentScaleY = target.scaleY; + const didScale = scalingX(moveEvent, transform, pointer.x, pointer.y); + expect(currentScaleX).toEqual(transform.target.scaleX); + expect(currentScaleY).toEqual(transform.target.scaleY); + expect((transform.target as Rect).scaleX).not.toBeNaN(); + expect((transform.target as Rect).scaleX).not.toBe( + Number.POSITIVE_INFINITY + ); + expect(didScale).toBe(false); + }); + it('adjusts a 0 height rect for polyActionhandler without it returning Infinity/NaN side scale', () => { + // when NaN wasn't handled correctly, the polygon would disappear. Now, it stays + const { moveEvent, transform, pointer } = + createZeroThickRectangleScalingItems( + { width: 60, height: 0 }, + 'mb', + new Point(0, 20) + ); + + const didScale = scalingY(moveEvent, transform, pointer.x, pointer.y); + + expect((transform.target as Rect).scaleY).not.toBeNaN(); + expect((transform.target as Rect).scaleY).not.toBe( + Number.POSITIVE_INFINITY + ); + expect(didScale).toBe(false); + }); + it('adjusts a 0 height rect for polyActionhandler without it returning Infinity/NaN corner scale', () => { + // when NaN wasn't handled correctly, the polygon would disappear. Now, it stays + const { moveEvent, transform, pointer } = + createZeroThickRectangleScalingItems( + { width: 60, height: 0 }, + 'br', + new Point(20, 20) + ); + + const didScale = scalingY(moveEvent, transform, pointer.x, pointer.y); + + expect((transform.target as Rect).scaleY).not.toBeNaN(); + expect((transform.target as Rect).scaleY).not.toBe( + Number.POSITIVE_INFINITY + ); + expect(didScale).toBe(false); + }); +}); diff --git a/src/controls/scale.ts b/src/controls/scale.ts index 00379e81ee9..f4a43993822 100644 --- a/src/controls/scale.ts +++ b/src/controls/scale.ts @@ -70,6 +70,15 @@ export function scalingIsForbidden( if (lockY && by === 'y') { return true; } + // code crashes because of a division by 0 if a 0 sized object is scaled + // forbid to prevent scaling to happen. ISSUE-9475 + const { width, height, strokeWidth } = fabricObject; + if (width === 0 && strokeWidth === 0 && by !== 'y') { + return true; + } + if (height === 0 && strokeWidth === 0 && by !== 'x') { + return true; + } return false; } diff --git a/src/controls/util.ts b/src/controls/util.ts index bffe24c90e9..c372c1a2612 100644 --- a/src/controls/util.ts +++ b/src/controls/util.ts @@ -25,7 +25,7 @@ export const NOT_ALLOWED_CURSOR = 'not-allowed'; */ export const getActionFromCorner = ( alreadySelected: boolean, - corner: string, + corner: string | undefined, e: TPointerEvent, target: FabricObject ) => { diff --git a/src/env/browser.ts b/src/env/browser.ts index 4dc7155ff66..852086ccbc9 100644 --- a/src/env/browser.ts +++ b/src/env/browser.ts @@ -1,5 +1,4 @@ /* eslint-disable no-restricted-globals */ -import { config } from '../config'; import { WebGLProbe } from '../filters/GLProbes/WebGLProbe'; import type { TCopyPasteData, TFabricEnv } from './types'; @@ -10,9 +9,6 @@ let isTouchSupported: boolean; export const getEnv = (): TFabricEnv => { if (!initialized) { - config.configure({ - devicePixelRatio: window.devicePixelRatio || 1, - }); isTouchSupported = 'ontouchstart' in window || 'ontouchstart' in document || diff --git a/src/filters/Composed.ts b/src/filters/Composed.ts index 54243eb1ef0..198a86a08c5 100644 --- a/src/filters/Composed.ts +++ b/src/filters/Composed.ts @@ -67,7 +67,9 @@ export class Composed extends BaseFilter { ) { return Promise.all( ((object.subFilters || []) as BaseFilter[]).map((filter) => - classRegistry.getClass(filter.type).fromObject(filter, options) + classRegistry + .getClass(filter.type) + .fromObject(filter, options) ) ).then( (enlivedFilters) => new this({ subFilters: enlivedFilters }) as BaseFilter diff --git a/src/gradient/Gradient.ts b/src/gradient/Gradient.ts index 37d7349507f..d7b01a34a3f 100644 --- a/src/gradient/Gradient.ts +++ b/src/gradient/Gradient.ts @@ -102,7 +102,7 @@ export class Gradient< constructor({ type = 'linear' as T, gradientUnits = 'pixels', - coords, + coords = {}, colorStops = [], offsetX = 0, offsetY = 0, diff --git a/src/gradient/typedefs.ts b/src/gradient/typedefs.ts index 1b6286f7257..64930c7ff97 100644 --- a/src/gradient/typedefs.ts +++ b/src/gradient/typedefs.ts @@ -66,7 +66,7 @@ export type GradientOptions = { type?: T; gradientUnits?: GradientUnits; colorStops?: ColorStop[]; - coords: Partial>; + coords?: Partial>; /** * @todo rename? */ diff --git a/src/parkinglot/straighten.ts b/src/parkinglot/straighten.ts index 352fe68eb2c..1795179f948 100644 --- a/src/parkinglot/straighten.ts +++ b/src/parkinglot/straighten.ts @@ -5,6 +5,13 @@ import { TDegree } from '../typedefs'; import { animate } from '../util/animation/animate'; Object.assign(FabricObject.prototype, { + /** + * Animation duration (in ms) for fx* methods + * @type Number + * @default + */ + FX_DURATION: 500, + /** * @private * @return {Number} angle value diff --git a/src/shapes/ActiveSelection.spec.ts b/src/shapes/ActiveSelection.spec.ts index 185d0c2b400..2b6322ec98d 100644 --- a/src/shapes/ActiveSelection.spec.ts +++ b/src/shapes/ActiveSelection.spec.ts @@ -13,36 +13,7 @@ describe('ActiveSelection', () => { ); }); - it('clearing active selection objects resets transform', () => { - const obj = new FabricObject({ - left: 100, - top: 100, - width: 100, - height: 100, - }); - const selection = new ActiveSelection([obj], { - left: 200, - top: 200, - angle: 45, - skewX: 0.5, - skewY: -0.5, - }); - selection.remove(obj); - expect(selection).toMatchObject({ - left: 0, - top: 0, - angle: 0, - scaleX: 1, - scaleY: 1, - skewX: 0, - skewY: 0, - flipX: false, - flipY: false, - _objects: [], - }); - }); - - it('deselect removes all objects and resets transform', () => { + it('deselect removes all objects', () => { const selection = new ActiveSelection([], { left: 200, top: 100, @@ -52,9 +23,9 @@ describe('ActiveSelection', () => { selection.onDeselect(); expect(spy).toHaveBeenCalled(); expect(selection).toMatchObject({ - left: 0, - top: 0, - angle: 0, + left: 200, + top: 100, + angle: 45, scaleX: 1, scaleY: 1, skewX: 0, @@ -64,11 +35,11 @@ describe('ActiveSelection', () => { _objects: [], }); selection.add(new FabricObject({ left: 50, top: 50, strokeWidth: 0 })); - expect(selection.item(0).getCenterPoint()).toEqual({ x: 50, y: 50 }); + const { x, y } = selection.item(0).getCenterPoint(); + expect({ x: Math.round(x), y: Math.round(y) }).toEqual({ x: 50, y: 50 }); }); - // remove skip once #9152 is merged - it.skip('should not set coords in the constructor', () => { + it('should not set coords in the constructor', () => { const spy = jest.spyOn(ActiveSelection.prototype, 'setCoords'); new ActiveSelection([ new FabricObject({ @@ -81,21 +52,6 @@ describe('ActiveSelection', () => { expect(spy).not.toHaveBeenCalled(); }); - it('sets coords after attaching to canvas', () => { - const canvas = new Canvas(undefined, { - activeSelection: new ActiveSelection([ - new FabricObject({ - left: 100, - top: 100, - width: 100, - height: 100, - }), - ]), - viewportTransform: [2, 0, 0, 0.5, 400, 150], - }); - expect(canvas.getActiveSelection().aCoords).toMatchSnapshot(); - }); - it('`setActiveObject` should update the active selection ref on canvas if it changed', () => { const canvas = new Canvas(); const obj1 = new FabricObject(); @@ -104,7 +60,7 @@ describe('ActiveSelection', () => { const activeSelection = new ActiveSelection([obj1, obj2]); const spy = jest.spyOn(activeSelection, 'setCoords'); canvas.setActiveObject(activeSelection); - expect(canvas.getActiveSelection()).toBe(activeSelection); + expect(canvas.getActiveObject()).toBe(activeSelection); expect(canvas.getActiveObjects()).toEqual([obj1, obj2]); expect(spy).toHaveBeenCalled(); expect(activeSelection.canvas).toBe(canvas); @@ -117,8 +73,7 @@ describe('ActiveSelection', () => { test('adding and removing an object belonging to a group', () => { const object = new FabricObject(); const group = new Group([object]); - const canvas = new Canvas(); - const activeSelection = canvas.getActiveSelection(); + const activeSelection = new ActiveSelection(); const eventsSpy = jest.spyOn(object, 'fire'); const removeSpy = jest.spyOn(group, 'remove'); @@ -132,7 +87,6 @@ describe('ActiveSelection', () => { activeSelection.add(object); expect(object.group).toBe(activeSelection); expect(object.parent).toBe(group); - expect(object.canvas).toBe(canvas); expect(removeSpy).not.toBeCalled(); expect(exitSpy).toBeCalledWith(object); expect(enterSpy).toBeCalledWith(object, true); @@ -146,7 +100,6 @@ describe('ActiveSelection', () => { }); expect(object.group).toBe(group); expect(object.parent).toBe(group); - expect(object.canvas).toBeUndefined(); }); test('transferring an object between active selections', () => { diff --git a/src/shapes/ActiveSelection.ts b/src/shapes/ActiveSelection.ts index d52050fadbf..bb8d763c8e0 100644 --- a/src/shapes/ActiveSelection.ts +++ b/src/shapes/ActiveSelection.ts @@ -16,18 +16,26 @@ export interface ActiveSelectionOptions extends GroupProps { /** * Used by Canvas to manage selection. - * Canvas accepts an `activeSelection` option allowing overriding and customization. * * @example * class MyActiveSelection extends ActiveSelection { * ... * } * - * const canvas = new Canvas(el, { - * activeSelection: new MyActiveSelection() - * }) + * // override the default `ActiveSelection` class + * classRegistry.setClass(MyActiveSelection) */ export class ActiveSelection extends Group { + static type = 'ActiveSelection'; + + static ownDefaults: Record = { + multiSelectionStacking: 'canvas-stacking', + }; + + static getDefaults() { + return { ...super.getDefaults(), ...this.ownDefaults }; + } + /** * controls how selected objects are added during a multiselection event * - `canvas-stacking` adds the selected object to the active selection while respecting canvas object stacking order @@ -35,10 +43,7 @@ export class ActiveSelection extends Group { * meaning that the stack is ordered by the order in which objects were selected * @default `canvas-stacking` */ - // TODO FIX THIS WITH THE DEFAULTS LOGIC - multiSelectionStacking: MultiSelectionStacking = 'canvas-stacking'; - - static type = 'ActiveSelection'; + declare multiSelectionStacking: MultiSelectionStacking; /** * @private @@ -141,9 +146,7 @@ export class ActiveSelection extends Group { } /** - * If returns true, deselection is cancelled. - * @since 2.0.0 - * @return {Boolean} [cancel] + * @override remove all objects */ onDeselect() { this.removeAll(); diff --git a/src/shapes/Group.spec.ts b/src/shapes/Group.spec.ts index 2eed6308bad..0b0a1dd8b02 100644 --- a/src/shapes/Group.spec.ts +++ b/src/shapes/Group.spec.ts @@ -1,20 +1,264 @@ -import { FixedLayout } from '../LayoutManager'; +import { + FixedLayout, + LayoutManager, + ClipPathLayout, + FitContentLayout, +} from '../LayoutManager'; import { Canvas } from '../canvas/Canvas'; import { Group } from './Group'; +import type { GroupProps } from './Group'; +import { Rect } from './Rect'; import { FabricObject } from './Object/FabricObject'; +const makeGenericGroup = (options?: Partial) => { + const objs = [new FabricObject(), new FabricObject()]; + const group = new Group(objs, options); + return { + group, + originalObjs: objs, + }; +}; + describe('Group', () => { it('avoid mutations to passed objects array', () => { - const objs = [new FabricObject(), new FabricObject()]; - const group = new Group(objs); + const { group, originalObjs } = makeGenericGroup(); group.add(new FabricObject()); - expect(group._objects).not.toBe(objs); - expect(objs).toHaveLength(2); + expect(group._objects).not.toBe(originalObjs); + expect(originalObjs).toHaveLength(2); expect(group._objects).toHaveLength(3); }); + it('fromObject restores values as they are, ignoring specific width/height/top/left that could come from layout', async () => { + const objectData = { + width: 2, + height: 3, + left: 6, + top: 4, + strokeWidth: 0, + objects: [ + new Rect({ + width: 100, + height: 100, + top: 0, + left: 0, + strokeWidth: 0, + }).toObject(), + ], + }; + + const group = await Group.fromObject(objectData); + expect(group.width).toBe(objectData.width); + expect(group.height).toBe(objectData.height); + expect(group.left).toBe(objectData.left); + expect(group.top).toBe(objectData.top); + group.triggerLayout(); + expect(group.width).toBe(100); + expect(group.height).toBe(100); + }); + + describe('With fit-content layout manager', () => { + test('will serialize correctly without default values', async () => { + const { group } = makeGenericGroup({ + clipPath: new Rect({ width: 30, height: 30 }), + layoutManager: new LayoutManager(new FitContentLayout()), + includeDefaultValues: false, + }); + const serialized = group.toObject(); + expect(serialized.layoutManager).toBe(undefined); + }); + it('Group initialization will calculate correct width/height ignoring passed width and height', async () => { + const objectOptions = { + width: 2, + height: 3, + left: 6, + top: 4, + strokeWidth: 0, + }; + + const group = new Group( + [ + new Rect({ + width: 100, + height: 100, + top: 0, + left: 0, + strokeWidth: 0, + }), + ], + objectOptions + ); + expect(group.width).toBe(100); + expect(group.height).toBe(100); + }); + it('Group initialization will calculate width/height ignoring the passed one', async () => { + const objectOptions = { + width: 2, + height: 3, + left: 6, + top: 4, + strokeWidth: 0, + }; + + const group = new Group( + [ + new Rect({ + width: 100, + height: 100, + top: 0, + left: 0, + strokeWidth: 0, + }), + ], + objectOptions + ); + expect(group.left).toBe(6); + expect(group.top).toBe(4); + }); + it('Group initialization will calculate size and position if nothing is passed', async () => { + const objectOptions = { + strokeWidth: 0, + }; + + const group = new Group( + [ + new Rect({ + width: 100, + height: 100, + top: 50, + left: 60, + strokeWidth: 0, + }), + ], + objectOptions + ); + expect(group.left).toBe(60); + expect(group.top).toBe(50); + expect(group.width).toBe(100); + expect(group.height).toBe(100); + }); + test('fit-content layout will change position or size', async () => { + const { group } = makeGenericGroup({ + top: 30, + left: 10, + width: 40, + height: 50, + }); + expect(group.top).toBe(30); + expect(group.left).toBe(10); + expect(group.width).toBe(1); + expect(group.height).toBe(1); + group.add(new Rect({ width: 1000, height: 1500, top: -500, left: -400 })); + // group position and size will not change + expect(group.top).toBe(-500); + expect(group.left).toBe(-400); + expect(group.width).toBe(1001); + expect(group.height).toBe(1501); + }); + }); + + describe('With fixed layout', () => { + test('will serialize and deserialize correctly', async () => { + const { group } = makeGenericGroup({ + width: 40, + height: 50, + layoutManager: new LayoutManager(new FixedLayout()), + }); + const serialized = group.toObject(); + expect(serialized.layoutManager).toMatchObject({ + type: 'layoutManager', + strategy: 'fixed', + }); + const restoredGroup = await Group.fromObject(serialized); + expect(restoredGroup.layoutManager).toBeInstanceOf(LayoutManager); + expect(restoredGroup.layoutManager.strategy).toBeInstanceOf(FixedLayout); + }); + test('will serialize correctly without default values', async () => { + const { group } = makeGenericGroup({ + width: 40, + height: 50, + layoutManager: new LayoutManager(new FixedLayout()), + includeDefaultValues: false, + }); + const serialized = group.toObject(); + expect(serialized.layoutManager).toMatchObject({ + type: 'layoutManager', + strategy: 'fixed', + }); + }); + test('Fixed layout will not change position or size', async () => { + const { group } = makeGenericGroup({ + top: 30, + left: 10, + width: 40, + height: 50, + layoutManager: new LayoutManager(new FixedLayout()), + }); + expect(group.top).toBe(30); + expect(group.left).toBe(10); + expect(group.width).toBe(40); + expect(group.height).toBe(50); + group.add(new Rect({ width: 1000, height: 1000, top: -500, left: -500 })); + // group position and size will not change + expect(group.top).toBe(30); + expect(group.left).toBe(10); + expect(group.width).toBe(40); + expect(group.height).toBe(50); + }); + }); + + describe('With clip-path layout', () => { + test('will serialize and deserialize correctly', async () => { + const { group } = makeGenericGroup({ + clipPath: new Rect({ width: 30, height: 30 }), + layoutManager: new LayoutManager(new ClipPathLayout()), + }); + const serialized = group.toObject(); + expect(serialized.layoutManager).toMatchObject({ + type: 'layoutManager', + strategy: 'clip-path', + }); + const restoredGroup = await Group.fromObject(serialized); + expect(restoredGroup.layoutManager).toBeInstanceOf(LayoutManager); + expect(restoredGroup.layoutManager.strategy).toBeInstanceOf( + ClipPathLayout + ); + }); + test('will serialize correctly without default values', async () => { + const { group } = makeGenericGroup({ + clipPath: new Rect({ width: 30, height: 30 }), + layoutManager: new LayoutManager(new ClipPathLayout()), + includeDefaultValues: false, + }); + const serialized = group.toObject(); + expect(serialized.layoutManager).toMatchObject({ + type: 'layoutManager', + strategy: 'clip-path', + }); + }); + test('clip-path layout will not change position or size', async () => { + const { group } = makeGenericGroup({ + top: 20, + left: 40, + clipPath: new Rect({ width: 30, height: 10 }), + layoutManager: new LayoutManager(new ClipPathLayout()), + }); + expect(group.top).toBe(20); + expect(group.left).toBe(40); + // TO DO BUG: this should be 30 + expect(group.width).toBe(31); + expect(group.height).toBe(11); + group.add(new Rect({ width: 1000, height: 1000, top: -500, left: -500 })); + // group position and size will not change + expect(group.top).toBe(20); + expect(group.left).toBe(40); + // TO DO BUG: this should be 30 + expect(group.width).toBe(31); + expect(group.height).toBe(11); + }); + }); + it('triggerLayout should preform layout, layoutManager is defined', () => { const group = new Group(); expect(group.layoutManager).toBeDefined(); diff --git a/src/shapes/Group.ts b/src/shapes/Group.ts index d7eb747b454..56c92104eff 100644 --- a/src/shapes/Group.ts +++ b/src/shapes/Group.ts @@ -27,6 +27,19 @@ import { LAYOUT_TYPE_INITIALIZATION, LAYOUT_TYPE_REMOVED, } from '../LayoutManager/constants'; +import type { SerializedLayoutManager } from '../LayoutManager/LayoutManager'; +import type { FitContentLayout } from '../LayoutManager'; + +/** + * This class handles the specific case of creating a group using {@link Group#fromObject} and is not meant to be used in any other case. + * We could have used a boolean in the constructor, as we did previously, but we think the boolean + * would stay in the group's constructor interface and create confusion, therefore it was removed. + * This layout manager doesn't do anything and therefore keeps the exact layout the group had when {@link Group#toObject} was called. + */ +class NoopLayoutManager extends LayoutManager { + // eslint-disable-next-line @typescript-eslint/no-empty-function + performLayout() {} +} export interface GroupEvents extends ObjectEvents, CollectionEvents { 'layout:before': LayoutBeforeEvent; @@ -42,6 +55,7 @@ export interface SerializedGroupProps extends SerializedObjectProps, GroupOwnProps { objects: SerializedObjectProps[]; + layoutManager: SerializedLayoutManager; } export interface GroupProps extends FabricObjectProps, GroupOwnProps { @@ -111,13 +125,8 @@ export class Group * * @param {FabricObject[]} [objects] instance objects * @param {Object} [options] Options object - * @param {boolean} [objectsRelativeToGroup] true if objects exist in group coordinate plane */ - constructor( - objects: FabricObject[] = [], - options: Partial = {}, - objectsRelativeToGroup?: boolean - ) { + constructor(objects: FabricObject[] = [], options: Partial = {}) { // @ts-expect-error options error super(options); this._objects = [...objects]; // Avoid unwanted mutations of Collection to affect the caller @@ -136,18 +145,14 @@ export class Group }); // perform initial layout - const layoutManager = - // not destructured on purpose here. - options.layoutManager || new LayoutManager(); - layoutManager.performLayout({ + this.layoutManager = options.layoutManager || new LayoutManager(); + this.layoutManager.performLayout({ type: LAYOUT_TYPE_INITIALIZATION, - objectsRelativeToGroup, target: this, targets: [...objects], x: options.left, y: options.top, }); - this.layoutManager = layoutManager; } /** @@ -433,7 +438,7 @@ export class Group * @return {Boolean} */ willDrawShadow() { - if (FabricObject.prototype.willDrawShadow.call(this)) { + if (super.willDrawShadow()) { return true; } for (let i = 0; i < this._objects.length; i++) { @@ -541,12 +546,17 @@ export class Group >, K extends keyof T = never >(propertiesToInclude: K[] = []): Pick & SerializedGroupProps { + const layoutManager = this.layoutManager.toObject(); + return { ...super.toObject([ 'subTargetCheck', 'interactive', ...propertiesToInclude, ]), + ...(layoutManager.strategy !== 'fit-content' || this.includeDefaultValues + ? { layoutManager } + : {}), objects: this.__serializeObjects( 'toObject', propertiesToInclude as string[] @@ -637,28 +647,33 @@ export class Group * @returns {Promise} */ static fromObject>({ + type, objects = [], + layoutManager, ...options }: T) { return Promise.all([ enlivenObjects(objects), enlivenObjectEnlivables(options), ]).then(([objects, hydratedOptions]) => { - const restoredGroup = new this( - objects, - { - ...options, - ...hydratedOptions, - }, - true - ); - if (!options.strategy) { - // restore the old save width/height killed by the - // default layour manager - restoredGroup.width = options.width; - restoredGroup.height = options.height; + const group = new this(objects, { + ...options, + ...hydratedOptions, + layoutManager: new NoopLayoutManager(), + }); + if (layoutManager) { + const layoutClass = classRegistry.getClass( + layoutManager.type + ); + const strategyClass = classRegistry.getClass( + layoutManager.strategy + ); + group.layoutManager = new layoutClass(new strategyClass()); + } else { + group.layoutManager = new LayoutManager(); } - return restoredGroup; + group.setCoords(); + return group; }); } } diff --git a/src/shapes/Image.ts b/src/shapes/Image.ts index f3e699792e8..a138f5b927b 100644 --- a/src/shapes/Image.ts +++ b/src/shapes/Image.ts @@ -790,7 +790,7 @@ export class FabricImage< * @returns {Promise} */ static fromObject>( - { filters: f, resizeFilter: rf, src, crossOrigin, ...object }: T, + { filters: f, resizeFilter: rf, src, crossOrigin, type, ...object }: T, options: Abortable = {} ) { return Promise.all([ diff --git a/src/shapes/Object/AnimatableObject.ts b/src/shapes/Object/AnimatableObject.ts index 0a2bb58ba59..08456f105ee 100644 --- a/src/shapes/Object/AnimatableObject.ts +++ b/src/shapes/Object/AnimatableObject.ts @@ -17,7 +17,7 @@ export abstract class AnimatableObject< * List of properties to consider for animating colors. * @type String[] */ - declare colorProperties: string[]; + static colorProperties: string[] = ['fill', 'stroke', 'backgroundColor']; /** * Animates object's properties @@ -53,7 +53,9 @@ export abstract class AnimatableObject< options: Partial> = {} ): TAnimation { const path = key.split('.'); - const propIsColor = this.colorProperties.includes(path[path.length - 1]); + const propIsColor = ( + this.constructor as typeof AnimatableObject + ).colorProperties.includes(path[path.length - 1]); const { easing, duration, abort, startValue, onChange, onComplete } = options; const animationOptions = { diff --git a/src/shapes/Object/InteractiveObject.spec.ts b/src/shapes/Object/InteractiveObject.spec.ts index 3d17ce0d96e..1d83e7690af 100644 --- a/src/shapes/Object/InteractiveObject.spec.ts +++ b/src/shapes/Object/InteractiveObject.spec.ts @@ -1,14 +1,21 @@ +import { Canvas } from '../../canvas/Canvas'; +import { Control } from '../../controls/Control'; import { radiansToDegrees } from '../../util'; import { Group } from '../Group'; -import { Canvas } from '../../canvas/Canvas'; import { FabricObject } from './FabricObject'; -import type { TOCoord } from './InteractiveObject'; +import { InteractiveFabricObject, type TOCoord } from './InteractiveObject'; -describe('FabricObject', () => { +describe('InteractiveObject', () => { + it('tests constructor & properties', () => { + const obj = new InteractiveFabricObject(); + expect(obj instanceof InteractiveFabricObject).toBe(true); + expect(obj.selectable).toBe(true); + }); it('Interactive + BaseObject default values', () => { const { controls, ...defaults } = FabricObject.getDefaults(); expect(defaults).toMatchSnapshot(); }); + describe('setCoords for objects inside group with rotation', () => { it('all corners are rotated as much as the object total angle', () => { const canvas = new Canvas(); @@ -44,4 +51,18 @@ describe('FabricObject', () => { }); }); }); + + test('getActiveControl', () => { + const object = new FabricObject({ canvas: new Canvas() }); + const control = new Control(); + object.controls = { control }; + object.setCoords(); + expect(object.getActiveControl()).toBeUndefined(); + object.__corner = 'control'; + expect(object.getActiveControl()).toEqual({ + key: 'control', + control, + coord: object.oCoords.control, + }); + }); }); diff --git a/src/shapes/Object/InteractiveObject.ts b/src/shapes/Object/InteractiveObject.ts index 9652d44f17d..eb7735d738c 100644 --- a/src/shapes/Object/InteractiveObject.ts +++ b/src/shapes/Object/InteractiveObject.ts @@ -1,4 +1,4 @@ -import { Point } from '../../Point'; +import { Point, ZERO } from '../../Point'; import type { TCornerPoint, TDegree } from '../../typedefs'; import { FabricObject } from './Object'; import { degreesToRadians } from '../../util/misc/radiansDegreesConversion'; @@ -18,6 +18,7 @@ import type { ControlRenderingStyleOverride } from '../../controls/controlRender import type { FabricObjectProps } from './types/FabricObjectProps'; import type { TFabricObjectProps, SerializedObjectProps } from './types'; import { createObjectDefaultControls } from '../../controls/commonControls'; +import { interactiveObjectDefaultValues } from './defaultValues'; export type TOCoord = Point & { corner: TCornerPoint; @@ -38,8 +39,6 @@ export type TStyleOverride = ControlRenderingStyleOverride & } >; -const interactiveDefaults = {}; - export class InteractiveFabricObject< Props extends TFabricObjectProps = Partial, SProps extends SerializedObjectProps = SerializedObjectProps, @@ -49,7 +48,6 @@ export class InteractiveFabricObject< implements FabricObjectProps { declare noScaleCache: boolean; - declare centeredScaling: boolean; declare snapAngle?: TDegree; declare snapThreshold?: TDegree; @@ -136,7 +134,7 @@ export class InteractiveFabricObject< declare canvas?: Canvas; - static ownDefaults: Record = interactiveDefaults; + static ownDefaults: Record = interactiveObjectDefaultValues; static getDefaults(): Record { return { @@ -155,9 +153,14 @@ export class InteractiveFabricObject< _updateCacheCanvas() { const targetCanvas = this.canvas; if (this.noScaleCache && targetCanvas && targetCanvas._currentTransform) { - const target = targetCanvas._currentTransform.target, - action = targetCanvas._currentTransform.action; - if (this === (target as unknown as this) && action.startsWith('scale')) { + const transform = targetCanvas._currentTransform, + target = transform.target, + action = transform.action; + if ( + this === (target as unknown as this) && + action && + action.startsWith('scale') + ) { return false; } } @@ -165,7 +168,14 @@ export class InteractiveFabricObject< } getActiveControl() { - return this.__corner; + const key = this.__corner; + return key + ? { + key, + control: this.controls[key], + coord: this.oCoords[key], + } + : undefined; } /** @@ -436,13 +446,14 @@ export class InteractiveFabricObject< this.height, calcDimensionsMatrix(options) ), - stroke = ( - this.strokeUniform - ? new Point().scalarAdd(this.canvas ? this.canvas.getZoom() : 1) - : // this is extremely confusing. options comes from the upper function - // and is the qrDecompose of a matrix that takes in account zoom too - new Point(options.scaleX, options.scaleY) - ).scalarMultiply(this.strokeWidth); + stroke = !this.isStrokeAccountedForInDimensions() + ? (this.strokeUniform + ? new Point().scalarAdd(this.canvas ? this.canvas.getZoom() : 1) + : // this is extremely confusing. options comes from the upper function + // and is the qrDecompose of a matrix that takes in account zoom too + new Point(options.scaleX, options.scaleY) + ).scalarMultiply(this.strokeWidth) + : ZERO; size = bbox .add(stroke) .scalarAdd(this.borderScaleFactor) diff --git a/src/shapes/Object/Object.spec.ts b/src/shapes/Object/Object.spec.ts index d209338a6fd..66abfc85814 100644 --- a/src/shapes/Object/Object.spec.ts +++ b/src/shapes/Object/Object.spec.ts @@ -4,6 +4,19 @@ import { FabricObject } from './Object'; import { Group } from '../Group'; describe('Object', () => { + it('tests constructor & properties', () => { + expect(typeof FabricObject).toBe('function'); + const cObj = new FabricObject(); + expect(cObj).toBeDefined(); + expect(cObj instanceof FabricObject).toBe(true); + expect(cObj.constructor).toBe(FabricObject); + + expect((cObj.constructor as typeof FabricObject).type).toBe('FabricObject'); + expect(cObj.includeDefaultValues).toBe(true); + + //TODO: Add message 'object caching default value' + expect(cObj.objectCaching).toBe(true); + }); it('rotate with centered rotation', () => { const fObj = new FabricObject({ centeredRotation: true, diff --git a/src/shapes/Object/Object.ts b/src/shapes/Object/Object.ts index 372add34d36..8e254469b10 100644 --- a/src/shapes/Object/Object.ts +++ b/src/shapes/Object/Object.ts @@ -136,6 +136,7 @@ export class FabricObject< declare inverted: boolean; declare absolutePositioned: boolean; declare centeredRotation: boolean; + declare centeredScaling: boolean; /** * This list of properties is used to check if the state of an object is changed. @@ -875,7 +876,7 @@ export class FabricObject< } /** - * Check if this object or a child object will cast a shadow + * Check if this object will cast a shadow with an offset. * used by Group.shouldCache to know if child has a shadow recursively * @return {Boolean} * @deprecated @@ -1341,7 +1342,7 @@ export class FabricObject< cloneAsImage(options: any): FabricImage { const canvasEl = this.toCanvasElement(options); // TODO: how to import Image w/o an import cycle? - const ImageClass = classRegistry.getClass('image'); + const ImageClass = classRegistry.getClass('image'); return new ImageClass(canvasEl); } @@ -1565,7 +1566,7 @@ export class FabricObject< * @returns {Promise} */ static _fromObject( - object: Record, + { type, ...object }: Record, { extraParam, ...options }: Abortable & { extraParam?: string } = {} ): Promise { return enlivenObjectEnlivables(cloneDeep(object), options).then( @@ -1574,7 +1575,7 @@ export class FabricObject< // from the resulting enlived options, extract options.extraParam to arg0 // to avoid accidental overrides later if (extraParam) { - const { [extraParam]: arg0, type, ...rest } = allOptions; + const { [extraParam]: arg0, ...rest } = allOptions; // @ts-expect-error different signature return new this(arg0, rest); } else { diff --git a/src/shapes/Object/ObjectGeometry.ts b/src/shapes/Object/ObjectGeometry.ts index cbf754b95ec..fa7e6c0c320 100644 --- a/src/shapes/Object/ObjectGeometry.ts +++ b/src/shapes/Object/ObjectGeometry.ts @@ -170,12 +170,19 @@ export class ObjectGeometry * @param {TOriginX} [originX] Horizontal origin: 'left', 'center' or 'right' * @param {TOriginY} [originY] Vertical origin: 'top', 'center' or 'bottom' */ - setRelativeXY(point: Point, originX?: TOriginX, originY?: TOriginY) { - this.setPositionByOrigin( - point, - originX || this.originX, - originY || this.originY - ); + setRelativeXY( + point: Point, + originX: TOriginX = this.originX, + originY: TOriginY = this.originY + ) { + this.setPositionByOrigin(point, originX, originY); + } + + /** + * @deprecated intermidiate method to be removed, do not use + */ + protected isStrokeAccountedForInDimensions() { + return false; } /** diff --git a/src/shapes/Object/__snapshots__/InteractiveObject.spec.ts.snap b/src/shapes/Object/__snapshots__/InteractiveObject.spec.ts.snap index af89132f9bc..570d0f399e3 100644 --- a/src/shapes/Object/__snapshots__/InteractiveObject.spec.ts.snap +++ b/src/shapes/Object/__snapshots__/InteractiveObject.spec.ts.snap @@ -1,8 +1,7 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`FabricObject Interactive + BaseObject default values 1`] = ` +exports[`InteractiveObject Interactive + BaseObject default values 1`] = ` { - "FX_DURATION": 500, "absolutePositioned": false, "activeOn": "down", "angle": 0, @@ -14,11 +13,6 @@ exports[`FabricObject Interactive + BaseObject default values 1`] = ` "centeredRotation": true, "centeredScaling": false, "clipPath": undefined, - "colorProperties": [ - "fill", - "stroke", - "backgroundColor", - ], "cornerColor": "rgb(178,204,255)", "cornerDashArray": null, "cornerSize": 13, diff --git a/src/shapes/Object/defaultValues.ts b/src/shapes/Object/defaultValues.ts index 056d31af1e4..9f22ad184e6 100644 --- a/src/shapes/Object/defaultValues.ts +++ b/src/shapes/Object/defaultValues.ts @@ -36,57 +36,51 @@ export const cacheProperties = [ ]; export const fabricObjectDefaultValues = { - originX: LEFT, - originY: TOP, + // see composeMatrix() to see order of transforms. First defaults listed based on this top: 0, left: 0, width: 0, height: 0, - scaleX: 1, - scaleY: 1, + angle: 0, flipX: false, flipY: false, - opacity: 1, - angle: 0, + scaleX: 1, + scaleY: 1, + minScaleLimit: 0, skewX: 0, skewY: 0, - cornerSize: 13, - touchCornerSize: 24, - transparentCorners: true, - hoverCursor: null, - moveCursor: null, + originX: LEFT, + originY: TOP, + strokeWidth: 1, + strokeUniform: false, padding: 0, - borderColor: 'rgb(178,204,255)', - borderDashArray: null, - cornerColor: 'rgb(178,204,255)', - cornerStrokeColor: '', - cornerStyle: 'rect', - cornerDashArray: null, - centeredScaling: false, - centeredRotation: true, + opacity: 1, + paintFirst: 'fill', fill: 'rgb(0,0,0)', fillRule: 'nonzero', - globalCompositeOperation: 'source-over', - backgroundColor: '', - selectionBackgroundColor: '', stroke: null, - strokeWidth: 1, strokeDashArray: null, strokeDashOffset: 0, strokeLineCap: 'butt', strokeLineJoin: 'miter', strokeMiterLimit: 4, + globalCompositeOperation: 'source-over', + backgroundColor: '', shadow: null, - borderOpacityWhenMoving: 0.4, - borderScaleFactor: 1, - minScaleLimit: 0, - selectable: true, - evented: true, visible: true, - hasControls: true, - hasBorders: true, - perPixelTargetFind: false, includeDefaultValues: true, + excludeFromExport: false, + objectCaching: true, + clipPath: undefined, + inverted: false, + absolutePositioned: false, + centeredRotation: true, + centeredScaling: false, + dirty: true, +} as const; + +export const interactiveObjectDefaultValues = { + noScaleCache: true, lockMovementX: false, lockMovementY: false, lockRotation: false, @@ -95,16 +89,24 @@ export const fabricObjectDefaultValues = { lockSkewingX: false, lockSkewingY: false, lockScalingFlip: false, - excludeFromExport: false, - objectCaching: true, - noScaleCache: true, - strokeUniform: false, - dirty: true, - paintFirst: 'fill', + cornerSize: 13, + touchCornerSize: 24, + transparentCorners: true, + cornerColor: 'rgb(178,204,255)', + cornerStrokeColor: '', + cornerStyle: 'rect', + cornerDashArray: null, + hasControls: true, + borderColor: 'rgb(178,204,255)', + borderDashArray: null, + borderOpacityWhenMoving: 0.4, + borderScaleFactor: 1, + hasBorders: true, + selectionBackgroundColor: '', + selectable: true, + evented: true, + perPixelTargetFind: false, activeOn: 'down', - colorProperties: ['fill', 'stroke', 'backgroundColor'], - clipPath: undefined, - inverted: false, - absolutePositioned: false, - FX_DURATION: 500, -} as const; + hoverCursor: null, + moveCursor: null, +}; diff --git a/src/shapes/Object/types/BaseProps.ts b/src/shapes/Object/types/BaseProps.ts index 93a7f12cad5..e8bb44ea45b 100644 --- a/src/shapes/Object/types/BaseProps.ts +++ b/src/shapes/Object/types/BaseProps.ts @@ -2,18 +2,22 @@ import type { TDegree, TOriginX, TOriginY } from '../../../typedefs'; export interface BaseProps { /** - * Top position of an object. Note that by default it's relative to object top. You can change this by setting originY={top/center/bottom} + * Left position of an object. + * Note that by default it's relative to object left. + * You can change this by setting {@link originX} * @type Number * @default 0 */ - top: number; + left: number; /** - * Left position of an object. Note that by default it's relative to object left. You can change this by setting originX={left/center/right} + * Top position of an object. + * Note that by default it's relative to object top. + * You can change this by setting {@link originY} * @type Number * @default 0 */ - left: number; + top: number; /** * Object width @@ -29,6 +33,29 @@ export interface BaseProps { */ height: number; + /** + * Horizontal origin of transformation of an object (`left`, `center`, `right` or `[0, 1]`) + * See http://jsfiddle.net/1ow02gea/244/ on how originX/originY affect objects in groups + * @type String + * @default 'left' + */ + originX: TOriginX; + + /** + * Vertical origin of transformation of an object (`top`, `center`, `bottom` or `[0, 1]`) + * See http://jsfiddle.net/1ow02gea/244/ on how originX/originY affect objects in groups + * @type String + * @default 'top' + */ + originY: TOriginY; + + /** + * Angle of rotation of an object (in degrees) + * @type Number + * @default 0 + */ + angle: TDegree; + /** * When true, an object is rendered as flipped horizontally * @type Boolean @@ -62,35 +89,12 @@ export interface BaseProps { * @type Number * @default 0 */ - skewX: number; + skewX: TDegree; /** * Angle of skew on y axes of an object (in degrees) * @type Number * @default 0 */ - skewY: number; - - /** - * Horizontal origin of transformation of an object (one of "left", "right", "center") - * See http://jsfiddle.net/1ow02gea/244/ on how originX/originY affect objects in groups - * @type String - * @default 'left' - */ - originX: TOriginX; - - /** - * Vertical origin of transformation of an object (one of "top", "bottom", "center") - * See http://jsfiddle.net/1ow02gea/244/ on how originX/originY affect objects in groups - * @type String - * @default 'top' - */ - originY: TOriginY; - - /** - * Angle of rotation of an object (in degrees) - * @type Number - * @default 0 - */ - angle: TDegree; + skewY: TDegree; } diff --git a/src/shapes/Object/types/FabricObjectProps.ts b/src/shapes/Object/types/FabricObjectProps.ts index de3ef4063ef..f242d543784 100644 --- a/src/shapes/Object/types/FabricObjectProps.ts +++ b/src/shapes/Object/types/FabricObjectProps.ts @@ -1,4 +1,3 @@ -import type { TDegree } from '../../../typedefs'; import type { BorderProps } from './BorderProps'; import type { ControlProps } from './ControlProps'; import type { LockInteractionProps } from './LockInteractionProps'; @@ -20,39 +19,6 @@ export interface FabricObjectProps */ noScaleCache?: boolean; - /** - * When true, this object will use center point as the origin of transformation - * when being scaled via the controls. - * Backwards incompatibility note: This property replaces "centerTransform" (Boolean). - * @since 1.3.4 - * @type Boolean - * @default - */ - centeredScaling: boolean; - - /** - * When true, this object will use center point as the origin of transformation - * when being rotated via the controls. - * Backwards incompatibility note: This property replaces "centerTransform" (Boolean). - * @since 1.3.4 - * @type Boolean - * @default - */ - centeredRotation: boolean; - - /** - * The angle that an object will lock to while rotating. - * @type [TDegree] - */ - snapAngle?: TDegree; - - /** - * The angle difference from the current snapped angle in which snapping should occur. - * When undefined, the snapThreshold will default to the snapAngle. - * @type [TDegree] - */ - snapThreshold?: TDegree; - /** * Default cursor value used when hovering over this object on canvas * @type CSSStyleDeclaration['cursor'] | null diff --git a/src/shapes/Object/types/ObjectProps.ts b/src/shapes/Object/types/ObjectProps.ts index 4cf7bc48abc..62fd449d029 100644 --- a/src/shapes/Object/types/ObjectProps.ts +++ b/src/shapes/Object/types/ObjectProps.ts @@ -3,12 +3,16 @@ import type { Canvas } from '../../../canvas/Canvas'; import type { StaticCanvas } from '../../../canvas/StaticCanvas'; import type { TFiller } from '../../../typedefs'; import type { FabricObject } from '../Object'; +import type { ObjectTransformActionProps } from './ObjectTransformProps'; import type { ClipPathProps, SerializedObjectProps, } from './SerializedObjectProps'; -export interface ObjectProps extends SerializedObjectProps, ClipPathProps { +export interface ObjectProps + extends SerializedObjectProps, + ClipPathProps, + ObjectTransformActionProps { clipPath?: FabricObject; fill: TFiller | string | null; stroke: TFiller | string | null; @@ -46,14 +50,4 @@ export interface ObjectProps extends SerializedObjectProps, ClipPathProps { * @default */ excludeFromExport: boolean; - - /** - * When `true` the object will rotate on its center. - * When `false` will rotate around the origin point defined by originX and originY. - * The value of this property is IGNORED during a transform if the canvas has already - * centeredRotation set to `true` - * The object method `rotate` will always consider this property and never the canva's one. - * @default true - */ - centeredRotation: boolean; } diff --git a/src/shapes/Object/types/ObjectTransformProps.ts b/src/shapes/Object/types/ObjectTransformProps.ts new file mode 100644 index 00000000000..a0bebccde9e --- /dev/null +++ b/src/shapes/Object/types/ObjectTransformProps.ts @@ -0,0 +1,37 @@ +import type { TDegree } from '../../../typedefs'; + +export interface ObjectTransformActionProps { + /** + * The angle that an object will lock to while rotating. + * @type [TDegree] + */ + snapAngle?: TDegree; + + /** + * The angle difference from the current snapped angle in which snapping should occur. + * When undefined, the snapThreshold will default to the snapAngle. + * @type [TDegree] + */ + snapThreshold?: TDegree; + + /** + * When `true` the object will rotate on its center. + * When `false` will rotate around the origin point defined by originX and originY. + * The value of this property is IGNORED during a transform if the canvas has already + * centeredRotation set to `true` + * The object method `rotate` will always consider this property and never the canvas's one. + * @since 1.3.4 + * @type Boolean + * @default + */ + centeredRotation: boolean; + + /** + * When true, this object will use center point as the origin of transformation + * when being scaled via the controls. + * @since 1.3.4 + * @type Boolean + * @default + */ + centeredScaling: boolean; +} diff --git a/src/shapes/Path.ts b/src/shapes/Path.ts index c9789a15a94..eef104e1b9f 100644 --- a/src/shapes/Path.ts +++ b/src/shapes/Path.ts @@ -26,7 +26,6 @@ import type { TSVGReviver, TOptions, } from '../typedefs'; -import { cloneDeep } from '../util/internals/cloneDeep'; import { CENTER, LEFT, TOP } from '../constants'; import type { CSSRules } from '../parser/typedefs'; @@ -208,7 +207,7 @@ export class Path< >(propertiesToInclude: K[] = []): Pick & SProps { return { ...super.toObject(propertiesToInclude), - path: cloneDeep(this.path), + path: this.path.map((pathCmd) => pathCmd.slice()), }; } diff --git a/src/shapes/Polyline.spec.ts b/src/shapes/Polyline.spec.ts new file mode 100644 index 00000000000..2e1149d5cfe --- /dev/null +++ b/src/shapes/Polyline.spec.ts @@ -0,0 +1,109 @@ +import { Polyline } from './Polyline'; +import { Point } from '../Point'; + +const points = [ + { x: 2, y: 2 }, + { x: 12, y: 2 }, + { x: 12, y: 7 }, +]; + +describe('Polyline', () => { + describe('_calcDimensions and pathOffset', () => { + it('returns dimensions of the polyline regardless of transform or strokeWidth', () => { + const polyline = new Polyline(points, { + scaleX: 2, + scaleY: 2, + angle: 5, + strokeWidth: 4, + }); + const dim = polyline._calcDimensions(); + expect(dim).toEqual({ + left: 2, + top: 2, + width: 10, + height: 5, + pathOffset: new Point(7, 4.5), + strokeDiff: new Point(0, 0), + strokeOffset: new Point(0, 0), + }); + }); + it('returns dimensions of the polyline regardless of transform or strokeWidth and skew', () => { + const polyline = new Polyline(points, { + scaleX: 2, + scaleY: 2, + angle: 5, + strokeWidth: 4, + skewX: 10, + skewY: 5, + }); + const dim = polyline._calcDimensions(); + expect(dim).toEqual({ + left: 2, + top: 2, + width: 10, + height: 5, + pathOffset: new Point(7, 4.5), + strokeDiff: expect.any(Point), + strokeOffset: expect.any(Point), + }); + }); + it('returns dimensions of the polyline exactBounds and no strokeWidth', () => { + const polyline = new Polyline(points, { + scaleX: 2, + scaleY: 2, + angle: 5, + strokeWidth: 0, + exactBoundingBox: true, + }); + const dim = polyline._calcDimensions(); + expect(dim).toEqual({ + left: 2, + top: 2, + width: 10, + height: 5, + pathOffset: new Point(7, 4.5), + strokeDiff: new Point(0, 0), + strokeOffset: new Point(0, 0), + }); + }); + it('returns dimensions of the polyline exactBounds and strokeWidth', () => { + const polyline = new Polyline(points, { + scaleX: 2, + scaleY: 2, + angle: 5, + strokeWidth: 4, + exactBoundingBox: true, + }); + const dim = polyline._calcDimensions(); + expect(dim).toEqual({ + left: 2, + top: 0, + width: 12, + height: 7, + pathOffset: new Point(8, 3.5), + strokeDiff: new Point(4, 4), + strokeOffset: new Point(0, 4), + }); + }); + it('returns dimensions of the polyline exactBounds and strokeWidth with skew', () => { + const polyline = new Polyline(points, { + scaleX: 2, + scaleY: 2, + angle: 5, + strokeWidth: 4, + skewX: 10, + exactBoundingBox: true, + }); + const dim = polyline._calcDimensions(); + expect(dim).toEqual({ + left: 2, + top: 0, + width: 13.234288864959254, + height: 7, + pathOffset: new Point(8, 3.5), + strokeDiff: new Point(4.70530792283386, 4), + strokeOffset: new Point(0.7053079228338603, 4), + }); + }); + }); +}); diff --git a/src/shapes/Polyline.ts b/src/shapes/Polyline.ts index 7efeed755a3..6909fe6499f 100644 --- a/src/shapes/Polyline.ts +++ b/src/shapes/Polyline.ts @@ -20,6 +20,9 @@ import { CENTER, LEFT, TOP } from '../constants'; import type { CSSRules } from '../parser/typedefs'; export const polylineDefaultValues: Partial> = { + /** + * @deprecated transient option soon to be removed in favor of a different design + */ exactBoundingBox: false, }; @@ -44,7 +47,7 @@ export class Polyline< * Calculate the exact bounding box taking in account strokeWidth on acute angles * this will be turned to true by default on fabric 6.0 * maybe will be left in as an optimization since calculations may be slow - * @deprecated + * @deprecated transient option soon to be removed in favor of a different design * @type Boolean * @default false */ @@ -160,15 +163,19 @@ export class Polyline< bboxNoStroke = makeBoundingBoxFromPoints( this.points.map((p) => transformPoint(p, matrix, true)) ), - offsetX = bbox.left + bbox.width / 2, - offsetY = bbox.top + bbox.height / 2, - pathOffsetX = offsetX - offsetY * Math.tan(degreesToRadians(this.skewX)), - pathOffsetY = - offsetY - pathOffsetX * Math.tan(degreesToRadians(this.skewY)), scale = new Point(this.scaleX, this.scaleY); + let offsetX = bbox.left + bbox.width / 2, + offsetY = bbox.top + bbox.height / 2; + if (this.exactBoundingBox) { + offsetX = offsetX - offsetY * Math.tan(degreesToRadians(this.skewX)); + // Order of those assignments is important. + // offsetY relies on offsetX being already changed by the line above + offsetY = offsetY - offsetX * Math.tan(degreesToRadians(this.skewY)); + } + return { ...bbox, - pathOffset: new Point(pathOffsetX, pathOffsetY), + pathOffset: new Point(offsetX, offsetY), strokeOffset: new Point(bboxNoStroke.left, bboxNoStroke.top) .subtract(new Point(bbox.left, bbox.top)) .multiply(scale), @@ -205,6 +212,13 @@ export class Polyline< ); } + /** + * @deprecated intermidiate method to be removed, do not use + */ + protected isStrokeAccountedForInDimensions() { + return this.exactBoundingBox; + } + /** * @override stroke is taken in account in size */ @@ -225,9 +239,9 @@ export class Polyline< _getTransformedDimensions(options: any = {}) { if (this.exactBoundingBox) { let size: Point; - /* When `strokeUniform = true`, any changes to the properties require recalculating the `width` and `height` because - the stroke projections are affected. - When `strokeUniform = false`, we don't need to recalculate for scale transformations, as the effect of scale on + /* When `strokeUniform = true`, any changes to the properties require recalculating the `width` and `height` because + the stroke projections are affected. + When `strokeUniform = false`, we don't need to recalculate for scale transformations, as the effect of scale on projections follows a linear function (e.g. scaleX of 2 just multiply width by 2)*/ if ( Object.keys(options).some( diff --git a/src/shapes/__snapshots__/ActiveSelection.spec.ts.snap b/src/shapes/__snapshots__/ActiveSelection.spec.ts.snap deleted file mode 100644 index e3bd6395ba5..00000000000 --- a/src/shapes/__snapshots__/ActiveSelection.spec.ts.snap +++ /dev/null @@ -1,22 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`ActiveSelection sets coords after attaching to canvas 1`] = ` -{ - "bl": Point { - "x": 100, - "y": 201, - }, - "br": Point { - "x": 201, - "y": 201, - }, - "tl": Point { - "x": 100, - "y": 100, - }, - "tr": Point { - "x": 201, - "y": 100, - }, -} -`; diff --git a/src/util/misc/objectEnlive.ts b/src/util/misc/objectEnlive.ts index 16b90498933..e160f85baeb 100644 --- a/src/util/misc/objectEnlive.ts +++ b/src/util/misc/objectEnlive.ts @@ -1,12 +1,18 @@ import { noop } from '../../constants'; import type { Pattern } from '../../Pattern'; import type { FabricObject } from '../../shapes/Object/FabricObject'; -import type { Abortable, TCrossOrigin, TFiller } from '../../typedefs'; +import type { + Abortable, + Constructor, + TCrossOrigin, + TFiller, +} from '../../typedefs'; import { createImage } from './dom'; import { classRegistry } from '../../ClassRegistry'; import type { BaseFilter } from '../../filters/BaseFilter'; import type { FabricObject as BaseFabricObject } from '../../shapes/Object/Object'; import { FabricError, SignalAbortedError } from '../internals/console'; +import type { Gradient } from '../../gradient'; export type LoadImageOptions = Abortable & { /** @@ -88,13 +94,14 @@ export const enlivenObjects = < Promise.all( objects.map((obj) => classRegistry - .getClass(obj.type) - .fromObject(obj, { - signal, - reviver, - }) - .then((fabricInstance: T) => { - reviver(obj, fabricInstance); + .getClass< + Constructor & { + fromObject(options: any, context: Abortable): Promise; + } + >(obj.type) + .fromObject(obj, { signal }) + .then((fabricInstance) => { + reviver(obj, fabricInstance); instances.push(fabricInstance); return fabricInstance; }) @@ -137,7 +144,7 @@ export const enlivenObjectEnlivables = < } // gradient if (value.colorStops) { - return new (classRegistry.getClass('gradient'))(value); + return new (classRegistry.getClass('gradient'))(value); } // clipPath if (value.type) { @@ -151,7 +158,7 @@ export const enlivenObjectEnlivables = < // pattern if (value.source) { return classRegistry - .getClass('pattern') + .getClass('pattern') .fromObject(value, { signal }) .then((pattern: Pattern) => { instances.push(pattern); diff --git a/src/util/typeAssertions.spec.ts b/src/util/typeAssertions.spec.ts new file mode 100644 index 00000000000..c3a9721283c --- /dev/null +++ b/src/util/typeAssertions.spec.ts @@ -0,0 +1,125 @@ +import { + isTextObject, + isSerializableFiller, + isPattern, + isPath, + isFiller, + isActiveSelection, +} from './typeAssertions'; +import { FabricText } from '../shapes/Text/Text'; +import { IText } from '../shapes/IText/IText'; +import { Textbox } from '../shapes/Textbox'; +import { Path } from '../shapes/Path'; +import { Pattern } from '../Pattern/Pattern'; +import { Gradient } from '../gradient/Gradient'; +import { Shadow } from '../Shadow'; +import { ActiveSelection } from '../shapes/ActiveSelection'; +import { Canvas } from '../canvas/Canvas'; +import { Group } from '../shapes/Group'; + +describe('typeAssertions', () => { + describe('isTextObject', () => { + test('can detect FabricText', () => { + const text = new FabricText('hello'); + expect(isTextObject(text)).toBe(true); + }); + test('can detect IText', () => { + const text = new IText('hello'); + expect(isTextObject(text)).toBe(true); + }); + test('can detect Textbox', () => { + const text = new Textbox('hello'); + expect(isTextObject(text)).toBe(true); + }); + test('can detect other subclasses', () => { + class NewText extends Textbox { + status = 'new'; + static type = 'NewText'; + } + const newText = new NewText('hello world'); + expect(isTextObject(newText)).toBe(true); + }); + test('can safeguard agains other FabricObjects', () => { + const path = new Path('M 0 0 L 1 1'); + expect(isTextObject(path)).toBe(false); + }); + }); + describe('isPath', () => { + test('can detect Path', () => { + const path = new Path('M 0 0 L 1 1'); + expect(isPath(path)).toBe(true); + }); + test('can detect other subclasses', () => { + class NewPath extends Path { + status = 'new'; + static type = 'NewPath'; + } + const newPath = new NewPath('M 0 0 L 1 1'); + expect(isPath(newPath)).toBe(true); + }); + test('can guard against other FabricObjects', () => { + const text = new Textbox('hello'); + expect(isPath(text)).toBe(false); + }); + }); + describe('isPattern', () => { + test('can detect Pattern', () => { + const pattern = new Pattern({ + source: new Image(100, 100), + }); + expect(isPattern(pattern)).toBe(true); + }); + test('can guard against Gradient', () => { + const gradient = new Gradient({ type: 'linear' }); + expect(isPattern(gradient)).toBe(false); + }); + test('can guard against Shadow', () => { + const shadow = new Shadow({ offsetX: 10 }); + expect(isPattern(shadow as unknown as Pattern)).toBe(false); + }); + }); + describe('isFiller', () => { + test('can detect Pattern', () => { + const pattern = new Pattern({ + source: new Image(100, 100), + }); + expect(isFiller(pattern)).toBe(true); + }); + test('can detect Gradient', () => { + const gradient = new Gradient({ type: 'linear' }); + expect(isFiller(gradient)).toBe(true); + }); + test('can guard against string', () => { + const filler = 'red'; + expect(isFiller(filler)).toBe(false); + }); + test('can guard against null', () => { + const filler = null; + expect(isFiller(filler)).toBe(false); + }); + }); + describe('isSerializableFiller', () => { + test('can detect Pattern', () => { + const pattern = new Pattern({ + source: new Image(100, 100), + }); + expect(isSerializableFiller(pattern)).toBe(true); + }); + test('can detect Gradient', () => { + const gradient = new Gradient({ type: 'linear' }); + expect(isSerializableFiller(gradient)).toBe(true); + }); + }); + describe('isActiveSelection', () => { + test('can detect activeSelection', () => { + const as = new ActiveSelection([], { + canvas: new Canvas(), + }); + expect(isActiveSelection(as)).toBe(true); + }); + test('can safeguard against a group', () => { + const group = new Group([]); + expect(isActiveSelection(group)).toBe(false); + }); + }); +}); diff --git a/src/util/typeAssertions.ts b/src/util/typeAssertions.ts index 6c7a8a54316..765da5a8ab9 100644 --- a/src/util/typeAssertions.ts +++ b/src/util/typeAssertions.ts @@ -3,6 +3,7 @@ import type { TFiller } from '../typedefs'; import type { FabricText } from '../shapes/Text/Text'; import type { Pattern } from '../Pattern'; import type { Path } from '../shapes/Path'; +import type { ActiveSelection } from '../shapes/ActiveSelection'; export const isFiller = ( filler: TFiller | string | null @@ -20,20 +21,29 @@ export const isPattern = (filler: TFiller): filler is Pattern => { return ( !!filler && (filler as Pattern).offsetX !== undefined && - (filler as Pattern).source !== undefined + Object.hasOwn(filler, 'source') ); }; export const isTextObject = ( fabricObject?: FabricObject ): fabricObject is FabricText => { - // we could use instanceof but that would mean pulling in Text code for a simple check - // @todo discuss what to do and how to do - return !!fabricObject && fabricObject.isType('Text', 'IText', 'Textbox'); + return ( + !!fabricObject && + typeof (fabricObject as FabricText)._renderText === 'function' + ); }; export const isPath = (fabricObject?: FabricObject): fabricObject is Path => { // we could use instanceof but that would mean pulling in Text code for a simple check // @todo discuss what to do and how to do - return !!fabricObject && fabricObject.isType('Path'); + return ( + !!fabricObject && + typeof (fabricObject as Path)._renderPathCommands === 'function' + ); }; + +export const isActiveSelection = ( + fabricObject?: FabricObject +): fabricObject is ActiveSelection => + !!fabricObject && Object.hasOwn(fabricObject, 'multiSelectionStacking'); diff --git a/test/unit/activeselection.js b/test/unit/activeselection.js index 93d58dccc6a..99fb2a4ca5a 100644 --- a/test/unit/activeselection.js +++ b/test/unit/activeselection.js @@ -88,7 +88,11 @@ skewX: 0, skewY: 0, strokeUniform: false, - objects: clone.objects + objects: clone.objects, + layoutManager: { + type: 'layoutManager', + strategy: 'fit-content', + }, }; assert.deepEqual(clone, expectedObject); diff --git a/test/unit/animation.js b/test/unit/animation.js index 56891f519fa..46b1275bb60 100644 --- a/test/unit/animation.js +++ b/test/unit/animation.js @@ -313,7 +313,7 @@ QUnit.test('animate with color', function(assert) { var done = assert.async(), object = new fabric.Object(), - properties = fabric.Object.getDefaults().colorProperties; + properties = fabric.Object.colorProperties; properties.forEach(function (prop, index) { object.set(prop, 'red'); diff --git a/test/unit/canvas.js b/test/unit/canvas.js index 45f56c82617..a5737d76b52 100644 --- a/test/unit/canvas.js +++ b/test/unit/canvas.js @@ -100,6 +100,7 @@ }, afterEach: function () { fabric.config.restoreDefaults(); + fabric.classRegistry.setClass(fabric.ActiveSelection); return canvas.dispose(); } }); @@ -315,7 +316,7 @@ var rect1 = new fabric.Rect(); var rect2 = new fabric.Rect(); canvas.add(rect1, rect2); - var activeSelection = canvas.getActiveSelection(); + var activeSelection = new fabric.ActiveSelection(); activeSelection.add(rect1, rect2); canvas.setActiveObject(activeSelection); canvas.discardActiveObject(); @@ -341,18 +342,21 @@ }); function initActiveSelection(canvas, activeObject, target, multiSelectionStacking) { - const activeSelection = canvas.getActiveSelection(); - activeSelection.multiSelectionStacking = multiSelectionStacking; + fabric.classRegistry.setClass(class TextActiveSelection extends fabric.ActiveSelection { + static getDefaults() { + return {...super.getDefaults(),multiSelectionStacking} + } + }); canvas.setActiveObject(activeObject); canvas.handleMultiSelection({ clientX: 0, clientY: 0, [canvas.selectionKey]: true }, target); } function updateActiveSelection(canvas, existing, target, multiSelectionStacking) { - const activeSelection = canvas.getActiveSelection(); + const activeSelection = new fabric.ActiveSelection([], {canvas}); activeSelection.multiSelectionStacking = multiSelectionStacking; activeSelection.add(...existing); canvas.setActiveObject(activeSelection); - canvas.handleMultiSelection({ clientX: 1, clientY: 1, [canvas.selectionKey]: true, target: canvas.upperCanvasEl }, target); + canvas.handleMultiSelection({ clientX: 1, clientY: 1, [canvas.selectionKey]: true, target: canvas.upperCanvasEl }, target || activeSelection); } QUnit.test('create active selection fires selection:created', function(assert) { @@ -504,7 +508,7 @@ let isFired = false; rect3.on('deselected', () => { isFired = true; }); canvas.add(rect1, rect2, rect3); - updateActiveSelection(canvas, [rect1, rect2, rect3], canvas.getActiveSelection(), 'selection-order'); + updateActiveSelection(canvas, [rect1, rect2, rect3], null, 'selection-order'); assert.deepEqual(canvas.getActiveObjects(), [rect1, rect2], 'rect3 was deselected'); assert.ok(isFired, 'fired deselected'); }); @@ -514,9 +518,9 @@ const rect2 = new fabric.Rect({ left: -10, width: 5, height: 5 }); const rect3 = new fabric.Rect({ top: 10, width: 10, height: 10 }); canvas.add(rect1, rect2, rect3); - updateActiveSelection(canvas, [rect1, rect2, rect3], canvas.getActiveSelection(), 'selection-order'); + updateActiveSelection(canvas, [rect1, rect2, rect3], null, 'selection-order'); assert.deepEqual(canvas.getActiveObjects(), [rect1, rect2, rect3], 'nothing happened'); - assert.ok(canvas.getActiveSelection() === canvas.getActiveObject(), 'still selected'); + assert.ok(canvas.getActiveObject() === canvas.getActiveObject(), 'still selected'); }); QUnit.test('multiselection: selecting a target behind active selection', assert => { @@ -525,11 +529,11 @@ const rect3 = new fabric.Rect({ top: 10, width: 10, height: 10 }); canvas.add(rect1, rect2, rect3); initActiveSelection(canvas, rect1, rect3); - assert.ok(canvas.getActiveSelection() === canvas.getActiveObject(), 'selected'); + assert.ok(canvas.getActiveObject() === canvas.getActiveObject(), 'selected'); assert.deepEqual(canvas.getActiveObjects(), [rect1, rect3], 'created'); canvas.__onMouseDown({ clientX: 7, clientY: 7, [canvas.selectionKey]: true }); assert.deepEqual(canvas.getActiveObjects(), [rect1, rect2, rect3], 'added from behind active selection'); - assert.ok(canvas.getActiveSelection() === canvas.getActiveObject(), 'still selected'); + assert.ok(canvas.getActiveObject() === canvas.getActiveObject(), 'still selected'); }); QUnit.test('setActiveObject fires deselected', function(assert) { @@ -711,7 +715,7 @@ var rect1 = new fabric.Rect(); var rect2 = new fabric.Rect(); var rect3 = new fabric.Rect(); - var activeSelection = canvas.getActiveSelection(); + var activeSelection = new fabric.ActiveSelection(); activeSelection.add(rect1, rect2); canvas.setActiveObject(activeSelection); rect1.on('deselected', function( ) { @@ -1095,7 +1099,7 @@ canvas.add(rect1); canvas.add(rect2); canvas.add(rect3); - const group = canvas.getActiveSelection(); + const group = new fabric.ActiveSelection(); group.subTargetCheck = true; group.add(rect1, rect2); group.cornerSize = 2; @@ -1139,7 +1143,7 @@ canvas.preserveObjectStacking = true; canvas.add(rect1); canvas.add(rect2); - const group = canvas.getActiveSelection(); + const group = new fabric.ActiveSelection(); group.add(rect1, rect2); canvas.setActiveObject(group); target = canvas.findTarget({ @@ -1218,7 +1222,7 @@ canvas.add(rect, circle); var json = JSON.stringify(canvas); - const activeSelection = canvas.getActiveSelection(); + const activeSelection = new fabric.ActiveSelection(); activeSelection.add(rect, circle); canvas.setActiveObject(activeSelection); var jsonWithActiveGroup = JSON.stringify(canvas); @@ -1760,11 +1764,6 @@ assert.equal(canvas.getActiveObject(), group); }); - QUnit.test('getActiveSelection', function(assert) { - assert.ok(canvas.getActiveSelection() === canvas._activeSelection, 'should equal'); - assert.ok(canvas.getActiveSelection() instanceof fabric.ActiveSelection, 'is active selection'); - }); - QUnit.test('item', function(assert) { assert.ok(typeof canvas.item === 'function'); @@ -1782,7 +1781,7 @@ }); QUnit.test('discardActiveObject on ActiveSelection', function(assert) { - var group = new fabric.ActiveSelection([makeRect(), makeRect()]); + var group = new fabric.ActiveSelection([makeRect(), makeRect()], {canvas}); canvas.setActiveObject(group); canvas.discardActiveObject(); assert.equal(canvas.getActiveObject(), null, 'removing active group sets it to null'); @@ -1878,7 +1877,7 @@ var circle = new fabric.Circle({ radius: 50, left: 50, top: 50 }); canvas.add(rect, circle); var svg = canvas.toSVG(); - const activeSelection = canvas.getActiveSelection(); + const activeSelection = new fabric.ActiveSelection(); activeSelection.add(rect, circle); canvas.setActiveObject(activeSelection); var svgWithActiveGroup = canvas.toSVG(); @@ -2272,7 +2271,7 @@ { start: 28, end: 33, message: 'stroke tolerance not affected by vpt', transparent: false }, { start: 33, end: 40, message: 'outside', transparent: true }, ]); - }); + }); }); QUnit.test('canvas getTopContext', function(assert) { diff --git a/test/unit/canvas_dispose.js b/test/unit/canvas_dispose.js index d94a7a36b2a..320a06111b7 100644 --- a/test/unit/canvas_dispose.js +++ b/test/unit/canvas_dispose.js @@ -47,7 +47,7 @@ function assertCanvasDisposing(klass) { assert.equal(el.height, 200, 'restored height'); }); - + QUnit.test('dispose: clear references async', async function (assert) { const canvas = new klass(null, { renderOnAddRemove: false }); assert.ok(typeof canvas.dispose === 'function'); @@ -248,7 +248,7 @@ function testCanvasDisposing() { wrapperEl = canvas.wrapperEl; lowerCanvasEl = canvas.lowerCanvasEl; upperCanvasEl = canvas.upperCanvasEl; - const activeSel = canvas.getActiveSelection(); + const activeSel = new fabric.ActiveSelection(); assert.equal(parentEl.childNodes.length, 1, 'parentEl has still 1 child only'); assert.equal(wrapperEl.childNodes.length, 2, 'wrapper should have 2 children'); assert.equal(wrapperEl.tagName, 'DIV', 'We wrapped canvas with DIV'); @@ -306,7 +306,8 @@ function testCanvasDisposing() { wrapperEl = canvas.wrapperEl; lowerCanvasEl = canvas.lowerCanvasEl; upperCanvasEl = canvas.upperCanvasEl; - const activeSel = canvas.getActiveSelection(); + const activeSel = new fabric.ActiveSelection(); + canvas.setActiveObject(activeSel) assert.equal(parentEl.childNodes.length, 1, 'parentEl has still 1 child only'); assert.equal(wrapperEl.childNodes.length, 2, 'wrapper should have 2 children'); assert.equal(wrapperEl.tagName, 'DIV', 'We wrapped canvas with DIV'); @@ -314,7 +315,7 @@ function testCanvasDisposing() { assert.equal(wrapperEl.childNodes[0], lowerCanvasEl, 'First child should be lowerCanvas'); assert.equal(wrapperEl.childNodes[1], upperCanvasEl, 'Second child should be upperCanvas'); assert.equal(canvas.elements._originalCanvasStyle, elStyle, 'saved original canvas style for disposal'); - assert.ok(activeSel instanceof fabric.ActiveSelection, 'active selection'); + assert.ok(canvas.getActiveObject() === activeSel, 'active selection'); assert.notEqual(el.style.cssText, canvas.elements._originalCanvasStyle, 'canvas el style has been changed'); if (!isNode()) { assert.equal(parentEl.childNodes[0], wrapperEl, 'wrapperEl is appended to rootNode'); @@ -322,7 +323,7 @@ function testCanvasDisposing() { //looks like i cannot use parentNode //equal(wrapperEl, lowerCanvasEl.parentNode, 'lowerCanvas is appended to wrapperEl'); //equal(wrapperEl, upperCanvasEl.parentNode, 'upperCanvas is appended to wrapperEl'); - //equal(parentEl, wrapperEl.parentNode, 'wrapperEl is appendend to rootNode'); + //equal(parentEl, wrapperEl.parentNode, 'wrapperEl is appended to rootNode'); assert.equal(parentEl.childNodes.length, 1, 'parent div should have 1 child'); assert.notEqual(parentEl.firstChild, canvas.getElement(), 'canvas should not be parent div firstChild'); assert.ok(typeof canvas.dispose === 'function'); @@ -334,7 +335,7 @@ function testCanvasDisposing() { await canvas.dispose(); assert.equal(fabric.runningAnimations.length, 0, 'dispose should clear running animations'); assert.equal(canvas.getObjects().length, 0, 'dispose should clear canvas'); - assert.equal(canvas.getActiveSelection(), undefined, 'dispose should dispose active selection'); + assert.equal(canvas.getActiveObject(), undefined, 'dispose should dispose active selection'); assert.equal(activeSel.size(), 0, 'dispose should dispose active selection'); assert.equal(parentEl.childNodes.length, 1, 'parent has always 1 child'); if (!isNode()) { diff --git a/test/unit/canvas_events.js b/test/unit/canvas_events.js index 030441be5a3..48c14d79b34 100644 --- a/test/unit/canvas_events.js +++ b/test/unit/canvas_events.js @@ -26,55 +26,6 @@ } }); - QUnit.test('_beforeTransform', function (assert) { - assert.ok(typeof canvas._beforeTransform === 'function'); - - var canvasOffset = canvas.calcOffset(); - var rect = new fabric.Rect({ left: 50, top: 50, width: 50, height: 50 }); - canvas.add(rect); - canvas.setActiveObject(rect); - - var t, counter = 0; - canvas.on('before:transform', function (options) { - t = options.transform.target; - counter++; - }); - - var corners = ['tl', 'mt', 'tr', 'mr', 'br', 'mb', 'bl', 'ml', 'mtr']; - for (var i = 0; i < corners.length; i++) { - var co = rect.oCoords[corners[i]].corner; - var e = { - clientX: canvasOffset.left + (co.tl.x + co.tr.x) / 2, - clientY: canvasOffset.top + (co.tl.y + co.bl.y) / 2, - which: 1, - target: canvas.upperCanvasEl - }; - canvas._setupCurrentTransform(e, rect); - } - assert.equal(counter, corners.length, 'before:transform should trigger onBeforeScaleRotate for all corners'); - assert.equal(t, rect, 'before:transform should receive correct target'); - - canvas.zoomToPoint({ x: 25, y: 25 }, 2); - - t = null; - counter = 0; - for (var i = 0; i < corners.length; i++) { - var c = corners[i]; - var co = rect.oCoords[c].corner; - var e = { - clientX: canvasOffset.left + (co.tl.x + co.tr.x) / 2, - clientY: canvasOffset.top + (co.tl.y + co.bl.y) / 2, - which: 1, - target: canvas.upperCanvasEl - }; - canvas._beforeTransform(e, rect); - } - assert.equal(counter, corners.length, 'before:transform should trigger onBeforeScaleRotate when canvas is zoomed'); - assert.equal(t, rect, 'before:transform should receive correct target when canvas is zoomed'); - - canvas.zoomToPoint({ x: 0, y: 0 }, 1); - }); - QUnit.test('cache and reset event properties', function(assert) { var e = { clientX: 30, clientY: 30, which: 1, target: canvas.upperCanvasEl }; var rect = new fabric.Rect({ width: 60, height: 60 }); @@ -759,7 +710,7 @@ }); } canvas.loadFromJSON(SUB_TARGETS_JSON).then(function() { - var activeSelection = canvas.getActiveSelection(); + var activeSelection = new fabric.ActiveSelection(); activeSelection.add(...canvas.getObjects()); canvas.setActiveObject(activeSelection); setSubTargetCheckRecursive(activeSelection); diff --git a/test/unit/env.js b/test/unit/env.js index 315c7b65300..c5b8d171518 100644 --- a/test/unit/env.js +++ b/test/unit/env.js @@ -5,12 +5,17 @@ QUnit.module('env', (hooks) => { delete global.document; }) + QUnit.test('import/require of `main` field of package.json throws', assert => { + assert.rejects(import('../..'), 'should not resolve main'); + assert.throws(() => require('../..'), 'should not resolve main'); + }); + QUnit.test('import/require sets env', async assert => { const done = assert.async(); global.window = { devicePixelRatio: 1.25 }; global.document = { foo: 'bar' }; const imported = await import('../../dist/index.node.cjs'); - const required = require('../..'); + const required = require('../../dist/index.node.cjs'); assert.equal(imported.getEnv().document.foo, undefined, 'should be node env'); assert.equal(required.getEnv().document.foo, undefined, 'should be node env'); done(); diff --git a/test/unit/group.js b/test/unit/group.js index 2d2c320c8a6..b8f94144f6d 100644 --- a/test/unit/group.js +++ b/test/unit/group.js @@ -197,6 +197,10 @@ strokeUniform: false, subTargetCheck: false, interactive: false, + layoutManager: { + type: 'layoutManager', + strategy: 'fit-content', + }, }; assert.deepEqual(clone, expectedObject); diff --git a/test/unit/itext_click_behaviour.js b/test/unit/itext_click_behaviour.js index a47de28b91f..7e0d66e55cf 100644 --- a/test/unit/itext_click_behaviour.js +++ b/test/unit/itext_click_behaviour.js @@ -243,6 +243,7 @@ iText.selected = true; iText.__lastSelected = true; iText.__corner = 'mt'; + iText.setCoords(); iText.mouseUpHandler({ e: {} }); assert.equal(iText.isEditing, false, 'iText should not enter editing'); iText.exitEditing(); diff --git a/test/unit/object.js b/test/unit/object.js index f9ec160a50a..9f8350dd6b6 100644 --- a/test/unit/object.js +++ b/test/unit/object.js @@ -18,22 +18,6 @@ } }); - QUnit.test('constructor & properties', function(assert) { - assert.ok(typeof fabric.Object === 'function'); - - var cObj = new fabric.Object(); - - assert.ok(cObj); - assert.ok(cObj instanceof fabric.FabricObject); - assert.ok(cObj.constructor === fabric.Object); - - assert.equal(cObj.constructor.type, 'FabricObject'); - assert.equal(cObj.includeDefaultValues, true); - assert.equal(cObj.selectable, true); - - assert.equal(cObj.objectCaching, !isNode(), 'object caching default value'); - }); - QUnit.test('get', function(assert) { var cObj = new fabric.Object({ left: 11, diff --git a/test/unit/rect.js b/test/unit/rect.js index 65128709f08..1a18c4ff6d6 100644 --- a/test/unit/rect.js +++ b/test/unit/rect.js @@ -204,10 +204,10 @@ }); QUnit.test('toObject without default values', function(assert) { - var options = { type: 'Rect', width: 69, height: 50, left: 10, top: 20, version: fabric.version, }; + var options = { width: 69, height: 50, left: 10, top: 20, version: fabric.version, }; var rect = new fabric.Rect(options); rect.includeDefaultValues = false; - assert.deepEqual(rect.toObject(), options); + assert.deepEqual(rect.toObject(), { type: 'Rect', ...options }); }); QUnit.test('paintFirst life cycle', function(assert) {