Import Cobalt 16.136005
Change-Id: I2b9198982828ad841d50902b145910c0aeb689d3
diff --git a/src/third_party/skia/site/METADATA b/src/third_party/skia/site/METADATA
new file mode 100644
index 0000000..5c6310b
--- /dev/null
+++ b/src/third_party/skia/site/METADATA
@@ -0,0 +1,4 @@
+{
+ "dirOrder": ["user", "dev"],
+ "fileOrder": []
+}
diff --git a/src/third_party/skia/site/dev/METADATA b/src/third_party/skia/site/dev/METADATA
new file mode 100644
index 0000000..ee43182
--- /dev/null
+++ b/src/third_party/skia/site/dev/METADATA
@@ -0,0 +1,13 @@
+{
+ "dirOrder": [
+ "contrib",
+ "tools",
+ "testing",
+ "design",
+ "present",
+ "runtime",
+ "chrome",
+ "sheriffing"
+ ],
+ "fileOrder": []
+}
diff --git a/src/third_party/skia/site/dev/chrome/blink.md b/src/third_party/skia/site/dev/chrome/blink.md
new file mode 100644
index 0000000..acfaef9
--- /dev/null
+++ b/src/third_party/skia/site/dev/chrome/blink.md
@@ -0,0 +1,86 @@
+Blink layout tests
+==================
+
+How to land Skia changes that change Blink layout test results.
+
+Changes that affect a small number of layout test results
+---------------------------------------------------------
+Changes affecting fewer than ~20 layout tests can be rebaselined without
+special coordination with the Blink gardener using these steps:
+
+1. Prepare your Skia change, taking note of which layout tests will turn red
+ \(see http://www.chromium.org/developers/testing/webkit-layout-tests for more
+ detail on running the Blink layout tests\).
+2. Check in your code to the Skia repo.
+3. Ahead of the Skia auto roll including your change, manually push a change to the
+ Blink LayoutTests/TestExpectations [file](https://chromium.googlesource.com/chromium/src/+/master/third_party/WebKit/LayoutTests/TestExpectations),
+ flagging tests expected to fail as a result of your change with \[ NeedsManualRebaseline \].
+4. Wait for the Skia roll to land successfully.
+5. Check in another change to the Blink TestExpectations file changing the flags to
+ \[ NeedsRebaseline\], which will prompt the automatic rebaseline.
+
+
+
+Changes that affect a large number of test results
+--------------------------------------------------
+Where a 'large number' or 'many' means more than about 20.
+Follow the instructions below:
+
+In the following the term 'code suppression' means a build flag \(a\.k\.a\. define\).
+Such code suppressions should be given a name with the form SK\_IGNORE\_xxx\_FIX.
+
+Updating the version of Skia in Chromium is called a 'roll'.
+The Auto Roll Bot performs this roll multiple times per day, and can also be done manually.
+See https://chromium.googlesource.com/chromium/src/+log/master/DEPS and search for skia\-deps\-roller.
+
+### Setup
+#### Code suppression does not yet exist \- Direct method
+1. Make a change in Skia which will change many Blink layout tests.
+2. Put the change behind a code suppression.
+3. Check in the change to the Skia repository.
+4. Manually roll Skia or append the autoroll with the code suppression to
+ Chromium's 'skia/chromium\_skia\_defines\.gypi'
+
+#### Code suppression does not yet exist \- Alternate method
+1. Add code suppression to Chromium's 'skia/chromium\_skia\_defines\.gypi' before making code
+ changes in Skia.
+2. Make a change in Skia which will change many Blink layout tests.
+3. Put the change behind a code suppression.
+4. Check in the change to the Skia repository.
+5. Wait for Skia roll into Chromium.
+
+#### Code suppression exists in header
+1. Remove code suppression from header file in Chromium and add code suppression to
+ Chromium's 'skia/chromium\_skia\_defines\.gypi'.
+ The code suppression cannot be in a header file and a defined in a gyp file at the
+ same time or a multiple definition warning will be treated as an error and break
+ the Chromium build.
+
+### Rebaseline
+1. Choose a time when the Blink tree is likely to be quiet. Avoid PST afternoons in
+ particular. The bigger the change, the more important this is. Regardless,
+ determine who the Blink gardener is and notify them. You will be making the
+ Chromium\.WebKit tree very red for an extended period, and the gardener needs to
+ know that they are not expected to fix it.
+2. Create a CL removing the code suppression from Chromium's
+ skia/chromium\_skia\_defines\.gypi while simultaneously adding [ NeedsRebaseline ]
+ lines to Blink's LayoutTests/TestExpectations [file](https://chromium.googlesource.com/chromium/src/+/master/third_party/WebKit/LayoutTests/TestExpectations).
+ Then the auto rebaseline bot will take care of the work of actually checking in the
+ new images. This is generally acceptable for up to 600 or so rebaselined images.
+ Above that you might still use [ NeedsRebaseline ], but it's best to coordinate with
+ the gardener/sheriff. This should go through the CQ cleanly.
+3. Be careful with tests that are already failing or flakey. These may or may not need
+ to be rebaselined and flakey tests should not be removed from TestExpectations
+ regardless. In such cases revert the TestExpectations changes before committing.
+4. If you are not the one handling the cleanup step, please open a Skia Issue of the
+ form
+ Title: "Remove code suppression SK\_IGNORE\_xxx\_FIX\."
+ Comment: "Code suppression SK\_IGNORE\_xxx\_FIX rebaselined with Blink revision
+ 123456\." and assign it to the individual responsible for the cleanup step.
+
+### Cleanup
+1. Remove the now unused old code from Skia and any defines which were introduced
+ to suppress the new code.
+2. Check in the cleanup change to the Skia repository.
+3. Wait for Skia roll into Chromium.
+
diff --git a/src/third_party/skia/site/dev/chrome/changes.md b/src/third_party/skia/site/dev/chrome/changes.md
new file mode 100644
index 0000000..af829b4
--- /dev/null
+++ b/src/third_party/skia/site/dev/chrome/changes.md
@@ -0,0 +1,35 @@
+Chrome changes
+==============
+
+If your change modifies the Skia API, you may also need to land a change in Chromium.
+
+The strategy you use to synchronize changes in the Skia and Chromium
+repositories may differ based on the nature of the change, but in general, we
+recommend using build flag suppressions \(defines\)\.
+We also prefer making the old code path opt-in where possible.
+
+Method 1 \(preferred\) \- Make the old code path opt\-in for Chromium
+
+ * Add new code to Skia, leaving the old code in place.
+ * Deprecate the old code path so that it must be enabled with a flag such as
+ 'SK_SUPPORT_LEGACY_XXX'.
+ * Synchronize the above changes in Skia with a Chromium commit to
+ 'skia/skia_common.gypi' or 'skia/config/SkUserConfig.h' to enable the
+ deprecated Skia API.
+ * Note that the code suppression cannot exist in both the header file and
+ the gyp file, it should only reside in one location.
+ * Test the new or updated Skia API within Chromium.
+ * Remove the flag and code when the legacy code path is no longer in use.
+
+Method 2 \- Make the new code path opt\-in for Chromium
+
+ * Add new code to Skia, suppressed by a flag.
+ * Leave the old code path in place.
+ * Set the flag in Chromium's 'skia/skia_common.gypi' or
+ 'skia/config/SkUserConfig.h' to enable the new or updated Skia API.
+ * Test the new or updated Skia API within Chromium.
+ * Remove the code suppression \(and code\) when the legacy API is no longer
+ in use.
+
+If your changes will affect Blink layout tests, see detailed instructions about
+how to synchronize the changes between Skia, Blink, and Chromium [here](./blink).
diff --git a/src/third_party/skia/site/dev/chrome/commandbuffer.md b/src/third_party/skia/site/dev/chrome/commandbuffer.md
new file mode 100644
index 0000000..2afa5c9
--- /dev/null
+++ b/src/third_party/skia/site/dev/chrome/commandbuffer.md
@@ -0,0 +1,22 @@
+Chromium Command Buffer
+==========================
+
+It is possible to run Skia's correctness tool, dm, and benchmarking tool,
+nanobench, on top of the GL ES interface provided by Chromium's command
+buffer.
+
+The Skia tools are always built with this support. They dynamically load
+the command buffer as a shared library and thus no GYP/GN flags are
+required.
+
+The command buffer standalone shared library is built in a Chromium checkout
+by building the 'command_buffer_gles2' target. The command buffer should be
+built with the is_component_build in GN set to false. This will produce a .so,
+.dylib, or .dll depending on the target OS. This should be copied alongside
+the dm or nanobench executable built from a Skia repository.
+
+Both tools have a 'commandbuffer' config which can be used with the --config
+option to the tool and will run the tests or benchmarks using the command buffer
+library. Unit tests in dm always run on all appropriate and available backends
+regardless of the --config flag.
+
diff --git a/src/third_party/skia/site/dev/chrome/index.md b/src/third_party/skia/site/dev/chrome/index.md
new file mode 100644
index 0000000..d715304
--- /dev/null
+++ b/src/third_party/skia/site/dev/chrome/index.md
@@ -0,0 +1,21 @@
+Skia in Chrome
+==============
+
+Changes to the Skia repository will be rolled into Chromium (and Blink) by the
+AutoRoll bot several times per day.
+
+If you have a Skia change that needs to be tested in Chrome or Blink, or which
+requires associated changes in those repositories, see the guides in this
+section for tips on execution.
+
+For problems in Chromium related to Skia rolls:
+
+ * Go to https://autoroll.skia.org. Login with google.com account and click
+ the STOP button to pause new rolls.
+ * Revert the offending DEPS roll.
+ * If an obvious owner cannot be found in the list of CLs, assign to the Skia
+ Sheriff, listed at the top of https://status.skia.org and as a reviewer
+ on the roll CL.
+ * If the Sheriff cannot be assigned, cc them and assign the issue to hcm@.
+
+For more tips on bug triage and labeling, see the [Issue Tracker page](../../user/issue-tracker/).
diff --git a/src/third_party/skia/site/dev/chrome/multi_repo_trybots.md b/src/third_party/skia/site/dev/chrome/multi_repo_trybots.md
new file mode 100644
index 0000000..4c6f09d
--- /dev/null
+++ b/src/third_party/skia/site/dev/chrome/multi_repo_trybots.md
@@ -0,0 +1,84 @@
+Multiple repo Chromium trybots
+==============================
+
+When a proposed Skia change will require a change in Chromium or Blink it is
+often helpful to locally create the Chromium and Blink changes and test with the
+proposed Skia change. This often happens with Skia API changes and changes
+which affect Blink layout tests. While simple to do locally, this explains how
+to do so on the Chromium trybots.
+
+Skia only changes
+-----------------
+If the Skia patch is already in Gerrit and there are no associated Chromium
+changes, then it is possible to just run the Chromium trybots. This will apply
+the Skia patch and run the bot.
+
+Skia and Chromium changes
+-------------------------
+If the Skia patch is already in Gerrit and there are associated Chromium
+changes, then in the Chromium CL add the following to
+\<chromium>/src/DEPS in the 'hooks' array.
+
+ {
+ 'name': 'fetch_custom_patch',
+ 'pattern': '.',
+ 'action': [ 'git', '-C', 'src/third_party/skia/',
+ 'fetch', 'https://skia.googlesource.com/skia', 'refs/changes/13/10513/13',
+ ],
+ },
+ {
+ 'name': 'apply_custom_patch',
+ 'pattern': '.',
+ 'action': ['git', '-C', 'src/third_party/skia/',
+ 'cherry-pick', 'FETCH_HEAD',
+ ],
+ },
+
+Modify the 'refs/changes/XX/YYYY/ZZ' to the appropriate values (where YYYY is
+the numeric change number, ZZ is the patch set number and XX is the last two
+digits of the numeric change number). This can be seen in the 'Download' link on
+Gerrit.
+
+If this is for a project other than Skia, update the checkout directory and
+fetch source. Note that this can be used multiple times to apply multiple
+issues.
+
+An example of this being used can be seen at
+https://crrev.com/2786433004/#ps1 .
+
+To test locally, run `gclient runhooks` to update the Skia source code.
+Note that if your local skia patch in `third_party/skia` isn't clean (e.g., you
+already applied some patch to it), then `gclient runhooks` won't successfully
+run. In that case, run `git reset --hard` inside `third_party/skia` before
+`gclient runhooks`.
+
+Arbitrary changes
+-----------------
+If the patch is to files where the above is not possible, then it is still
+possible to patch the files manually by adding the following to
+\<chromium>/src/DEPS in the 'hooks' array just before the 'gyp' hook.
+
+ {
+ 'name': 'apply_custom_patch',
+ 'pattern': '.',
+ 'action': ['python',
+ '-c', 'from distutils.dir_util import copy_tree; copy_tree("src/patch/", "src/");'
+ ],
+ },
+
+Then, copy all 'out of tree' files into \<chromium>/src/patch/, using the same
+directory structure used by Chromium. When 'gclient runhooks' is run, the files
+in \<chromium>/src/patch/ will be copied to and overwrite corresponding files in
+\<chromium>/src/. For example, if changing \<skia>/include/core/SkPath.h, place
+a copy of the modified SkPath.h at
+\<chromium>/src/patch/third_party/skia/include/core/SkPath.h.
+
+An example of this being used can be seen at
+https://crrev.com/1866773002/#ps20001 .
+
+
+Try the patch
+-------------
+After committing a \<chromium>/src/DEPS or \<chromium>/src/patch/ change
+locally, 'git cl upload' can be used in the usual way. Be sure to add
+'COMMIT=false' to the issue description to avoid accidentally checking it in.
diff --git a/src/third_party/skia/site/dev/chrome/repo.md b/src/third_party/skia/site/dev/chrome/repo.md
new file mode 100644
index 0000000..545f154
--- /dev/null
+++ b/src/third_party/skia/site/dev/chrome/repo.md
@@ -0,0 +1,17 @@
+Working in a Chromium repo
+==========================
+
+To work on Skia inside a Chromium checkout, run the following:
+
+ cd chromium/src/third_party/skia
+ python tools/git-sync-deps
+
+This command does a minimal "just sync the DEPS" emulation of gclient sync for
+Skia into chromium/src/third_party/skia/third_party. After that, make dm or
+./gyp_skia && ninja -C out/Debug dm in chromium/src/third_party/skia will get
+you rolling.
+
+We no longer recommend the .gclient file manipulation to have Chromium DEPS also
+sync Skia's DEPS. Most of those DEPS are for building and testing only;
+Chromium doesn't need any of them, and it can be confusing and problematic if
+they somehow get mixed into the Chromium build.
diff --git a/src/third_party/skia/site/dev/contrib/c++11.md b/src/third_party/skia/site/dev/contrib/c++11.md
new file mode 100644
index 0000000..432ad88
--- /dev/null
+++ b/src/third_party/skia/site/dev/contrib/c++11.md
@@ -0,0 +1,57 @@
+C++11 in Skia
+=============
+
+Skia uses C++11. But as a library, we are technically limited by what our
+clients support and what our build bots support.
+
+Skia may also be limited by restrictions we choose put on ourselves. This
+document is not concerned with C++11 policy in Skia, only its technical
+feasibility. This is about what we can use, a superset of what we may use.
+
+The gist:
+
+- C++11 the language as supported by GCC 4.7 or later is pretty usable.
+- The C++11 standard library can generally be used, with some teething.
+- If you break a bot, that feature is not usable.
+- Local statics are not thread safe.
+
+
+Clients
+-------
+
+The clients we pay most attention to are Chrome, Android, Mozilla, and a few
+internal Google projects.
+
+Chrome builds with a recent Clang on Mac and Linux and with a recent MSVC on
+Windows. These toolchains are new enough to not be the weak link to use any
+C++11 language feature. Chromium, however, builds against libstdc++4.6.4
+(STL and runtime) on Linux. This precludes direct use of a number of type
+traits.
+
+Chrome intentionally disables thread-safe initialization of static variables,
+so we cannot rely on that. Our bots disable this too, so keep an eye on TSAN.
+
+Android builds with either a somewhat aged GCC or a recent Clang. They're
+generally not a weak link for C++11 language features. Android's C++ standard
+library had historically been a pain, but seems to work fine these days.
+
+Mozilla's current weak link is a minimum requirement of GCC 4.7. Most features
+marked in red on Mozilla's C++11 [feature
+matrix](https://developer.mozilla.org/en-US/docs/Using_CXX_in_Mozilla_code) are
+marked that way because they arrived in GCC 4.8. Their minimum-supported Clang
+and MSVC toolchains are pretty good, but MSVC 2013 will become the weak link soon.
+
+Internal Google projects tend to support C++11 completely, including the
+full C++11 standard library.
+
+
+Bots
+----
+
+Most of our bots are pretty up-to-date: the Windows bots use MSVC 2013, the Mac
+bots a recent Clang, and the Linux bots GCC 4.8 or a recent Clang. Our Android
+bots use a recent toolchain from Android (see above), and our Chrome bots use
+Chrome's toolchains (see above). I'm not exactly sure what our Chrome OS bots
+are using. They're probably our weak link right now, though problems are rare.
+
+I believe our bots' ability to use C++11 matches Mozilla's list nearly identically.
diff --git a/src/third_party/skia/site/dev/contrib/cqkeywords.md b/src/third_party/skia/site/dev/contrib/cqkeywords.md
new file mode 100644
index 0000000..b21b787
--- /dev/null
+++ b/src/third_party/skia/site/dev/contrib/cqkeywords.md
@@ -0,0 +1,76 @@
+Commit Queue Keywords
+=====================
+
+COMMIT
+------
+
+If you are working on experimental code and do not want to risk accidentally
+submitting the change via the CQ, then you can mark it with "COMMIT=false".
+The CQ will immediately abandon the change if it contains this option.
+To do a dry run through the CQ please use Gerrit's [CQ Dry Run](https://groups.google.com/a/chromium.org/forum/#!topic/chromium-dev/G5-X0_tfmok) feature.
+
+ COMMIT=false
+
+The CQ will run through its list of verifiers (reviewer check, trybots, tree check,
+presubmit check), and will close the issue instead of committing it.
+
+No-Dependency-Checks
+--------------------
+
+ No-Dependency-Checks: true
+
+The CQ rejects patchsets with open dependencies. An open dependency exists when a CL
+depends on another CL that is not yet closed. You can skip this check with this keyword.
+
+CQ_INCLUDE_TRYBOTS
+------------------
+
+Allows you to add arbitrary trybots to the CQ's list of default trybots.
+The CQ will block till these tryjobs pass just like the default list of tryjobs.
+
+This is the format of the values of this keyword:
+
+ CQ_INCLUDE_TRYBOTS=bucket1:bot1,bot2;bucket2:bot3,bot4
+
+Here are some real world examples:
+
+ CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_chromium_asan_rel_ng
+
+ CQ_INCLUDE_TRYBOTS=skia.primary:Test-Win-MSVC-ShuttleC-GPU-GTX960-x86_64-Debug-ANGLE
+
+
+No-Tree-Checks
+--------------
+
+If you want to skip the tree status checks, to make the CQ commit a CL even if the tree is closed,
+you can add the following line to the CL description:
+
+ No-Tree-Checks: true
+
+This is discouraged, since the tree is closed for a reason. However, in rare cases this is acceptable,
+primarily to fix build breakages (i.e., your CL will help in reopening the tree).
+
+No-Presubmit
+------------
+
+If you want to skip the presubmit checks, add the following line to the CL description:
+
+ No-Presubmit: true
+
+No-Try
+------
+
+If you cannot wait for the try job results, you can add the following line to the CL description:
+
+ No-Try: true
+
+The CQ will then not run any try jobs for your change and will commit the CL as soon as the tree is open, assuming the presubmit check passes.
+
+NO_MERGE_BUILDS
+---------------
+
+This keyword prevents the Skia build masters from building this commit with others. Use it when your
+commit may have effects that you don't want mis-attributed to other commits. Just include the keyword
+somewhere in the commit message:
+
+ NO_MERGE_BUILDS
diff --git a/src/third_party/skia/site/dev/contrib/directory.md b/src/third_party/skia/site/dev/contrib/directory.md
new file mode 100644
index 0000000..4edab89
--- /dev/null
+++ b/src/third_party/skia/site/dev/contrib/directory.md
@@ -0,0 +1,43 @@
+The Skia Directory
+==================
+
+* Docs & Bugs
+ - [Skia.org](https://skia.org/)
+ - [Issue Tracker](https://bug.skia.org/)
+ - [Autogenerated API
+ Documentation](https://skia-doc.commondatastorage.googleapis.com/doxygen/doxygen/html/index.html)
+
+* Code Repositories
+ - [Git repository](https://skia.googlesource.com/skia/)
+ - [Other Skia project repositories](https://skia.googlesource.com/)
+ - [Github Mirror](https://github.com/google/skia)
+ - [Code Search](https://cs.skia.org) based on the version of Skia in the
+ Chromium tree.
+
+* BuildBot Consoles
+ - [Commit Status](https://status.skia.org/)
+ - [Tree Status](https://skia-tree-status.appspot.com/) (requires login)
+ - [BuildBot Console](https://build.chromium.org/p/client.skia/console)
+ - [FYI BuildBot
+ Console](https://build.chromium.org/p/client.skia.fyi/console)
+ - [Android BuildBot
+ Console](https://build.chromium.org/p/client.skia.android/console)
+ - [Compile BuildBot
+ Console](https://build.chromium.org/p/client.skia.compile/console)
+
+* Other
+ - [Fiddle](https://fiddle.skia.org/) Try out Skia on the web!
+ - [Gold](https://gold.skia.org/) Correctness testing.
+ - [Perf](https://perf.skia.org/) Performance testing.
+ - [Mon](https://mon.skia.org/) Grafana dashboard (requires login).
+ - [Alerts](https://alerts.skia.org/) Monitor testing and bot status.
+ - [BugChomper] (https://bugchomper.skia.org/) Prioritize bugs quickly.
+ - [Code Review](https://skia-review.googlesource.com/)
+
+* Mailing Lists
+ - [Discussion Mailing List](https://groups.google.com/group/skia-discuss)
+ - [Code Review Announce
+ List](https://groups.google.com/a/skia.org/forum/#!forum/reviews)
+ - [Bug Announce
+ List](https://groups.google.com/a/skia.org/forum/#!forum/bugs)
+
diff --git a/src/third_party/skia/site/dev/contrib/flatten.md b/src/third_party/skia/site/dev/contrib/flatten.md
new file mode 100644
index 0000000..192571e
--- /dev/null
+++ b/src/third_party/skia/site/dev/contrib/flatten.md
@@ -0,0 +1,88 @@
+Flattenables
+============
+
+Many objects in Skia, such as SkShaders and other effects on SkPaint, need to be
+flattened into a data stream for either transport or as part of the key to the
+font cache. Classes for these objects should derive from SkFlattenable or one of
+its subclasses. If you create a new flattenable class, you need to make sure you
+do a few things so that it will work on all platforms:
+
+1: Override the method flatten (the default scope is protected):
+
+<!--?prettify?-->
+~~~~
+virtual void flatten(SkFlattenableWriteBuffer& buffer) const override {
+ this->INHERITED::flatten(buffer);
+ // Write any private data that needs to be stored to recreate this object
+}
+~~~~
+
+2: Override the (protected) constructor that creates an object from an
+SkFlattenableReadBuffer:
+
+<!--?prettify?-->
+~~~~
+SkNewClass(SkFlattenableReadBuffer& buffer)
+: INHERITED(buffer) {
+ // Read the data from the buffer in the same order as it was written to the
+ // SkFlattenableWriteBuffer and construct the new object
+}
+~~~~
+
+3: Declare a set of deserialization procs for your object in the class declaration:
+We have a macro for this:
+
+<!--?prettify?-->
+~~~~
+public:
+
+SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkNewClass)
+~~~~
+
+4: If your class is declared in a .cpp file or in a private header file, create a
+function to register its group:
+This occurs in cases where the classes are hidden behind a factory, like many effects
+and shaders are. Then in the parent class header file (such as SkGradientShader) you
+need to add:
+
+<!--?prettify?-->
+~~~~
+public:
+
+SK_DECLARE_FLATTENABLE_REGISTRAR_GROUP()
+~~~~
+
+Then in the cpp file you define all the members of the group together:
+
+<!--?prettify?-->
+~~~~
+SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_START(SkGroupClass)
+
+ SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkMemberClass1)
+
+ SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkMemberClass2)
+
+ // etc
+
+SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_END
+~~~~
+
+
+5: Register your flattenable with the global registrar:
+You need to add one line to SkFlattenable::InitalizeFlattenables(). To register the
+flattenable in a Skia build, that function is defined in SkGlobalInitialization_default.cpp.
+For Chromium, it is in SkGlobalInitialization_chromium.cpp.
+For a single flattenable add
+
+<!--?prettify?-->
+~~~~
+SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkNewClass)
+~~~~
+
+For a group, add
+
+<!--?prettify?-->
+~~~~
+SkGroupClass::InitializeFlattenables();
+~~~~
+
diff --git a/src/third_party/skia/site/dev/contrib/index.md b/src/third_party/skia/site/dev/contrib/index.md
new file mode 100644
index 0000000..9f74a40
--- /dev/null
+++ b/src/third_party/skia/site/dev/contrib/index.md
@@ -0,0 +1,48 @@
+Contributing to Skia
+====================
+
+Here some ways you can get involved and help us improve Skia.
+
+
+Report Bugs
+-----------
+
+Find bugs to fix or report new bugs in the [Skia issue tracker](http://bug.skia.org/).
+You can also search the [Chromium issue tracker](http://code.google.com/p/chromium/issues/list) for bugs related to graphics or Skia.
+
+Test
+----
+
+Write an application or tool that will exercise the Skia code differently than our
+current set of tests and verify that Skia works as expected. Draw something
+interesting and profile it to find ways to speed up Skia's implementation.
+We cannot always fix issues or support every scenario, but we welcome any bugs
+found so we can assess and prioritize them. (If you find _and_ fix a bug, even better!)
+
+Contribute Code
+---------------
+
+Whether you develop a new feature or a fix for an existing bug in the Skia code base,
+you will need a committer to review and approve the change. There are some steps that
+can speed up the review process:
+Keep your code submissions small and targeted.
+When possible, have a fellow contributor review your change in advance of submission.
+Propose new features to the project leads by opening a feature bug or posting to
+skia-discuss ahead of development. For more information, see [How to submit a patch](./contrib/submit).
+
+For background on the project and an outline of the types of roles interested parties
+can take on, see [Project Roles](../../roles).
+
+Anyone contributing code to Skia must sign a Contributor License Agreement and ensure
+they are listed in the AUTHORS file:
+Individual contributors can complete the [Individual Contributor License Agreement](https://developers.google.com/open-source/cla/individual) online.
+If you are contributing on behalf of a corporation, fill out the [Corporate Contributor License Agreement](https://developers.google.com/open-source/cla/corporate)
+and send it in as described on that page.
+If it is your first time submitting code or you have not previously done so, add your
+(or your organization's) name and contact info to the [AUTHORS file](https://skia.googlesource.com/skia/+/master/AUTHORS) as a part
+of your CL.
+REVIEWERS: Before you LGTM a change, verify that the contributor is listed in the AUTHORS file.
+If they are not, a Googler must ensure that the individual or their corporation has signed the
+CLA by searching [go/cla-signers](https://goto.google.com/cla-signers).
+Then have an entry added to the AUTHORS file with the CL.
+
diff --git a/src/third_party/skia/site/dev/contrib/jumper.md b/src/third_party/skia/site/dev/contrib/jumper.md
new file mode 100644
index 0000000..757697f
--- /dev/null
+++ b/src/third_party/skia/site/dev/contrib/jumper.md
@@ -0,0 +1,102 @@
+Contributing to SkJumper
+========================
+
+SkJumper is the execution engine of SkRasterPipeline, a system we've been using
+to accelerate CPU-bound work inside Skia, most notably color-space conversions
+and color-correct drawing.
+
+(This is where I'd put my link to design document if I had one...)
+
+SkJumper is more annoying to contribute to than most Skia code because of its
+offline compilation step. You'll need particular tools installed on your
+machine and to tell GN about them. This document is designed to guide you
+through this process and ease some of that annoyance.
+
+One-time Setup
+--------------
+
+To generate stage code you need Clang 4.0, objdump, and ccache. It's best that
+Clang is exactly the same version we typically use (as of writing 4.0.0) and
+you'll need objdump to be compiled with support for x86-64, ARMv7, and ARMv8.
+
+The easiest way to satisfy these contraints is to get your hands on a Mac and
+install [Homebrew](https://brew.sh). Once you have `brew` installed, run this
+to get the tools you need:
+
+<!--?prettify lang=sh?-->
+
+ brew install llvm binutils ccache
+
+Setting up GN
+-------------------------
+
+With your tools installed, tell GN about them
+
+ skia_jumper_clang = path/to/clang-4.0
+ skia_jumper_objdump = path/to/gobjdump
+ skia_jumper_ccache = path/to/ccache
+
+then regenerate and build as normal.
+
+If you look in your GN out directory, you should now see a bunch of `.o` files,
+and `git status` should show no changes to `src/jumper/SkJumper_generated*.S`.
+That's good. Those object files are the intermediates we parse to produce
+the assembly files. We just leave them around in case you want to look at
+them yourself.
+
+Make A Change
+-------------
+
+Let's use the `from_srgb` stage as a little playground to make a real change.
+Linearizing sRGB encoded bytes is slow, so let's pretend we've decided to trade
+quality for speed, approximating the existing implementation with a simple square.
+
+Open up `SkJumper_stages.cpp` and find the `from_srgb` stage. It'll look like
+
+<!--?prettify lang=cc?-->
+
+ STAGE(from_srgb) {
+ r = from_srgb(r);
+ g = from_srgb(g);
+ b = from_srgb(b);
+ }
+
+Let's replace whatever's there with our fast approximation:
+
+<!--?prettify lang=cc?-->
+
+ STAGE(from_srgb) {
+ r *= r;
+ g *= g;
+ b *= b;
+ }
+
+When you save and re-Ninja, you should now see changes to
+`src/jumper/SkJumper_generated.S` and `src/jumper/SkJumper_generated_win.S`.
+If you can't read assembly, no big deal. If you can, run `git diff`. You
+should see the various `sk_from_srgb_*` functions get dramatically simpler,
+something like three multiplies and a couple other bookkeeping instructions.
+
+It's not unusual for isolated changes in one stage to cause seemingly unrelated
+changes in another. When adding or removing any code you'll usually see all
+the comments in branch instructions change a little bit, but the actual
+instruction on the left won't change. When adding or removing uses of
+constants, you'll often see both the comment and instruction on the left change
+for other loads of constants from memory, especially on x86-64. You'll also
+see some code that looks like garbage change; those are the constants. If
+any of this worries you, please do go running to someone who knows more for
+help, but odds are everything is fine.
+
+At this point things should just be business as usual. Any time you change
+`SkJumper_stages.cpp`, Ninja ought to notice and regenerate the assembly files.
+
+Adding a new Stage
+------------------
+
+Adding a new stage is a lot like changing an existing stage. Edit
+`SkJumper_stages.cpp`, build Skia, test, repeat until correct.
+
+You'll just need to also edit `SkRasterPipeline.h` to add your new stage to the
+macro listing all the stages. The stage name is the handle normal Skia code
+uses to refer to the stage abstractly, and the wiring between
+`SkRasterPipeline::foo` and `STAGE(foo) { ... }` should work automatically.
diff --git a/src/third_party/skia/site/dev/contrib/patch.md b/src/third_party/skia/site/dev/contrib/patch.md
new file mode 100644
index 0000000..cf8b35b
--- /dev/null
+++ b/src/third_party/skia/site/dev/contrib/patch.md
@@ -0,0 +1,72 @@
+Applying patches
+================
+
+If you are a Skia committer and have been asked to commit an
+externally-submitted patch, this is how to do it. (This technique is useful in
+other situations too, like if you just want to try out somebody else's patch
+locally.)
+
+Notes:
+ * For the examples below, we will assume that this is the change you want
+ to patch into your local checkout: https://codereview.appspot.com/6201055/
+ * These instructions should work on Mac or Linux; Windows is trickier,
+ because there is no standard Windows "patch" tool.
+
+See also:
+http://dev.chromium.org/developers/contributing-code#TOC-Instructions-for-Reviewer:-Checking-in-the-patch-for-a-non-committer
+
+If you use git cl, then you should be able to use the shortcut:
+
+~~~~
+git cl patch 6201055
+~~~~
+
+If you use gcl, or the above doesn't work, the following should always work.
+
+1. Prepare your local workspace to accept the patch.
+
+ * cd into the root directory (usually trunk/) of the workspace where you
+ want to apply the patch.
+ * Make sure that the workspace is up-to-date and clean (or "updated and
+ clean enough" for your purposes). If the codereview patch was against
+ an old revision of the repo, you may need to sync your local workspace
+ to that same revision...
+
+2. Download the raw patch set.
+
+ * Open the codereview web page and look for the "Download raw patch set"
+ link near the upper right-hand corner. Right-click on that link and copy
+ it to the clipboard. (In my case, the link is
+ https://codereview.appspot.com/download/issue6201055_1.diff )
+ * If you are on Linux or Mac and have "curl" or "wget" installed, you can
+ download the patch from the command line:
+
+ ~~~~
+ curl https://codereview.appspot.com/download/issue6201055_1.diff
+ --output patch.txt
+ # or...
+ wget https://codereview.appspot.com/download/issue6201055_1.diff
+ --output-document=patch.txt
+ ~~~~
+
+ * Otherwise, figure out some other way to download this file and save it as
+ 'patch.txt'
+
+3. Apply this patch to your local checkout.
+
+ * You should still be in the root directory of the workspace where you want
+ to apply the patch.
+
+ ~~~~
+ patch -p1 <patch.txt
+ ~~~~
+
+ * Then you can run diff and visually check the local changes.
+
+4. Complications: If the patch fails to apply, the following may be happening:
+
+ Wrong revision. Maybe your local workspace is not up to date? Or maybe the
+ patch was made against an old revision of the repository, and cannot be applied
+ to the latest revision? (In that case, revert any changes and sync your
+ workspace to an older revision, then re-apply the patch.)
+
diff --git a/src/third_party/skia/site/dev/contrib/revert.md b/src/third_party/skia/site/dev/contrib/revert.md
new file mode 100644
index 0000000..75c4fcc
--- /dev/null
+++ b/src/third_party/skia/site/dev/contrib/revert.md
@@ -0,0 +1,39 @@
+How to revert a CL
+==================
+
+Using one-click revert
+----------------------
+* Find the codereview issue for the CL you want to revert.
+* Click the "revert" button.
+
+Using Git
+---------
+
+Update the local repository
+
+ git fetch origin master
+
+Create a local branch with origin/master as its start point.
+
+ git checkout -b revert$RANDOM origin/master
+
+Find the SHA1 of the commit you want to revert
+
+ git log origin/master
+
+Create a revert commit.
+
+ git revert <SHA1>
+
+Upload it to Gerrit.
+
+ git cl upload
+
+Land the revert in origin/master.
+
+ git cl land
+
+Delete the local revert branch.
+
+ git checkout --detach && git branch -D @{-1}
+
diff --git a/src/third_party/skia/site/dev/contrib/simd.md b/src/third_party/skia/site/dev/contrib/simd.md
new file mode 100644
index 0000000..e2e6310
--- /dev/null
+++ b/src/third_party/skia/site/dev/contrib/simd.md
@@ -0,0 +1,141 @@
+Skia's New Approach to SIMD
+===========================
+
+Most hot software paths in Skia are implemented with processor-specific SIMD instructions. For graphics performance, the parallelism from SIMD is essential: there is simply no realistic way to eek the same performance out of portable C++ code as we can from the SSE family of instruction sets on x86 or from NEON on ARM or from MIPS32's DSP instructions. Depending on the particular code path and math involved, we see 2, 4, 8, or even ~16x performance increases over portable code when really exploiting the processor-specific SIMD instructions.
+
+But the SIMD code we've piled up over the years has some serious problems. It's often quite low-level, with poor factoring leading to verbose, bug prone, and difficult to read code. SIMD instrinsic types and functions take a good long while to get used to reading, let alone writing, and assembly is generally just a complete non-starter. SIMD coverage of Skia methods is not dense: a particular drawing routine might be specialized for NEON but not for SSE, or might have a MIPS DSP implementation but no NEON. Even when we have full instruction set coverage, the implementations of these specialized routines may not produce identical results, either when compared with each other or with our portable fallback code. The SIMD implementations are often simply incorrect, but the code is so fragile and difficult to understand, we can't fix it. There are long lived bugs in our tracker involving crashes and buffer under- and overflows that we simply cannot fix because no one on the team understands the code involved. And finally, to top it all off, the code isn't always even really that fast.
+
+This all needs to change. I want Skia developers to be able to write correct, clear, and fast code, and in software rendering, SIMD is the only way to get "fast". This document outlines a new vision for how Skia will use SIMD instructions with no compromises, writing clear code _once_ that runs quickly on all platforms we support.
+
+The Plan
+--------
+
+We're going to wrap low-level platform-specific instrinsics with zero-cost abstractions with interfaces matching Skia's higher-level-but-still-quite-low-level use cases. Skia code will write to this interface _once_, which then compiles to efficient SSE, NEON, or portable code (MIPS is quite TBD, for now group it conceptually under portable code) via platform-specific backends. The key here is to find the right sweet spot of abstraction that allows us to express the graphical concepts we want in Skia while allowing each of those platform-specific backends flexibility to implement those concepts as efficiently as possible.
+
+While Skia uses a mix of float, 32-bit, 16-bit, and 8-bit integer SIMD instructions, 32-bit integers fall quite behind the rest in usage. Since we tend to operate on 8888 ARGB values, 8-bit SIMD tends to be the most natural and fastest approach, but when multiplication gets involved (essentially all the time), 16-bit SIMD inevitably gets tangled in there. For some operations like division, square roots, or math with high range or precision requirements, we expand our 8-bit pixel components up to floats, and working with a single pixel as a 4-float vector becomes most natural. This plan focuses on how we'll deal with these majority cases: floats, and 8- and 16-bit integers.
+
+`SkNf` for floats
+---------------
+
+Wrapping floats with an API that allows efficient implementation on SSE and NEON is by far the easiest task involved here. Both SSE and NEON naturally work with 128-bit vectors of 4 floats, and they have a near 1-to-1 correspondence between operations. Indeed, the correspondence is so close that it's tempting to solve this problem by picking one set of intrinsics, e.g. NEON, and just `#define`ing portable and SSE implementations of NEON:
+
+ #define float32x4_t __m128
+ #define vmulq_f32 _mm_mul_ps
+ #define vaddq_f32 _mm_add_ps
+ #define vld1q_f32 _mm_loadu_ps
+ #define vst1q_f32 _mm_storeu_ps
+ ...
+
+This temptation starts to break down when you notice:
+
+- there are operations that don't quite correspond, e.g. `_mm_movemask_ps`; and
+- math written with either SSE or NEON instrinsics is still very hard to read; and
+- sometimes we want to work with 4 floats, but sometimes 2, maybe even 8, etc.
+
+So we use a wrapper class `SkNf<N>`, parameterized on N, how many floats the vector contains, constrained at compile time to be a power of 2. `SkNf` provides all the methods you'd expect on vector of N floats: loading and storing from float arrays, all the usual arithmetic operators, min and max, low and high precision reciprocal and sqrt, all the usual comparison operators, and a `.thenElse()` method acting as a non-branching ternary `?:` operator. To support Skia's main graphic needs, `SkNf` can also load and store from a vector of N _bytes_, converting up to a float when loading and rounding down to [0,255] when storing.
+
+As a convenience, `SkNf<N>` has two default implementations: `SkNf<1>` performs all these operations on a single float, and the generic `SkNf<N>` simply recurses onto two `SkNf<N/2>`. This allows our different backends to inject specialiations where most natural: the portable backend does nothing, so all `SkNf<N>` recurse down to the default `SkNf<1>`; the NEON backend specializes `SkNf<2>` with `float32x2_t` and 64-bit SIMD methods, and `SkNf<4>` with `float32x4_t` and 128-bit SIMD methods; the SSE backend specializes both `SkNf<4>` and `SkNf<2>` to use the full or lower half of an `__m128` vector, respectively. A future AVX backend could simply drop in an `SkNf<8>` specialization.
+
+Our most common float use cases are working with 2D coordinates and with 4-float-component pixels. Since these are so common, we've made simple typedefs for these two use cases, `Sk2f` and `Sk4f`, and also versions reminding you that it can work with vectors of `SkScalar` (a Skia-specific float typedef) too: `Sk2s`, `Sk4s`.
+
+`SkNf` in practice
+----------------
+
+To date we have implemented several parts of Skia using Sk4f:
+
+ 1. `SkColorMatrixFilter`
+ 2. `SkRadialGradient`
+ 3. `SkColorCubeFilter`
+ 4. Three complicated `SkXfermode` subclasses: `ColorBurn`, `ColorDodge`, and `SoftLight`.
+
+In all these cases, we have been able to write a single implementation, producing the same results cross-platform. The first three of those sites using Sk4f are entirely newly vectorized, and run much faster than the previous portable implementations. The 3 Sk4f transfermodes replaced portable, SSE, and NEON implementations which all produced different results, and the Sk4f versions are all faster than their predecessors.
+
+`SkColorCubeFilter` stands out as a particularly good example of how and why to use Sk4f over custom platform-specific intrinsics. Starting from some portable code and a rather slow SSE-only sketch, a Google Chromium dev, an Intel contributor, and I worked together to write an Sk4f version that's more than twice as fast as the original, and runs fast on _both_ x86 and ARM.
+
+`SkPx` for 8- and 16-bit fixed point math
+----------------------------------------
+
+Building an abstraction layer over 8- and 16-bit fixed point math has proven to be quite a challenge. In fixed point, NEON and SSE again have some overlap, and they could probably be implemented in terms of each other if you were willing to sacrifice performance on SSE in favor of NEON or vice versa. But unlike with floats, where `SkNf` is really a pretty thin veneer over very similar operations, to really get the best performance out of each fixed point instruction set you need to work in rather different idioms.
+
+`SkPx`, our latest approach (there have been alpha `Sk16b` and beta `Sk4px` predecessors) to 8- and 16-bit SIMD tries to abstract over those idioms to again allow Skia developers to write one piece of clear graphics code that different backends can translate into their native intrinsics idiomatically.
+
+`SkPx` is really a family of three related types:
+
+ 1. `SkPx` itself represents between 1 and `SkPx::N` 8888 ARGB pixels, where `SkPx::N` is a backend-specific compile-time power of 2.
+ 2. `SkPx::Wide` represents those same pixels, but with 16-bits of space per component.
+ 3. `SkPx::Alpha` represents the alpha channels of those same pixels.
+
+`SkPx`, `Wide` and `Alpha` create a somewhat complicated algebra of operations entirely motivated by the graphical operations we need to perform. Here are some examples:
+
+ SkPx::LoadN(const uint32_t*) -> SkPx // Load full cruising-speed SkPx.
+ SkPx::Load(n, const uint32_t*) -> SkPx // For the 0<n<N ragged tail.
+
+ SkPx.storeN(uint32_t*) // Store a full SkPx.
+ SkPx.store(n, uint32_t*) // For the ragged 0<n<N tail.
+
+ SkPx + SkPx -> SkPx
+ SkPx - SkPx -> SkPx
+ SkPx.saturatedAdd(SkPx) -> SkPx
+
+ SkPx.alpha() -> Alpha // Extract alpha channels.
+ Alpha::LoadN(const uint8_t*) -> Alpha // Like SkPx loads, in 8-bit steps.
+ Alpha::Load(n, const uint8_t*) -> Alpha
+
+ SkPx.widenLo() -> Wide // argb -> 0a0r0g0b
+ SkPx.widenHi() -> Wide // argb -> a0r0g0b0
+ SkPx.widenLoHi() -> Wide // argb -> aarrggbb
+
+ Wide + Wide -> Wide
+ Wide - Wide -> Wide
+ Wide << bits -> Wide
+ Wide >> bits -> Wide
+
+ SkPx * Alpha -> Wide // 8 x 8 -> 16 bit
+ Wide.div255() -> SkPx // 16-bit -> 8 bit
+
+ // A faster approximation of (SkPx * Alpha).div255().
+ SkPx.approxMulDiv255(Alpha) -> SkPx
+
+We allow each `SkPx` backend to choose how it physically represents `SkPx`, `SkPx::Wide`, and `SkPx::Alpha` and to choose any power of two as its `SkPx::N` sweet spot. Code working with SkPx typically runs a loop like this:
+
+ while (n >= SkPx::N) {
+ // Apply some_function() to SkPx::N pixels.
+ some_function(SkPx::LoadN(src), SkPx::LoadN(dst)).storeN(dst);
+ src += SkPx::N; dst += SkPx::N; n -= SkPx::N;
+ }
+ if (n > 0) {
+ // Finish up the tail of 0<n<N pixels.
+ some_function(SkPx::Load(n, src), SkPx::Load(n, dst)).store(n, dst);
+ }
+
+The portable code is of course the simplest place to start looking at implementation details: its `SkPx` is just `uint8_t[4]`, its `SkPx::Wide` `uint16_t[4]`, and its `SkPx::Alpha` just `uint8_t`. Its preferred number of pixels to work with is `SkPx::N = 1`. (Amusingly, GCC and Clang seem pretty good about autovectorizing this backend using 32-bit math, which typically ends up within ~2x of the best we can do ourselves.)
+
+The most important difference between SSE and NEON when working in fixed point is that SSE works most naturally with 4 interlaced pixels at a time (argbargbargbargb), while NEON works most naturally with 8 planar pixels at a time (aaaaaaaa, rrrrrrrr, gggggggg, bbbbbbbb). Trying to jam one of these instruction sets into the other's idiom ends up somewhere between not quite optimal (working with interlaced pixels in NEON) and ridiculously inefficient (trying to work with planar pixels in SSE).
+
+So `SkPx`'s SSE backend sets N to 4 pixels, stores them interlaced in an `__m128i`, representing `Wide` as two `__m128i` and `Alpha` as an `__m128i` with each pixel's alpha component replicated four times. SkPx's NEON backend works with 8 planar pixels, loading them with `vld4_u8` into an `uint8x8x4_t` struct of 4 8-component `uint8x8_t` planes. `Alpha` is just a single `uint8x8_t` 8-component plane, and `Wide` is NEON's natural choice, `uint16x8x4_t`.
+
+(It's fun to speculate what an AVX2 backend might look like. Do we make `SkPx` declare it wants to work with 8 pixels at a time, or leave it at 4? Does `SkPx` become `__m256i`, or maybe only `SkPx::Wide` does? What's the best way to represent `Alpha`? And of course, what about AVX-512?)
+
+Keeping `Alpha` as a single dense `uint8x8_t` plane allows the NEON backend to be much more efficient with operations involving `Alpha`. We'd love to do this in SSE too, where we store `Alpha` somewhat inefficiently with each alpha component replicated 4 times, but SSE simply doesn't expose efficient ways to transpose interlaced pixels into planar pixels and vice versa. We could write them ourselves, but only as rather complex compound operations that slow things down more than they help.
+
+These details will inevitably change over time. The important takeaway here is, to really work at peak throughput in SIMD fixed point, you need to work with the idiom of the instruction set, and `SkPx` is a design that can present a consistent interface to abstract away backend details for you.
+
+`SkPx` in practice
+----------------
+
+I am in the process of rolling out `SkPx`. Some Skia code is already using its precursor, `Sk4px`, which is a bit like `SkPx` that forces `N=4` and restricts the layout to always use interlaced pixels: i.e. fine for SSE, not great for NEON.
+
+ 1. All ~20 other `SkXfermode` subclasses that are not implemented with `SkNf`.
+ 2. SkBlitRow::Color32
+ 3. SkBlitMask::BlitColor
+
+I can certainly say that the `Sk4px` and `SkPx` implementations of these methods are clearer, less buggy, and that all the `SkXfermode` implementations sped up at least 2x when porting from custom per-platform intrinsics. `Sk4px` has lead to some pretty bad performance regressions that `SkPx` is designed to avoid. This is an area of active experiementation and iteration.
+
+In Summary
+----------
+
+I am confident that Skia developers soon will be able to write single, clear, maintainable, and of course _fast_, graphical algorithms using `SkNf` and `SkPx`. As I have been porting our algorithms, I have perversely enjoyed replacing thousands of lines of unmaintainable code with usually mere dozens of readable code.
+
+I'm also confident that if you're looking to use floats, `SkNf` is ready. Do not write NEON or SSE SIMD code if you're looking to use floats, and do not accept external contributions that do so. Use `SkNf` instead.
+
+`SkPx` is less proven, and while its design and early tests look promising, it's still at the stage where we should try it aware that we might need to fall back on hand-written SSE or NEON.
\ No newline at end of file
diff --git a/src/third_party/skia/site/dev/contrib/style.md b/src/third_party/skia/site/dev/contrib/style.md
new file mode 100644
index 0000000..639738c
--- /dev/null
+++ b/src/third_party/skia/site/dev/contrib/style.md
@@ -0,0 +1,552 @@
+Coding Style Guidelines
+=======================
+
+These conventions have evolved over time. Some of the earlier code in both
+projects doesn’t strictly adhere to the guidelines. However, as the code evolves
+we hope to make the existing code conform to the guildelines.
+
+Files
+-----
+
+We use .cpp and .h as extensions for c++ source and header files. We use
+foo_impl.h for headers with inline definitions for class foo.
+
+Headers that aren’t meant for public consumption should be placed in src
+directories so that they aren’t in a client’s search path.
+
+We prefer to minimize includes. If forward declaring a name in a header is
+sufficient then that is preferred to an include.
+
+Forward declarations and file includes should be in alphabetical order (but we
+aren't very strict about it).
+
+<span id="no-define-before-sktypes"></span>
+Do not use #if/#ifdef before including "SkTypes.h" (directly or indirectly).
+
+We use spaces not tabs (4 of them).
+
+We use Unix style endlines (LF).
+
+We prefer no trailing whitespace but aren't very strict about it.
+
+We wrap lines at 100 columns unless it is excessively ugly (use your judgement).
+The soft line length limit was changed from 80 to 100 columns in June 2012. Thus,
+most files still adhere to the 80 column limit. It is not necessary or worth
+significant effort to promote 80 column wrapped files to 100 columns. Please
+don't willy-nilly insert longer lines in 80 column wrapped files. Either be
+consistent with the surrounding code or, if you really feel the need, promote
+the surrounding code to 100 column wrapping.
+
+Naming
+------
+
+Both projects use a prefix to designate that they are Skia prefix for classes,
+enums, structs, typedefs etc is Sk. Ganesh’s is Gr. Nested types should not be
+prefixed.
+
+<!--?prettify?-->
+~~~~
+class SkClass {
+public:
+ class HelperClass {
+ ...
+ };
+};
+~~~~
+
+Data fields in structs, classes, unions begin with lowercase f and are then
+camel capped.
+
+<!--?prettify?-->
+~~~~
+struct GrCar {
+ ...
+ float fMilesDriven;
+ ...
+};
+~~~~
+
+Globals variables are similar but prefixed with g and camel-capped
+
+<!--?prettify?-->
+~~~~
+bool gLoggingEnabled
+Local variables begin lowercases and are camel-capped.
+
+int herdCats(const Array& cats) {
+ int numCats = cats.count();
+}
+~~~~
+
+Enum values are prefixed with k. Unscoped enum values are post fixed with
+an underscore and singular name of the enum name. The enum itself should be
+singular for exclusive values or plural for a bitfield. If a count is needed it
+is k<singular enum name>Count and not be a member of the enum (see example):
+
+<!--?prettify?-->
+~~~~
+enum class SkPancakeType {
+ kBlueberry,
+ kPlain,
+ kChocolateChip,
+};
+~~~~
+
+<!--?prettify?-->
+~~~~
+enum SkPancakeType {
+ kBlueberry_PancakeType,
+ kPlain_PancakeType,
+ kChocolateChip_PancakeType,
+
+ kLast_PancakeType = kChocolateChip_PancakeType
+};
+
+static const SkPancakeType kPancakeTypeCount = kLast_PancakeType + 1;
+~~~~
+
+A bitfield:
+
+<!--?prettify?-->
+~~~~
+enum SkSausageIngredientBits {
+ kFennel_SuasageIngredientBit = 0x1,
+ kBeef_SausageIngredientBit = 0x2
+};
+~~~~
+
+or:
+
+<!--?prettify?-->
+~~~~
+enum SkMatrixFlags {
+ kTranslate_MatrixFlag = 0x1,
+ kRotate_MatrixFlag = 0x2
+};
+~~~~
+
+Exception: anonymous enums can be used to declare integral constants, e.g.:
+
+<!--?prettify?-->
+~~~~
+enum { kFavoriteNumber = 7 };
+~~~~
+
+Macros are all caps with underscores between words. Macros that have greater
+than file scope should be prefixed SK or GR.
+
+Static non-class functions in implementation files are lower case with
+underscores separating words:
+
+<!--?prettify?-->
+~~~~
+static inline bool tastes_like_chicken(Food food) {
+ return kIceCream_Food != food;
+}
+~~~~
+
+Externed functions or static class functions are camel-capped with an initial cap:
+
+<!--?prettify?-->
+~~~~
+bool SkIsOdd(int n);
+
+class SkFoo {
+public:
+ static int FooInstanceCount();
+};
+~~~~
+
+Macros
+------
+
+Ganesh macros that are GL-specific should be prefixed GR_GL.
+
+<!--?prettify?-->
+~~~~
+#define GR_GL_TEXTURE0 0xdeadbeef
+~~~~
+
+Ganesh prefers that macros are always defined and the use of #if MACRO rather than
+#ifdef MACRO.
+
+<!--?prettify?-->
+~~~~
+#define GR_GO_SLOWER 0
+...
+#if GR_GO_SLOWER
+ Sleep(1000);
+#endif
+~~~~
+
+Skia tends to use #ifdef SK_MACRO for boolean flags.
+
+Braces
+------
+
+Open braces don’t get a newline. “else” and “else if” appear on same line as
+opening and closing braces unless preprocessor conditional compilation
+interferes. Braces are always used with if, else, while, for, and do.
+
+<!--?prettify?-->
+~~~~
+if (...) {
+ oneOrManyLines;
+}
+
+if (...) {
+ oneOrManyLines;
+} else if (...) {
+ oneOrManyLines;
+} else {
+ oneOrManyLines;
+}
+
+for (...) {
+ oneOrManyLines;
+}
+
+while (...) {
+ oneOrManyLines;
+}
+
+void function(...) {
+ oneOrManyLines;
+}
+
+if (!error) {
+ proceed_as_usual();
+}
+#if HANDLE_ERROR
+else {
+ freak_out();
+}
+#endif
+~~~~
+
+Flow Control
+------------
+
+There is a space between flow control words and parentheses and between
+parentheses and braces:
+
+<!--?prettify?-->
+~~~~
+while (...) {
+}
+
+do {
+} while(...);
+
+switch (...) {
+...
+}
+~~~~
+
+Cases and default in switch statements are indented from the switch.
+
+<!--?prettify?-->
+~~~~
+switch (color) {
+ case kBlue:
+ ...
+ break;
+ case kGreen:
+ ...
+ break;
+ ...
+ default:
+ ...
+ break;
+}
+~~~~
+
+Fallthrough from one case to the next is commented unless it is trivial:
+
+<!--?prettify?-->
+~~~~
+switch (recipe) {
+ ...
+ case kCheeseOmelette_Recipe:
+ ingredients |= kCheese_Ingredient;
+ // fallthrough
+ case kPlainOmelette_Recipe:
+ ingredients |= (kEgg_Ingredient | kMilk_Ingredient);
+ break;
+ ...
+}
+~~~~
+
+When a block is needed to declare variables within a case follow this pattern:
+
+<!--?prettify?-->
+~~~~
+switch (filter) {
+ ...
+ case kGaussian_Filter: {
+ Bitmap srcCopy = src->makeCopy();
+ ...
+ break;
+ }
+ ...
+};
+~~~~
+
+Classes
+-------
+
+Unless there is a need for forward declaring something, class declarations
+should be ordered public, protected, private. Each should be preceded by a
+newline. Within each visibility section (public, private), fields should not be
+intermixed with methods.
+
+<!--?prettify?-->
+~~~~
+class SkFoo {
+
+public:
+ ...
+
+protected:
+ ...
+
+private:
+ SkBar fBar;
+ ...
+
+ void barHelper(...);
+ ...
+};
+~~~~
+
+Subclasses should have a private typedef of their super class called INHERITED:
+
+<!--?prettify?-->
+~~~~
+class GrDillPickle : public GrPickle {
+ ...
+private:
+ typedef GrPickle INHERITED;
+};
+~~~~
+
+Virtual functions that are overridden in derived classes should use override
+(and not the override keyword). The virtual keyword can be omitted.
+
+<!--?prettify?-->
+~~~~
+void myVirtual() override {
+}
+~~~~
+
+This should be the last element of their private section, and all references to
+base-class implementations of a virtual function should be explicitly qualified:
+
+<!--?prettify?-->
+~~~~
+void myVirtual() override {
+ ...
+ this->INHERITED::myVirtual();
+ ...
+}
+~~~~
+
+As in the above example, derived classes that redefine virtual functions should
+use override to note that explicitly.
+
+Constructor initializers should be one per line, indented, with punctuation
+placed before the initializer. This is a fairly new rule so much of the existing
+code is non-conforming. Please fix as you go!
+
+<!--?prettify?-->
+~~~~
+GrDillPickle::GrDillPickle()
+ : GrPickle()
+ , fSize(kDefaultPickleSize) {
+ ...
+}
+~~~~
+
+Constructors that take one argument should almost always be explicit, with
+exceptions made only for the (rare) automatic compatibility class.
+
+<!--?prettify?-->
+~~~~
+class Foo {
+ explicit Foo(int x); // Good.
+ Foo(float y); // Spooky implicit conversion from float to Foo. No no no!
+ ...
+};
+~~~~
+
+Method calls within method calls should be prefixed with dereference of the
+'this' pointer. For example:
+
+<!--?prettify?-->
+~~~~
+this->method();
+~~~~
+
+Comparisons
+-----------
+
+We prefer that equality operators between lvalues and rvalues place the lvalue
+on the right:
+
+<!--?prettify?-->
+~~~~
+if (7 == luckyNumber) {
+ ...
+}
+~~~~
+
+However, inequality operators need not follow this rule:
+
+<!--?prettify?-->
+~~~~
+if (count > 0) {
+ ...
+}
+~~~~
+
+Comments
+
+We use doxygen-style comments.
+
+For grouping or separators in an implementation file we use 80 slashes
+
+<!--?prettify?-->
+~~~~
+void SkClassA::foo() {
+ ...
+}
+
+////////////////////////////////////////////////////////////////
+
+void SkClassB::bar() {
+ ...
+}
+~~~~
+
+Integer Types
+-------------
+
+We follow the Google C++ guide for ints and are slowly making older code conform to this
+
+(http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml#Integer_Types)
+
+Summary: Use int unless you have need a guarantee on the bit count, then use
+stdint.h types (int32_t, etc). Assert that counts, etc are not negative instead
+of using unsigned. Bitfields use uint32_t unless they have to be made shorter
+for packing or performance reasons.
+
+nullptr, 0
+-------
+
+Use nullptr for pointers, 0 for ints. We prefer explicit nullptr comparisons when
+checking for nullptr pointers (as documentation):
+
+<!--?prettify?-->
+~~~~
+if (nullptr == x) { // slightly preferred over if (!x)
+ ...
+}
+~~~~
+
+When checking non-nullptr pointers explicit comparisons are not required because it
+reads like a double negative:
+
+<!--?prettify?-->
+~~~~
+if (x) { // slightly preferred over if (nullptr != x)
+ ...
+}
+~~~~
+
+Returning structs
+-----------------
+
+If the desired behavior is for a function to return a struct, we prefer using a
+struct as an output parameter
+
+<!--?prettify?-->
+~~~~
+void modify_foo(SkFoo* foo) {
+ // Modify foo
+}
+~~~~
+
+Then the function can be called as followed:
+
+<!--?prettify?-->
+~~~~
+SkFoo foo;
+modify_foo(&foo);
+~~~~
+
+This way, if return value optimization cannot be used there is no performance
+hit. It also means that modify_foo can actually return a boolean for whether the
+call was successful. In this case, initialization of foo can potentially be
+skipped on failure (assuming the constructor for SkFoo does no initialization).
+
+<!--?prettify?-->
+~~~~
+bool modify_foo(SkFoo* foo) {
+ if (some_condition) {
+ // Modify foo
+ return true;
+ }
+ // Leave foo unmodified
+ return false;
+}
+~~~~
+
+Function Parameters
+-------------------
+
+Mandatory constant object parameters are passed to functions as const references
+if they are not retained by the receiving function. Optional constant object
+parameters are passed to functions as const pointers. Objects that the called
+function will retain, either directly or indirectly, are passed as pointers.
+Variable (i.e. mutable) object parameters are passed to functions as pointers.
+
+<!--?prettify?-->
+~~~~
+// src and paint are optional
+void SkCanvas::drawBitmapRect(const SkBitmap& bitmap, const SkIRect* src,
+ const SkRect& dst, const SkPaint* paint = nullptr);
+// metrics is mutable (it is changed by the method)
+SkScalar SkPaint::getFontMetrics(FontMetric* metrics, SkScalar scale) const;
+// A reference to foo is retained by SkContainer
+void SkContainer::insert(const SkFoo* foo);
+~~~~
+
+If function arguments or parameters do not all fit on one line, they may be
+lined up with the first parameter on the same line
+
+<!--?prettify?-->
+~~~~
+void drawBitmapRect(const SkBitmap& bitmap, const SkRect& dst,
+ const SkPaint* paint = nullptr) {
+ this->drawBitmapRectToRect(bitmap, nullptr, dst, paint,
+ kNone_DrawBitmapRectFlag);
+}
+~~~~
+
+or placed on the next line indented eight spaces
+
+<!--?prettify?-->
+~~~~
+void drawBitmapRect(
+ const SkBitmap& bitmap, const SkRect& dst,
+ const SkPaint* paint = nullptr) {
+ this->drawBitmapRectToRect(
+ bitmap, nullptr, dst, paint, kNone_DrawBitmapRectFlag);
+}
+~~~~
+
+Python
+------
+
+Python code follows the [Google Python Style Guide](http://google-styleguide.googlecode.com/svn/trunk/pyguide.html).
+
diff --git a/src/third_party/skia/site/dev/contrib/submit.md b/src/third_party/skia/site/dev/contrib/submit.md
new file mode 100644
index 0000000..d3ffc9d
--- /dev/null
+++ b/src/third_party/skia/site/dev/contrib/submit.md
@@ -0,0 +1,211 @@
+How to submit a patch
+=====================
+
+
+Configure git
+-------------
+
+<!--?prettify lang=sh?-->
+
+ git config --global user.name "Your Name"
+ git config --global user.email you@example.com
+
+Making changes
+--------------
+
+First create a branch for your changes:
+
+<!--?prettify lang=sh?-->
+
+ git config branch.autosetuprebase always
+ git checkout -b my_feature origin/master
+
+After making your changes, create a commit
+
+<!--?prettify lang=sh?-->
+
+ git add [file1] [file2] ...
+ git commit
+
+If your branch gets out of date, you will need to update it:
+
+<!--?prettify lang=sh?-->
+
+ git pull
+ python tools/git-sync-deps
+
+Adding a unit test
+------------------
+
+If you are willing to change Skia codebase, it's nice to add a test at the same
+time. Skia has a simple unittest framework so you can add a case to it.
+
+Test code is located under the 'tests' directory.
+
+See [Writing Unit and Rendering Tests](../testing/tests) for details.
+
+Unit tests are best, but if your change touches rendering and you can't think of
+an automated way to verify the results, consider writing a GM test or a new page
+of SampleApp. Also, if your change is the GPU code, you may not be able to write
+it as part of the standard unit test suite, but there are GPU-specific testing
+paths you can extend.
+
+Submitting a patch
+------------------
+
+For your code to be accepted into the codebase, you must complete the
+[Individual Contributor License
+Agreement](http://code.google.com/legal/individual-cla-v1.0.html). You can do
+this online, and it only takes a minute. If you are contributing on behalf of a
+corporation, you must fill out the [Corporate Contributor License
+Agreement](http://code.google.com/legal/corporate-cla-v1.0.html)
+and send it to us as described on that page. Add your (or your organization's)
+name and contact info to the AUTHORS file as a part of your CL.
+
+Now that you've made a change and written a test for it, it's ready for the code
+review! Submit a patch and getting it reviewed is fairly easy with depot tools.
+
+Use git-cl, which comes with [depot
+tools](http://sites.google.com/a/chromium.org/dev/developers/how-tos/install-depot-tools).
+For help, run git-cl help.
+
+### Find a reviewer
+
+Ideally, the reviewer is someone who is familiar with the area of code you are
+touching. If you have doubts, look at the git blame for the file to see who else
+has been editing it.
+
+### Uploading changes for review
+
+Skia uses the Gerrit code review tool. Skia's instance is [skia-review](http://skia-review.googlesource.com).
+Use git cl to upload your change:
+
+<!--?prettify lang=sh?-->
+
+ git cl upload
+
+You may have to enter a Google Account username and password to authenticate
+yourself to Gerrit. A free gmail account will do fine, or any
+other type of Google account. It does not have to match the email address you
+configured using `git config --global user.email` above, but it can.
+
+The command output should include a URL, similar to
+(https://skia-review.googlesource.com/c/4559/), indicating where your changelist
+can be reviewed.
+
+### Request review
+
+Go to the supplied URL or go to the code review page and select the **Your**
+dropdown and click on **Changes**. Select the change you want to submit for
+review and click **Reply**. Enter at least one reviewer's email address. Now
+add any optional notes, and send your change off for review by clicking on
+**Send**. Unless you send your change to reviewers, no one will know to look
+at it.
+
+_Note_: If you don't see editing commands on the review page, click **Sign in**
+in the upper right. _Hint_: You can add -r reviewer@example.com --send-mail to
+send the email directly when uploading a change using git-cl.
+
+
+The review process
+------------------
+
+If you submit a giant patch, or do a bunch of work without discussing it with
+the relevant people, you may have a hard time convincing anyone to review it!
+
+Code reviews are an important part of the engineering process. The reviewer will
+almost always have suggestions or style fixes for you, and it's important not to
+take such suggestions personally or as a commentary on your abilities or ideas.
+This is a process where we work together to make sure that the highest quality
+code gets submitted!
+
+You will likely get email back from the reviewer with comments. Fix these and
+update the patch set in the issue by uploading again. The upload will explain
+that it is updating the current CL and ask you for a message explaining the
+change. Be sure to respond to all comments before you request review of an
+update.
+
+If you need to update code the code on an already uploaded CL, simply edit the
+code, commit it again locally, and then run git cl upload again e.g.
+
+ echo "GOATS" > whitespace.txt
+ git add whitespace.txt
+ git commit -m 'add GOATS fix to whitespace.txt'
+ git cl upload
+
+Once you're ready for another review, use **Reply** again to send another
+notification (it is helpful to tell the review what you did with respect to each
+of their comments). When the reviewer is happy with your patch, they will
+approve your change by setting the Code-Review label to "+1".
+
+_Note_: As you work through the review process, both you and your reviewers
+should converse using the code review interface, and send notes.
+
+Once your change has received an approval, you can click the "Submit to CQ"
+button on the codereview page and it will be committed on your behalf.
+
+Once your commit has gone in, you should delete the branch containing your change:
+
+ git checkout -q origin/master
+ git branch -D my_feature
+
+
+Final Testing
+-------------
+
+Skia's principal downstream user is Chromium, and any change to Skia rendering
+output can break Chromium. If your change alters rendering in any way, you are
+expected to test for and alleviate this. (You may be able to find a Skia team
+member to help you, but the onus remains on each individual contributor to avoid
+breaking Chrome.
+
+### Evaluating Impact on Chromium
+
+Keep in mind that Skia is rolled daily into Blink and Chromium. Run local tests
+and watch canary bots for results to ensure no impact. If you are submitting
+changes that will impact layout tests, follow the guides below and/or work with
+your friendly Skia-Blink engineer to evaluate, rebaseline, and land your
+changes.
+
+Resources:
+
+[How to land Skia changes that change Blink layout test results](../chrome/layouttest)
+
+If you're changing the Skia API, you may need to make an associated change in Chromium.
+If you do, please follow these instructions: [Landing Skia changes which require Chrome changes](../chrome/changes)
+
+
+Check in your changes
+---------------------
+
+### Non-Skia-committers
+
+If you already have committer rights, you can follow the directions below to
+commit your change directly to Skia's repository.
+
+If you don't have committer rights in https://skia.googlesource.com/skia.git ...
+first of all, thanks for submitting your patch! We really appreciate these
+submissions. After receiving an approval from a committer, you will be able to
+click the "Submit to CQ" button and submit your patch via the commit queue.
+
+In special instances, a Skia committer may assist you in landing the change
+by uploading a new codereview containing your patch (perhaps with some small
+adjustments at his/her discretion). If so, you can mark your change as
+"Abandoned", and update it with a link to the new codereview.
+
+### Skia committers
+ * tips on how to apply an externally provided patch are [here](./patch)
+ * when landing externally contributed patches, please note the original
+ contributor's identity (and provide a link to the original codereview) in the commit message
+
+ git-cl will squash all your commits into a single one with the description you used when you uploaded your change.
+
+ ~~~~
+ git cl land
+ ~~~~
+
+ or
+
+ ~~~~
+ git cl land -c 'Contributor Name <email@example.com>'
+ ~~~~
diff --git a/src/third_party/skia/site/dev/design/PdfLogicalDocumentStructure.png b/src/third_party/skia/site/dev/design/PdfLogicalDocumentStructure.png
new file mode 100644
index 0000000..90840e5
--- /dev/null
+++ b/src/third_party/skia/site/dev/design/PdfLogicalDocumentStructure.png
Binary files differ
diff --git a/src/third_party/skia/site/dev/design/index.md b/src/third_party/skia/site/dev/design/index.md
new file mode 100644
index 0000000..0c2771b
--- /dev/null
+++ b/src/third_party/skia/site/dev/design/index.md
@@ -0,0 +1,4 @@
+Design Documents
+================
+
+Public design documents for major efforts in Skia
diff --git a/src/third_party/skia/site/dev/design/pdftheory.md b/src/third_party/skia/site/dev/design/pdftheory.md
new file mode 100644
index 0000000..a5521ba
--- /dev/null
+++ b/src/third_party/skia/site/dev/design/pdftheory.md
@@ -0,0 +1,528 @@
+PDF Theory of Operation
+=======================
+
+<!--
+PRE-GIT DOCUMENT VERSION HISTORY
+ 2012-06-25 Steve VanDeBogart
+ * Original version
+ 2015-01-14 Hal Canary.
+ * Add section "Using the PDF backend"
+ * Markdown formatting
+-->
+
+
+Internally, SkPDFDocument and SkPDFDevice represents PDF documents and
+pages. This document describes how the backend operates, but **these
+interfaces are not part of the public API and are subject to perpetual
+change.**
+
+See [Using Skia's PDF Backend](../../user/sample/pdf) to find out how
+to use SkPDF as a client calling Skia's public API.
+
+* * *
+
+### Contents ###
+
+* [Typical usage of the PDF backend](#Typical_usage_of_the_PDF_backend)
+* [PDF Objects and Document Structure](#PDF_Objects_and_Document_Structure)
+* [PDF drawing](#PDF_drawing)
+* [Interned objects](#Interned_objects)
+* [Graphic States](#Graphic_States)
+* [Clip and Transform](#Clip_and_Transform)
+* [Generating a content stream](#Generating_a_content_stream)
+* [Drawing details](#Drawing_details)
+ + [Layers](#Layers)
+ + [Fonts](#Fonts)
+ + [Shaders](#Shaders)
+ + [Xfer modes](#Xfer_modes)
+* [Known issues](#Known_issues)
+
+
+<span id="Typical_usage_of_the_PDF_backend">Typical usage of the PDF backend</span>
+-----------------------------------------------------------------------------------
+
+SkPDFDevice is the main interface to the PDF backend. This child of
+SkDevice can be set on an SkCanvas and drawn to. Once drawing to
+the canvas is complete (SkDocument::onEndPage() is called), the
+device's content and resouces are added to the SkPDFDocument that owns
+the device. A new SkPDFDevice should be created for each page or
+layer desired in the document. After all the pages have been added to
+the document, `SkPDFDocument::onClose()` is called to finish
+serializing the PDF file.
+
+
+<span id="PDF_Objects_and_Document_Structure">PDF Objects and Document Structure</span>
+---------------------------------------------------------------------------------------
+
+
+
+**Background**: The PDF file format has a header, a set of objects and
+then a footer that contains a table of contents for all of the objects
+in the document (the cross-reference table). The table of contents
+lists the specific byte position for each object. The objects may have
+references to other objects and the ASCII size of those references is
+dependent on the object number assigned to the referenced object;
+therefore we can’t calculate the table of contents until the size of
+objects is known, which requires assignment of object numbers. The
+document uses SkWStream::bytesWritten() to query the offsets of each
+object and build the cross-reference table.
+
+Furthermore, PDF files can support a *linearized* mode, where objects
+are in a specific order so that pdf-viewers can more easily retrieve
+just the objects they need to display a specific page, i.e. by
+byte-range requests over the web. Linearization also requires that all
+objects used or referenced on the first page of the PDF have object
+numbers before the rest of the objects. Consequently, before
+generating a linearized PDF, all objects, their sizes, and object
+references must be known. Skia has no plans to implement linearized
+PDFs.
+
+ %PDF-1.4
+ …objects...
+ xref
+ 0 31 % Total number of entries in the table of contents.
+ 0000000000 65535 f
+ 0000210343 00000 n
+ …
+ 0000117055 00000 n
+ trailer
+ <</Size 31 /Root 1 0 R>>
+ startxref
+ 210399 % Byte offset to the start of the table of contents.
+ %%EOF
+
+The class SkPDFObjNumMap and the virtual class SkPDFObject are used to
+manage the needs of the file format. Any object that will represent a
+PDF object must inherit from SkPDFObject and implement the methods to
+generate the binary representation and report any other SkPDFObjects
+used as resources. SkPDFTypes.h defines most of the basic PDF object
+types: bool, int, scalar, string, name, array, dictionary, and stream.
+(A stream is a dictionary containing at least a Length entry followed
+by the data of the stream.)
+
+All of these PDF object types except the stream type can be used in
+both a direct and an indirect fashion, i.e. an array can have an int
+or a dictionary as an inline entry, which does not require an object
+number. The stream type, cannot be inlined and must be referred to
+with an object reference. Most of the time, other objects types can be
+referred to with an object reference, but there are specific rules in
+the PDF specification that requires an inline reference in some place
+or an indirect reference in other places. All indirect objects must
+have an object number assigned.
+
+* **bools**: `true` `false`
+* **ints**: `42` `0` `-1`
+* **scalars**: `0.001`
+* **strings**: `(strings are in parentheses or byte encoded)` `<74657374>`
+* **name**: `/Name` `/Name#20with#20spaces`
+* **array**: `[/Foo 42 (arrays can contain multiple types)]`
+* **dictionary**: `<</Key1 (value1) /key2 42>>`
+* **indirect object**:
+ `5 0 obj
+ (An indirect string. Indirect objects have an object number and a
+ generation number, Skia always uses generation 0 objects)
+ endobj`
+* **object reference**: `5 0 R`
+* **stream**: `<</Length 56>>
+ stream
+ ...stream contents can be arbitrary, including binary...
+ endstream`
+
+The PDF backend requires all indirect objects used in a PDF to be
+added to the SkPDFObjNumMap of the SkPDFDocument. The catalog is
+responsible for assigning object numbers and generating the table of
+contents required at the end of PDF files. In some sense, generating a
+PDF is a three step process. In the first step all the objects and
+references among them are created (mostly done by SkPDFDevice). In the
+second step, SkPDFObjNumMap assigns and remembers object numbers.
+Finally, in the third
+step, the header is printed, each object is printed, and then the
+table of contents and trailer are printed. SkPDFDocument takes care of
+collecting all the objects from the various SkPDFDevice instances,
+adding them to an SkPDFObjNumMap, iterating through the objects once to
+set their file positions, and iterating again to generate the final
+PDF.
+
+As an optimization, many leaf nodes in the direct graph of indirect
+objects can be assigned object numbers and serialized early.
+
+ %PDF-1.4
+ 2 0 obj <<
+ /Type /Catalog
+ /Pages 1 0 R
+ >>
+ endobj
+ 3 0 obj <<
+ /Type /Page
+ /Parent 1 0 R
+ /Resources <>
+ /MediaBox [0 0 612 792]
+ /Contents 4 0 R
+ >>
+ endobj
+ 4 0 obj <> stream
+ endstream
+ endobj
+ 1 0 obj <<
+ /Type /Pages
+ /Kids [3 0 R]
+ /Count 1
+ >>
+ endobj
+ xref
+ 0 5
+ 0000000000 65535 f
+ 0000000236 00000 n
+ 0000000009 00000 n
+ 0000000062 00000 n
+ 0000000190 00000 n
+ trailer
+ <</Size 5 /Root 2 0 R>>
+ startxref
+ 299
+ %%EOF
+
+
+<span id="PDF_drawing">PDF drawing</span>
+-----------------------------------------
+
+Most drawing in PDF is specified by the text of a stream, referred to
+as a content stream. The syntax of the content stream is different
+than the syntax of the file format described above and is much closer
+to PostScript in nature. The commands in the content stream tell the
+PDF interpreter to draw things, like a rectangle (`x y w h re`), an
+image, or text, or to do meta operations like set the drawing color,
+apply a transform to the drawing coordinates, or clip future drawing
+operations. The page object that references a content stream has a
+list of resources that can be used in the content stream using the
+dictionary name to reference the resources. Resources are things like
+font objects, images objects, graphic state objects (a set of meta
+operations like miter limit, line width, etc). Because of a mismatch
+between Skia and PDF’s support for transparency (which will be
+explained later), SkPDFDevice records each drawing operation into an
+internal structure (ContentEntry) and only when the content stream is
+needed does it flatten that list of structures into the final content
+stream.
+
+ 4 0 obj <<
+ /Type /Page
+ /Resources <<
+ /Font <</F1 9 0 R>>
+ /XObject <</Image1 22 0 R /Image2 73 0 R>>
+ >>
+ /Content 5 0 R
+ >> endobj
+
+ 5 0 obj <</Length 227>> stream
+ % In the font specified in object 9 and a height
+ % of 12 points, at (72, 96) draw ‘Hello World.’
+ BT
+ /F1 12 Tf
+ 72 96 Td
+ (Hello World) Tj
+ ET
+ % Draw a filled rectange.
+ 200 96 72 72 re B
+ ...
+ endstream
+ endobj
+
+<span id="Interned_objects">Interned objects</span>
+---------------------------------------------------
+
+There are a number of high level PDF objects (like fonts, graphic
+states, etc) that are likely to be referenced multiple times in a
+single PDF. To ensure that there is only one copy of each object
+instance these objects an implemented with an
+[interning pattern](http://en.wikipedia.org/wiki/String_interning).
+As such, the classes representing these objects (like
+SkPDFGraphicState) have private constructors and static methods to
+retrieve an instance of the class.
+
+The SkPDFCanon object owns the interned objects. For obvious reasons,
+the returned instance should not be modified. A mechanism to ensure
+that interned classes are immutable is needed. See [issue
+2683](https://bug.skia.org/2683).
+
+<span id="Graphic_States">Graphic States</span>
+-----------------------------------------------
+
+PDF has a number of parameters that affect how things are drawn. The
+ones that correspond to drawing options in Skia are: color, alpha,
+line cap, line join type, line width, miter limit, and xfer/blend mode
+(see later section for xfer modes). With the exception of color, these
+can all be specified in a single pdf object, represented by the
+SkPDFGraphicState class. A simple command in the content stream can
+then set the drawing parameters to the values specified in that
+graphic state object. PDF does not allow specifying color in the
+graphic state object, instead it must be specified directly in the
+content stream. Similarly the current font and font size are set
+directly in the content stream.
+
+ 6 0 obj <<
+ /Type /ExtGState
+ /CA 1 % Opaque - alpha = 1
+ /LC 0 % Butt linecap
+ /LJ 0 % Miter line-join
+ /LW 2 % Line width of 2
+ /ML 6 % Miter limit of 6
+ /BM /Normal % Blend mode is normal i.e. source over
+ >>
+ endobj
+
+<span id="Clip_and_Transform">Clip and Transform</span>
+-------------------------------------------------------
+
+Similar to Skia, PDF allows drawing to be clipped or
+transformed. However, there are a few caveats that affect the design
+of the PDF backend. PDF does not support perspective transforms
+(perspective transform are treated as identity transforms). Clips,
+however, have more issues to cotend with. PDF clips cannot be directly
+unapplied or expanded. i.e. once an area has been clipped off, there
+is no way to draw to it. However, PDF provides a limited depth stack
+for the PDF graphic state (which includes the drawing parameters
+mentioned above in the Graphic States section as well as the clip and
+transform). Therefore to undo a clip, the PDF graphic state must be
+pushed before the clip is applied, then popped to revert to the state
+of the graphic state before the clip was applied.
+
+As the canvas makes drawing calls into SkPDFDevice, the active
+transform, clip region, and clip stack are stored in a ContentEntry
+structure. Later, when the ContentEntry structures are flattened into
+a valid PDF content stream, the transforms and clips are compared to
+decide on an efficient set of operations to transition between the
+states needed. Currently, a local optimization is used, to figure out
+the best transition from one state to the next. A global optimization
+could improve things by more effectively using the graphics state
+stack provided in the PDF format.
+
+<span id="Generating_a_content_stream">Generating a content stream</span>
+-------------------------------------------------------------------------
+
+For each draw call on an SkPDFDevice, a new ContentEntry is created,
+which stores the matrix, clip region, and clip stack as well as the
+paint parameters. Most of the paint parameters are bundled into an
+SkPDFGraphicState (interned) with the rest (color, font size, etc)
+explicitly stored in the ContentEntry. After populating the
+ContentEntry with all the relevant context, it is compared to the the
+most recently used ContentEntry. If the context matches, then the
+previous one is appended to instead of using the new one. In either
+case, with the context populated into the ContentEntry, the
+appropriate draw call is allowed to append to the content stream
+snippet in the ContentEntry to affect the core of the drawing call,
+i.e. drawing a shape, an image, text, etc.
+
+When all drawing is complete, SkPDFDocument::onEndPage() will call
+SkPDFDevice::content() to request the complete content stream for the
+page. The first thing done is to apply the initial transform specified
+in part in the constructor, this transform takes care of changing the
+coordinate space from an origin in the lower left (PDF default) to the
+upper left (Skia default) as well as any translation or scaling
+requested by the user (i.e. to achieve a margin or scale the
+canvas). Next (well almost next, see the next section), a clip is
+applied to restrict drawing to the content area (the part of the page
+inside the margins) of the page. Then, each ContentEntry is applied to
+the content stream with the help of a helper class, GraphicStackState,
+which tracks the state of the PDF graphics stack and optimizes the
+output. For each ContentEntry, commands are emitted to the final
+content entry to update the clip from its current state to the state
+specified in the ContentEntry, similarly the Matrix and drawing state
+(color, line joins, etc) are updated, then the content entry fragment
+(the actual drawing operation) is appended.
+
+<span id="Drawing_details">Drawing details</span>
+-------------------------------------------------
+
+Certain objects have specific properties that need to be dealt
+with. Images, layers (see below), and fonts assume the standard PDF
+coordinate system, so we have to undo any flip to the Skia coordinate
+system before drawing these entities. We don’t currently support
+inverted paths, so filling an inverted path will give the wrong result
+([issue 241](https://bug.skia.org/241)). PDF doesn’t draw zero length
+lines that have butt of square caps, so that is emulated.
+
+### <span id="Layers">Layers</span> ###
+
+PDF has a higher level object called a form x-object (form external
+object) that is basically a PDF page, with resources and a content
+stream, but can be transformed and drawn on an existing page. This is
+used to implement layers. SkPDFDevice has a method,
+makeFormXObjectFromDevice(), which uses the SkPDFDevice::content()
+method to construct a form x-object from the the
+device. SkPDFDevice::drawDevice() works by creating a form x-object of
+the passed device and then drawing that form x-object in the root
+device. There are a couple things to be aware of in this process. As
+noted previously, we have to be aware of any flip to the coordinate
+system - flipping it an even number of times will lead to the wrong
+result unless it is corrected for. The SkClipStack passed to drawing
+commands includes the entire clip stack, including the clipping
+operations done on the base layer. Since the form x-object will be
+drawn as a single operation onto the base layer, we can assume that
+all of those clips are in effect and need not apply them within the
+layer.
+
+### <span id="Fonts">Fonts</span> ###
+
+There are many details for dealing with fonts, so this document will
+only talk about some of the more important ones. A couple short
+details:
+
+* We can’t assume that an arbitrary font will be available at PDF view
+ time, so we embed all fonts in accordance with modern PDF
+ guidelines.
+* Most fonts these days are TrueType fonts, so this is where most of
+ the effort has been concentrated.
+* Because Skia may only be given a glyph-id encoding of the text to
+ render and there is no perfect way to reverse the encoding, the
+ PDF backend always uses the glyph-id encoding of the text.
+
+#### *Type1/Type3 fonts* ####
+
+Linux supports Type1 fonts, but Windows and Mac seem to lack the
+functionality required to extract the required information from the
+font without parsing the font file. When a non TrueType font is used
+any any platform (except for Type1 on Linux), it is encoded as a Type3
+font. In this context, a Type3 font is an array of form x-objects
+(content streams) that draw each glyph of the font. No hinting or
+kerning information is included in a Type3 font, just the shape of
+each glyph. Any font that has the do-not embed copy protection bit set
+will also get embedded as a Type3 font. From what I understand, shapes
+are not copyrightable, but programs are, so by stripping all the
+programmatic information and only embedding the shape of the glyphs we
+are honoring the do-not embed bit as much as required by law.
+
+PDF only supports an 8-bit encoding for Type1 or Type3 fonts. However,
+they can contain more than 256 glyphs. The PDF backend handles this by
+segmenting the glyphs into groups of 255 (glyph id 0 is always the
+unknown glyph) and presenting the font as multiple fonts, each with up
+to 255 glyphs.
+
+#### *Font subsetting* ####
+
+Many fonts, especially fonts with CJK support are fairly large, so it
+is desirable to subset them. Chrome uses the SFNTLY package to provide
+subsetting support to Skia for TrueType fonts.
+
+### <span id="Shaders">Shaders</span> ###
+
+Skia has two types of predefined shaders, image shaders and gradient
+shaders. In both cases, shaders are effectively positioned absolutely,
+so the initial position and bounds of where they are visible is part
+of the immutable state of the shader object. Each of the Skia’s tile
+modes needs to be considered and handled explicitly. The image shader
+we generate will be tiled, so tiling is handled by default. To support
+mirroring, we draw the image, reversed, on the appropriate axis, or on
+both axes plus a fourth in the vacant quadrant. For clamp mode, we
+extract the pixels along the appropriate edge and stretch the single
+pixel wide/long image to fill the bounds. For both x and y in clamp
+mode, we fill the corners with a rectangle of the appropriate
+color. The composed shader is then rotated or scaled as appropriate
+for the request.
+
+Gradient shaders are handled purely mathematically. First, the matrix
+is transformed so that specific points in the requested gradient are
+at pre-defined locations, for example, the linear distance of the
+gradient is always normalized to one. Then, a type 4 PDF function is
+created that achieves the desired gradient. A type 4 function is a
+function defined by a resticted postscript language. The generated
+functions clamp at the edges so if the desired tiling mode is tile or
+mirror, we hav to add a bit more postscript code to map any input
+parameter into the 0-1 range appropriately. The code to generate the
+postscript code is somewhat obtuse, since it is trying to generate
+optimized (for space) postscript code, but there is a significant
+number of comments to explain the intent.
+
+### <span id="Xfer_modes">Xfer modes</span> ###
+
+PDF supports some of the xfer modes used in Skia directly. For those,
+it is simply a matter of setting the blend mode in the graphic state
+to the appropriate value (Normal/SrcOver, Multiply, Screen, Overlay,
+Darken, Lighten, !ColorDOdge, ColorBurn, HardLight, SoftLight,
+Difference, Exclusion). Aside from the standard SrcOver mode, PDF does
+not directly support the porter-duff xfer modes though. Most of them
+(Clear, SrcMode, DstMode, DstOver, SrcIn, DstIn, SrcOut, DstOut) can
+be emulated by various means, mostly by creating form x-objects out of
+part of the content and drawing it with a another form x-object as a
+mask. I have not figured out how to emulate the following modes:
+SrcATop, DstATop, Xor, Plus.
+
+At the time of writing [2012-06-25], I have a [CL outstanding to fix a
+misunderstanding I had about the meaning of some of the emulated
+modes](https://codereview.appspot.com/4631078/).
+I will describe the system with this change applied.
+
+First, a bit of terminology and definition. When drawing something
+with an emulated xfer mode, what’s already drawn to the device is
+called the destination or Dst, and what’s about to be drawn is the
+source or Src. Src (and Dst) can have regions where it is transparent
+(alpha equals zero), but it also has an inherent shape. For most kinds
+of drawn objects, the shape is the same as where alpha is not
+zero. However, for things like images and layers, the shape is the
+bounds of the item, not where the alpha is non-zero. For example, a
+10x10 image, that is transparent except for a 1x1 dot in the center
+has a shape that is 10x10. The xfermodes gm test demonstrates the
+interaction between shape and alpha in combination with the port-duff
+xfer modes.
+
+The clear xfer mode removes any part of Dst that is within Src’s
+shape. This is accomplished by bundling the current content of the
+device (Dst) into a single entity and then drawing that with the
+inverse of Src’s shape used as a mask (we want Dst where Src
+isn’t). The implementation of that takes a couple more steps. You may
+have to refer back to [the content stream section](#Generating_a_content_stream). For any draw call, a
+ContentEntry is created through a method called
+SkPDFDevice::setUpContentEntry(). This method examines the xfer modes
+in effect for that drawing operation and if it is an xfer mode that
+needs emulation, it creates a form x-object from the device,
+i.e. creates Dst, and stores it away for later use. This also clears
+all of that existing ContentEntry's on that device. The drawing
+operation is then allowed to proceed as normal (in most cases, see
+note about shape below), but into the now empty device. Then, when the
+drawing operation in done, a complementary method is
+called,SkPDFDevice::finishContentEntry(), which takes action if the
+current xfer mode is emulated. In the case of Clear, it packages what
+was just drawn into another form x-object, and then uses the Src form
+x-object, an invert function, and the Dst form x-object to draw Dst
+with the inverse shape of Src as a mask. This works well when the
+shape of Src is the same as the opaque part of the drawing, since PDF
+uses the alpha channel of the mask form x-object to do masking. When
+shape doesn’t match the alpha channel, additional action is
+required. The drawing routines where shape and alpha don’t match, set
+state to indicate the shape (always rectangular), which
+finishContentEntry uses. The clear xfer mode is a special case; if
+shape is needed, then Src isn’t used, so there is code to not bother
+drawing Src if shape is required and the xfer mode is clear.
+
+SrcMode is clear plus Src being drawn afterward. DstMode simply omits
+drawing Src. DstOver is the same as SrcOver with Src and Dst swapped -
+this is accomplished by inserting the new ContentEntry at the
+beginning of the list of ContentEntry’s in setUpContentEntry instead
+of at the end. SrcIn, SrcOut, DstIn, DstOut are similar to each, the
+difference being an inverted or non-inverted mask and swapping Src and
+Dst (or not). SrcIn is SrcMode with Src drawn with Dst as a
+mask. SrcOut is like SrcMode, but with Src drawn with an inverted Dst
+as a mask. DstIn is SrcMode with Dst drawn with Src as a
+mask. Finally, DstOut is SrcMode with Dst draw with an inverted Src as
+a mask.
+
+<span id="Known_issues">Known issues</span>
+-------------------------------------------
+
+* [issue 237](https://bug.skia.org/237)
+ SkMaskFilter is not supported.
+* [issue 238](https://bug.skia.org/238)
+ SkColorFilter is not supported.
+* [issue 249](https://bug.skia.org/249)
+ SrcAtop Xor, and Plus xfer modes are not supported.
+* [issue 240](https://bug.skia.org/240)
+ drawVerticies is not implemented.
+* [issue 244](https://bug.skia.org/244)
+ Mostly, only TTF fonts are *directly* supported.
+ (User metrics show that almost all fonts are truetype.)
+* [issue 260](https://bug.skia.org/260)
+ Page rotation is accomplished by specifying a different
+ size page instead of including the appropriate rotation
+ annotation.
+
+* * *
+
diff --git a/src/third_party/skia/site/dev/design/sync.md b/src/third_party/skia/site/dev/design/sync.md
new file mode 100644
index 0000000..1172058
--- /dev/null
+++ b/src/third_party/skia/site/dev/design/sync.md
@@ -0,0 +1,13 @@
+sync
+====
+
+[`sync`](https://skia.googlesource.com/skia.git/+/master/bin/sync)
+is a Python program that wraps `tools/git-sync-deps`. Motivations for using it:
+
+- Written in Python, so it will work on all platforms.
+
+- Checks to see if the `DEPS` file has changed since it last ran
+ `gclient sync`. If not, it skips that step.
+
+- Since running `sync` is fast when it can do nothing, it is
+ easy to do before every recompile of Skia. This is a good habit.
diff --git a/src/third_party/skia/site/dev/flutter/index.md b/src/third_party/skia/site/dev/flutter/index.md
new file mode 100644
index 0000000..6c5c65e
--- /dev/null
+++ b/src/third_party/skia/site/dev/flutter/index.md
@@ -0,0 +1,23 @@
+Skia in Flutter & Fuchsia
+=========================
+
+Skia is used by both [Flutter](https://flutter.io/) and [Fuchsia](https://fuchsia.googlesource.com/docs/+/master/README.md).
+
+Fuchsia has a [roller](https://fuchsia-roll.skia.org/) that will continuously roll latest Skia into that project. Fuchsia uses an XML [manifest](https://fuchsia.googlesource.com/manifest/+/master/userspace) to specify the Skia revision (as well as other third party libraries).
+
+Flutter does not (yet) have a roller, so developers must manually perform rolls. Flutter uses [DEPS](https://github.com/flutter/engine/blob/master/DEPS) to specify third party dependencies.
+
+
+Although each project is (almost always) building at a different revision of Skia, Fuchsia itself always builds the latest revision of Flutter as one of its components. Thus, the versions of Skia being used by Flutter and Fuchsia must be "source compatible" -- Flutter must be capable of compiling against either revision without any change to Flutter itself.
+
+Making API Changes
+------------------
+
+If you need to make a breaking API change, the basic approach is:
+
+* Add new code to Skia, leaving the old code in place.
+* Deprecate the old code path so that it must be enabled with a flag such as 'SK_SUPPORT_LEGACY_XXX'.
+* Add that same flag to [flutter\_defines.gni](https://skia.googlesource.com/skia/+/master/gn/flutter_defines.gni) in Skia.
+ * Both Flutter and Fuchsia build Skia with a GN argument that enables all the defines listed in that file.
+* Land the Skia change, and test the new API in both Flutter and Fuchsia.
+* Remove the flag and code when the legacy code path is no longer in use.
diff --git a/src/third_party/skia/site/dev/index.md b/src/third_party/skia/site/dev/index.md
new file mode 100644
index 0000000..80a3339
--- /dev/null
+++ b/src/third_party/skia/site/dev/index.md
@@ -0,0 +1,4 @@
+Developer Documentation
+=======================
+
+If you want to make changes to the Skia code, this is the place for you.
diff --git a/src/third_party/skia/site/dev/internal/index.md b/src/third_party/skia/site/dev/internal/index.md
new file mode 100644
index 0000000..726c9a9
--- /dev/null
+++ b/src/third_party/skia/site/dev/internal/index.md
@@ -0,0 +1,39 @@
+Internal Links
+==============
+
+Index of links to resources that are internal to the Google/Skia core team, for
+easy reference.
+
+Skia team information
+---------------------
+* [Granting access to Skia](https://sites.google.com/a/google.com/skia/key-resources/access)
+* [Project communications](https://sites.google.com/a/google.com/skia/key-resources)
+
+Skia project information
+------------------------
+* [Milestones and schedule](https://sites.google.com/a/google.com/skia/milestones)
+* [Status](https://sites.google.com/a/google.com/skia/status) from weekly,
+monthly updates and OKRs
+* [Skia branch process](https://docs.google.com/a/google.com/document/d/1Xn24lTMlmUgdP8bp-iHOeGKAOp8L5uCxg12lw49Jlpg/edit?usp=sharing)
+* [Design documents](https://sites.google.com/a/google.com/skia/design-documents)
+
+Infrastructure related
+----------------------
+* [iOS tools](https://sites.google.com/a/google.com/skia/key-resources/ios-provisioning)
+for machine setup and provisioning
+* [SKP Playback](https://docs.google.com/a/google.com/document/d/1oJpuY8XKc212RsfUm6oEH2tp26Veb-Gez3clBuqapE4/edit?usp=sharing)
+for downloading buildbot SKPs
+
+Chrome related
+--------------
+* [Development on a Chrome branch](https://sites.google.com/a/google.com/skia/development-on-a-chrome-branch)
+* [Cherrypick instructions](https://sites.google.com/a/google.com/skia/development-on-a-chrome-branch#TOC-How-to-cherrypick-a-Skia-fix-into-a-Chrome-branch)
+
+Android related
+---------------
+* Skia on Android [development guide](https://sites.google.com/a/google.com/skia/android)
+
+Google3 related
+---------------
+* [Google3-Autoroller](https://sites.google.com/a/google.com/skia-infrastructure/docs/google3-autoroller)
+-- How to handle failures and how to test CLs.
diff --git a/src/third_party/skia/site/dev/present/index.md b/src/third_party/skia/site/dev/present/index.md
new file mode 100644
index 0000000..7452cb6
--- /dev/null
+++ b/src/third_party/skia/site/dev/present/index.md
@@ -0,0 +1,4 @@
+Presentations
+================
+
+Resources providing technical overview of various aspects of the Skia library
diff --git a/src/third_party/skia/site/dev/present/pathops.md b/src/third_party/skia/site/dev/present/pathops.md
new file mode 100644
index 0000000..55a65d3
--- /dev/null
+++ b/src/third_party/skia/site/dev/present/pathops.md
@@ -0,0 +1,27 @@
+Path Ops
+========
+
+View the PathOps presentations with speaker notes enabled for full content.
+
+2013 Path Ops Presentation
+------------
+<iframe
+src="https://docs.google.com/presentation/d/1iEjbQV4o40hoooB9DiAHjH9P9Q5CrVUUnbYdQtQB6_A/embed?start=false&loop=false&delayms=3000"
+frameborder="0" width="480" height="299" allowfullscreen="true"
+mozallowfullscreen="true" webkitallowfullscreen="true"></iframe>
+
+2014 Update
+------------
+<iframe
+src="https://docs.google.com/presentation/d/1NbmG5W6VW9h5HtjpCVLx4h6SXW0qW7HIwmSfiwzFbrI/embed?start=false&loop=false&delayms=3000"
+frameborder="0" width="480" height="299" allowfullscreen="true"
+mozallowfullscreen="true" webkitallowfullscreen="true"></iframe>
+
+2015 Update
+------------
+<iframe
+src="https://docs.google.com/presentation/d/1PoZdIx4DqdIvs7ybv-L3EvtxQE2qXuzeOZpSkFJjfhg/embed?start=false&loop=false&delayms=3000"
+frameborder="0" width="480" height="299" allowfullscreen="true"
+mozallowfullscreen="true" webkitallowfullscreen="true"></iframe>
+
+## [Path Ops Inverse Fill Illustration](https://drive.google.com/file/d/0BwoLUwz9PYkHLWpsaXd0UDdaN00/view?usp=sharing)
diff --git a/src/third_party/skia/site/dev/sheriffing/android.md b/src/third_party/skia/site/dev/sheriffing/android.md
new file mode 100644
index 0000000..73c1f6e
--- /dev/null
+++ b/src/third_party/skia/site/dev/sheriffing/android.md
@@ -0,0 +1,62 @@
+Android RoboCop Documentation
+===========================
+
+### Contents ###
+
+* [What does a Android RoboCop do?](#what_is_a_robocop)
+* [Android Autorollers](#autoroller_doc)
+* [View current and upcoming RoboCops](#view_current_upcoming_robocops)
+* [How to swap RoboCop shifts](#how_to_swap)
+
+
+<a name="what_is_a_robocop"></a>
+What does a Android RoboCop do?
+-----------------------
+
+The RoboCop has two primary jobs:
+
+1) Monitor and approve the semi-autonomous [git merges](https://googleplex-android-review.git.corp.google.com/#/q/owner:31977622648%2540project.gserviceaccount.com+status:open) from Skia's repository into the Android source tree. See autoroller documentation <a href="#autoroller_doc">here</a> for details on how to interact with it.
+
+2) Stay on top of incoming Android-related bugs in both the [Skia](https://bugs.chromium.org/p/skia/issues/list?can=2&q=OpSys%3DAndroid&sort=-id&colspec=ID+Type+Status+Priority+Owner+Summary&cells=tiles) and [Android](https://buganizer.corp.google.com/issues?q=componentid:1346%20status:open) bug trackers. For Skia bugs, this means triaging and assigning all Android bugs that are currently unassigned. For Android, this means following the [Android guidelines](go/android-buganizer) to verifying that all Skia bugs are TL-triaged (if not reach out to djsollen@).
+
+The RoboCop's job is NOT to address issues in Perf and Gold. You'll get your chance when you are the general Skia sheriff.
+
+
+<a name="autoroller_doc"></a>
+Android Autorollers
+-------------------
+
+The Android autoroller into the master branch runs on [https://android-master-roll.skia.org](android-master-roll.skia.org) and is accessible only to Googlers.<br/>
+The autoroller's status is displayed on Skia's [status page](https://status.skia.org/).
+
+You can send the autoroller into dry run mode via the UI. The uploaded change will not autosubmit when it is in dry run mode.
+
+You can also stop the autoroller via the UI. This is useful in cases where a failure needs to be investigated and you do not want to waste TH resources by running unnecessary tests.
+
+If you need any more information about the autoroller please look at [skia:5538](https://bugs.chromium.org/p/skia/issues/detail?id=5538) or ask rmistry@ / skiabot@.
+
+We also have autorollers into release branches (also restricted only to Googlers):
+
+* [https://android-o-roll.skia.org](https://android-o-roll.skia.org).
+
+Changes created by these rollers need to be manually approved.<br/>
+The changes created by the release rollers:
+
+* Include all authors of merged changes so that they can watch the roll.
+* Extracts all buganizer bugs of the form 'BUG=b/123' or 'Bug: b/456' and creates a single line in the merge change 'Bug: 123, 456'.
+* Collects all 'Test: ' lines and carries them over to the merge change.
+
+
+<a name="view_current_upcoming_robocops"></a>
+View current and upcoming RoboCops
+----------------------------------
+
+The list of RoboCops is specified in the [skia-tree-status web app](http://skia-tree-status.appspot.com/robocop). The current RoboCop is highlighted in green.
+The banner on the top of the [status page](https://status.skia.org) also displays the current RoboCop.
+
+
+<a name="how_to_swap"></a>
+How to swap RoboCop shifts
+--------------------------
+
+If you need to swap shifts with someone (because you are out sick or on vacation), please get approval from the person you want to swap with. Then send an email to skia-android@google.com and cc rmistry@.
diff --git a/src/third_party/skia/site/dev/sheriffing/gpu.md b/src/third_party/skia/site/dev/sheriffing/gpu.md
new file mode 100644
index 0000000..ea4ecfc
--- /dev/null
+++ b/src/third_party/skia/site/dev/sheriffing/gpu.md
@@ -0,0 +1,60 @@
+GPU Wrangler Documentation
+===========================
+
+### Contents ###
+
+* [What does a GPU wrangler do?](#what_is_a_wrangler)
+* [Tracking Wrangler Work do?](#tracking)
+* [View current and upcoming wranglers](#view_current_upcoming_wranglers)
+* [How to swap wrangler shifts](#how_to_swap)
+* [Tips for wranglers](#tips)
+
+
+<a name="what_is_a_wrangler"></a>
+What does a GPU Wrangler do?
+-----------------------
+
+The wrangler has three main jobs:
+
+1) Stay on top of incoming GPU-related bugs from clients in various bug trackers. This means triaging and assigning bugs that have a clear owner and investigating and possibly fixing bugs that don't.
+
+
+2) Improve the reliability of the GPU bots. This includes dealing with flaky images, crashing bots, etc. We have a never ending set of machine or driver specific issues to deal with. We often brush them under the rug so that we have time for the "real work." When you're wrangler this is "real work."
+
+
+3) Improve our tooling. This includes writing new tools and improving existing test tools. Expected results are faster bot run times, more accurate testing, faster testing, surfacing new useful data, and improving debuggability.
+
+
+The wrangler should always prioritize dealing with incoming bugs. The balance of a wrangler's time should be spent divided as seen fit between 2) and 3). It is expected that as much as possible a wrangler puts normal work on pause and focuses on wrangler tasks for the full week. It is ok (and encouraged) to take a deep dive on one particular facet of the wrangler duties and drive it as far as possible during wrangler week (while staying on top of incoming bugs).
+
+Note that the wrangler's job is NOT to spend an abnormal amount of time triaging images, filing bugs for failing bots, or shepherding DEPS rolls. You'll get your chance when you are the general Skia sheriff.
+
+<a name="tracking"></a>
+Tracking Wrangler Work
+-----------------------
+Outside of bug reports, a wrangler should track their progress so that a future wrangler can pick up any batons left shy of the finish line at week's end. This doc is the written history of wrangling:
+https://goto.google.com/skgpu-wrangler-notes
+
+Also, whenever a wrangler figures out how to accomplish a wrangly task (e.g. run a set of Chromium tests that aren't well documented or a cool OpenGL trick used to debug a gnarly issue) the tips section of this doc should be updated to assist future wranglers.
+
+
+<a name="view_current_upcoming_wranglers"></a>
+View current and upcoming wranglers
+----------------------------------
+
+The list of wranglers is specified in the [skia-tree-status web app](http://skia-tree-status.appspot.com/gpu-sheriff). The current wrangler is highlighted in green.
+The banner on the top of the [status page](https://status.skia.org) also displays the current wrangler.
+
+
+<a name="how_to_swap"></a>
+How to swap wrangler shifts
+--------------------------
+
+If you need to swap shifts with someone (because you are out sick or on vacation), please get approval from the person you want to swap with. Then send an email to skia-gpu-team@google.com and cc rmistry@.
+
+
+<a name="tips"></a>
+Tips for Wrangers
+-----------------
+
+Please see [this](https://docs.google.com/a/google.com/document/d/1Q1A5T5js4MdqvD0EKjCgNbUBJfRBMPKR3OZAkc-2Tvc/edit?usp=sharing) doc.
diff --git a/src/third_party/skia/site/dev/sheriffing/index.md b/src/third_party/skia/site/dev/sheriffing/index.md
new file mode 100644
index 0000000..45be620
--- /dev/null
+++ b/src/third_party/skia/site/dev/sheriffing/index.md
@@ -0,0 +1,183 @@
+Tree Sheriffs Documentation
+===========================
+
+### Contents ###
+
+* [What does a sheriff do?](#what_is_a_sheriff)
+ + [Skia tree](#skia_tree)
+ + [DEPS rolls](#deps_rolls)
+ + [Gold and Perf](#gold_and_perf)
+ + [Documentation](#sheriff_doc)
+* [View current and upcoming sheriffs](#view_current_upcoming_sheriffs)
+* [How to swap sheriff shifts](#how_to_swap)
+* [Tips for sheriffs](#tips)
+ + [When to file bugs](#when_to_file_bugs)
+ + [How to close or re-open the tree](#how_close_tree)
+ + [Compile bot failures automatically close the tree](#tree_closers)
+ + [How to revert a CL](#how_to_revert)
+ + [What to do if DEPS roll fails to land](#deps_roll_failures)
+ + [How to rebaseline](#how_to_rebaseline)
+
+
+<a name="what_is_a_sheriff"></a>
+What does a sheriff do?
+-----------------------
+
+A sheriff keeps an eye on the tree, DEPS rolls, Gold tool and the Perf tool.
+
+Below is a brief summary of what the sheriff does for each task:
+
+<a name="skia_tree"></a>
+### Skia tree
+* Understand the [testing infrastructure](https://skia.org/dev/testing/automated_testing).
+* Start watching the [status page](https://status.skia.org) for bot breakages.
+* Track down people responsible for breakages and revert broken changes if there is no easy fix. You can use [blamer](#blamer) to help track down such changes.
+* Close and open the [tree](http://skia-tree-status.appspot.com).
+* Keep the builder comments on the [status page](https://status.skia.org) up to date.
+* File or follow up with [BreakingTheBuildbots bugs](https://bug.skia.org/?q=label:BreakingTheBuildbots). See the tip on [when to file bugs](#when_to_file_bugs).
+
+<a name="blamer"></a>
+### Blamer
+If you have Go installed, a command-line tool is available to search through
+git history and do text searches on the full patch text and the commit
+message. To install blamer run:
+
+ go get go.skia.org/infra/blamer/go/blamer
+
+Then run blamer from within a Skia checkout. For example, to search if the
+string "SkDevice" has appeared in the last 10 commits:
+
+ $ $GOPATH/bin/blamer --match SkDevice --num 10
+
+ commit ea70c4bb22394c8dcc29a369d3422a2b8f3b3e80
+ Author: robertphillips <robertphillips@google.com>
+ Date: Wed Jul 20 08:54:31 2016 -0700
+
+ Remove SkDevice::accessRenderTarget virtual
+ GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2167723002
+
+ Review-Url: https://codereview.chromium.org/2167723002
+
+<a name="deps_rolls"></a>
+### DEPS rolls
+* Ensure that [AutoRoll Bot](https://autoroll.skia.org)'s DEPS rolls land successfully.
+
+<a name="gold_and_perf"></a>
+### Gold and Perf
+* Pay attention for new [Perf](https://perf.skia.org/) and [Gold](https://gold.skia.org/) alerts (by clicking on the bell at the top right of the [status page](https://status.skia.org)).
+* The sheriff's duty here is to make sure that when developers introduce new images or new perf regressions, that they are aware of what happened, and they use these tools to take appropriate action.
+
+<a name="sheriff_doc"></a>
+### Documentation
+* Improve/update this documentation page for future sheriffs, especially the [Tips section](#tips).
+
+In general, sheriffs should have a strong bias towards actions that keep the tree green and then open; if a simple revert can fix the problem, the sheriff <b>should revert first and ask questions later</b>.
+
+
+<a name="view_current_upcoming_sheriffs"></a>
+View current and upcoming sheriffs
+----------------------------------
+
+The list of sheriffs is specified in the [skia-tree-status web app](https://skia-tree-status.appspot.com/sheriff). The current sheriff is highlighted in green.
+The banner on the top of the [status page](https://status.skia.org) also displays the current sheriff.
+
+
+<a name="how_to_swap"></a>
+How to swap sheriff shifts
+--------------------------
+
+If you need to swap shifts with someone (because you are out sick or on vacation), please get approval from the person you want to swap with. Then send an email to skiabot@google.com to have someone make the database change (or directly ping rmistry@).
+
+
+<a name="tips"></a>
+Tips for sheriffs
+-----------------
+
+<a name="when_to_file_bugs"></a>
+### When to file bugs
+
+Pay close attention to the "Failures" view in the [status page](https://status.skia.org).
+Look at all existing [BreakingTheBuildbots bugs](https://bug.skia.org/?q=label:BreakingTheBuildbots). If the list is kept up to date then it should accurately represent everything that is causing failures. If it does not, then please file/update bugs accordingly.
+
+
+<a name="how_close_tree"></a>
+### How to close or re-open the tree
+
+1. Go to [skia-tree-status.appspot.com](https://skia-tree-status.appspot.com).
+2. Change the status.
+ * To close the tree, include the word "closed" in the status.
+ * To open the tree, include the word "open" in the status.
+ * To caution the tree, include the word "caution" in the status.
+
+
+<a name="how_to_submit_when_tree_closed"></a>
+### How to submit when the tree is closed
+
+* Submit manually using the "git cl land" with the --bypass-hooks flag.
+* Add "No-Tree-Checks: true" to your CL description and use the CQ as usual.
+
+
+<a name="tree_closers"></a>
+### Compile bot failures automatically close the tree
+
+A failure of the build steps in all compile bots automatically closes the tree. Sheriffs will have to manually reopen the tree when they deem the problem fixed.
+
+Note: The tree is not closed automatically if the last run of the failed compile builder had the same failing step. The tree is also not closed if the tree was automatically closed less than 10 mins ago. If the tree is already closed then no action is taken.
+
+
+<a name="how_to_revert"></a>
+### How to revert a CL
+
+See the revert documentation [here](https://skia.org/dev/contrib/revert).
+
+
+<a name="deps_roll_failures"></a>
+### What to do if DEPS roll fails to land
+
+A common cause of DEPS roll failures are layout tests. Find the offending Skia CL by examining the commit hash range in the DEPS roll and revert (or talk to the commit author if they are available). If you do revert then keep an eye on the next DEPS roll to make sure it succeeds.
+
+If a Skia CL changes layout tests, but the new images look good, the tests need to be rebaselined. See [Rebaseline Layout Tests](#how_to_rebaseline).
+
+<a name="how_to_rebaseline"></a>
+### Rebaseline Layout Tests (i.e., add suppressions)
+
+* First create a Chromium bug:
+ * goto [crbug.com](https://crbug.com)
+ * Make sure you’re logged in with your Chromium credentials
+ * Click “New Issue”
+ * Summary: “Skia image rebaseline”
+ * Description:
+ * DEPS roll #,
+ * Helpful message about what went wrong (e.g., “Changes to how lighting is scaled in Skia r#### changed the following images:”)
+ * Layout tests affected
+ * You should copy the list of affected from stdio of the failing bot
+ * Status: Assigned
+ * Owner: yourself
+ * cc: reed@, bsalomon@, robertphillips@ & developer responsible for changes
+ * Labels: OS-All & Cr-Blink-LayoutTests
+ * If it is filter related, cc senorblanco@
+
+* (Dispreferred but faster) Edit [skia/skia_test_expectations.txt](https://chromium.googlesource.com/chromium/src/+/master/skia/skia_test_expectations.txt)
+ * Add # comment about what has changed (I usually paraphrase the crbug text)
+ * Add line(s) like the following after the comment:
+ * crbug.com/<bug#youjustcreated> foo/bar/test-name.html [ ImageOnlyFailure ]
+ * Note: this change is usually done in the DEPS roll patch itself
+
+* (Preferred but slower) Make a separate Blink patch by editing LayoutTests/TestExpectations
+ * Add # comment about what has changed (I usually paraphrase the crbug text)
+ * Add line(s) like the following after the comment:
+ * crbug.com/<bug#youjustcreated> foo/bar/test-name.html [ NeedsManualRebaseline ]
+ * Commit the patch you created and wait until it lands and rolls into Chrome
+
+* Retry the DEPS roll (for the 1st/dispreferred option this usually means just retrying the layout bots)
+* Make a Blink patch by editing LayoutTests/TestExpectations
+ * Add # comment about what has changed
+ * Add line(s) like the following after the comment:
+ * crbug.com/<bug#youjustcreated> foo/bar/test-name.html [ NeedsRebaseline ]
+ * (if you took the second option above you can just edit the existing line(s))
+
+* If you took the first/dispreferred option above:
+ * Wait for the Blink patch to roll into Chrome
+ * Create a Chrome patch that removes your suppressions from skia/skia_test_expectations.txt
+
+
diff --git a/src/third_party/skia/site/dev/sheriffing/trooper.md b/src/third_party/skia/site/dev/sheriffing/trooper.md
new file mode 100644
index 0000000..f497381
--- /dev/null
+++ b/src/third_party/skia/site/dev/sheriffing/trooper.md
@@ -0,0 +1,119 @@
+Infra Trooper Documentation
+===========================
+
+### Contents ###
+
+* [What does an Infra trooper do?](#what_is_a_trooper)
+* [View current and upcoming troopers](#view_current_upcoming_troopers)
+* [How to swap trooper shifts](#how_to_swap)
+* [Tips for troopers](#tips)
+
+
+<a name="what_is_a_trooper"></a>
+What does an Infra trooper do?
+------------------------------
+
+The trooper has two main jobs:
+
+1) Keep an eye on Infra alerts emails (sent to infra-alerts@skia.org). The alerts are also available [here](https://alerts.skia.org/infra).
+
+2) Resolve the above alerts as they come in.
+
+<a name="view_current_upcoming_troopers"></a>
+View current and upcoming troopers
+----------------------------------
+
+The list of troopers is specified in the [skia-tree-status web app](http://skia-tree-status.appspot.com/trooper). The current trooper is highlighted in green.
+The banner on the top of the [status page](https://status.skia.org) also displays the current trooper.
+
+
+<a name="how_to_swap"></a>
+How to swap trooper shifts
+--------------------------
+
+If you need to swap shifts with someone (because you are out sick or on vacation), please get approval from the person you want to swap with. Then send an email to skiabot@google.com and cc rmistry@.
+
+
+<a name="tips"></a>
+Tips for troopers
+-----------------
+
+- Make sure you are a member of
+ [MDB group chrome-skia-ninja](https://ganpati.corp.google.com/#Group_Info?name=chrome-skia-ninja@prod.google.com).
+ Valentine passwords and Chrome Golo access are based on membership in this
+ group.
+
+- These alerts generally auto-dismiss once the criteria for the alert is no
+ longer met:
+ - Monitoring alerts, including prober, collectd, and others
+ - Disconnected build slaves
+
+- These alerts generally do not auto-dismiss ([issue here](https://bug.skia.org/4292)):
+ - Build slaves that failed a step
+ - Disconnected devices (these are detected as the "wait for device" step failing)
+
+- "Failed to execute query" may show a different query than the failing one;
+ dismiss the alert to get a new alert showing the query that is actually
+ failing. (All "failed to execute query" alerts are lumped into a single alert,
+ which is why the failed query which initially triggered the alert may not be
+ failing any more but the alert is still active because another query is
+ failing.)
+
+- Where machines are located:
+ - Machine name like "skia-vm-NNN", "ct-vm-NNN" -> GCE
+ - Machine name ends with "a3", "a4", "m3" -> Chrome Golo
+ - Machine name ends with "m5" -> CT bare-metal bots in Chrome Golo
+ - Machine name starts with "skiabot-" -> Chapel Hill lab
+ - Machine name starts with "win8" -> Chapel Hill lab (Windows machine
+ names can't be very long, so the "skiabot-shuttle-" prefix is dropped.)
+ - slave11-c3 is a Chrome infra GCE machine (not to be confused with the Skia
+ Buildbots GCE, which we refer to as simply "GCE")
+
+- The [chrome-infra hangout](https://goto.google.com/cit-hangout) is useful for
+ questions regarding bots managed by the Chrome Infra team and to get
+ visibility into upstream failures that cause problems for us.
+
+- To log in to a Linux buildbot in GCE, use `gcloud compute ssh default@<machine
+ name>`. Choose the zone listed for the
+ [GCE VM](https://pantheon.corp.google.com/project/31977622648/compute/instances)
+ (or specify it using the `--zone` command-line flag).
+
+- To log in to a Windows buildbot in GCE, use
+ [Chrome RDP Extension](https://chrome.google.com/webstore/detail/chrome-rdp/cbkkbcmdlboombapidmoeolnmdacpkch?hl=en-US)
+ with the
+ [IP address of the GCE VM](https://pantheon.corp.google.com/project/31977622648/compute/instances)
+ shown on the [host info page](https://status.skia.org/hosts) for that bot. The
+ username is chrome-bot and the password can be found on
+ [Valentine](https://valentine.corp.google.com/) as "chrome-bot (Win GCE)".
+
+- If there is a problem with a bot in the Chrome Golo or Chrome infra GCE, the
+ best course of action is to
+ [file a bug](https://code.google.com/p/chromium/issues/entry?template=Build%20Infrastructure)
+ with the Chrome infra team. But if you know what you're doing:
+ - To access bots in the Chrome Golo,
+ [follow these instructions](https://chrome-internal.googlesource.com/infra/infra_internal/+/master/doc/ssh.md).
+ - Machine name ends with "a3" or "a4" -> ssh command looks like `ssh
+ build3-a3.chrome`
+ - Machine name ends with "m3" -> ssh command looks like `ssh build5-m3.golo`
+ - Machine name ends with "m5" -> ssh command looks like `ssh build1-m5.golo`.
+ [Example bug](https://bugs.chromium.org/p/chromium/issues/detail?id=638193) to file to Infra Labs.
+ - For MacOS and Windows bots, you will be prompted for a password, which is
+ stored on [Valentine](https://valentine.corp.google.com/) as "Chrome Golo,
+ Perf, GPU bots - chrome-bot".
+ - To access bots in the Chrome infra GCE -> command looks like `gcutil
+ --project=google.com:chromecompute ssh --ssh_user=default slave11-c3` (or
+ use the ccompute ssh script from the infra_internal repo).
+
+- Read over the [SkiaLab documentation](../testing/skialab) for more detail on
+ dealing with device alerts.
+
+- To stop a buildslave for a device, log in to the host for that device, `cd
+ ~/buildbot/<slave name>/build/slave; make stop`. To start it again,
+ `TESTING_SLAVENAME=<slave name> make start`.
+
+- Buildslaves can be slow to come up after reboot, but if the buildslave remains
+ disconnected, you may need to start it manually. On Mac and Linux, check using
+ `ps aux | grep python` that neither buildbot nor gclient are running, then run
+ `~/skiabot-slave-start-on-boot.sh`.
+
+- Sometimes iOS builds fail with 'The service is invalid'. Try rebooting the iOS host to fix this.
diff --git a/src/third_party/skia/site/dev/testing/BlameView.png b/src/third_party/skia/site/dev/testing/BlameView.png
new file mode 100644
index 0000000..8884dbc
--- /dev/null
+++ b/src/third_party/skia/site/dev/testing/BlameView.png
Binary files differ
diff --git a/src/third_party/skia/site/dev/testing/ByTest.png b/src/third_party/skia/site/dev/testing/ByTest.png
new file mode 100644
index 0000000..75857f1
--- /dev/null
+++ b/src/third_party/skia/site/dev/testing/ByTest.png
Binary files differ
diff --git a/src/third_party/skia/site/dev/testing/Cluster.png b/src/third_party/skia/site/dev/testing/Cluster.png
new file mode 100644
index 0000000..12dc4d5
--- /dev/null
+++ b/src/third_party/skia/site/dev/testing/Cluster.png
Binary files differ
diff --git a/src/third_party/skia/site/dev/testing/ClusterConfig.png b/src/third_party/skia/site/dev/testing/ClusterConfig.png
new file mode 100644
index 0000000..6854d95
--- /dev/null
+++ b/src/third_party/skia/site/dev/testing/ClusterConfig.png
Binary files differ
diff --git a/src/third_party/skia/site/dev/testing/Digests.png b/src/third_party/skia/site/dev/testing/Digests.png
new file mode 100644
index 0000000..efd811f
--- /dev/null
+++ b/src/third_party/skia/site/dev/testing/Digests.png
Binary files differ
diff --git a/src/third_party/skia/site/dev/testing/DotDiagram.png b/src/third_party/skia/site/dev/testing/DotDiagram.png
new file mode 100644
index 0000000..7bf8b99
--- /dev/null
+++ b/src/third_party/skia/site/dev/testing/DotDiagram.png
Binary files differ
diff --git a/src/third_party/skia/site/dev/testing/Grid.png b/src/third_party/skia/site/dev/testing/Grid.png
new file mode 100644
index 0000000..192d340
--- /dev/null
+++ b/src/third_party/skia/site/dev/testing/Grid.png
Binary files differ
diff --git a/src/third_party/skia/site/dev/testing/Ignores.png b/src/third_party/skia/site/dev/testing/Ignores.png
new file mode 100644
index 0000000..a4200ca
--- /dev/null
+++ b/src/third_party/skia/site/dev/testing/Ignores.png
Binary files differ
diff --git a/src/third_party/skia/site/dev/testing/Isolate.png b/src/third_party/skia/site/dev/testing/Isolate.png
new file mode 100644
index 0000000..b6330b9
--- /dev/null
+++ b/src/third_party/skia/site/dev/testing/Isolate.png
Binary files differ
diff --git a/src/third_party/skia/site/dev/testing/IssueHighlight.png b/src/third_party/skia/site/dev/testing/IssueHighlight.png
new file mode 100644
index 0000000..c21fda9
--- /dev/null
+++ b/src/third_party/skia/site/dev/testing/IssueHighlight.png
Binary files differ
diff --git a/src/third_party/skia/site/dev/testing/Perf.png b/src/third_party/skia/site/dev/testing/Perf.png
new file mode 100644
index 0000000..bcbc20f
--- /dev/null
+++ b/src/third_party/skia/site/dev/testing/Perf.png
Binary files differ
diff --git a/src/third_party/skia/site/dev/testing/Search.png b/src/third_party/skia/site/dev/testing/Search.png
new file mode 100644
index 0000000..4e8491e
--- /dev/null
+++ b/src/third_party/skia/site/dev/testing/Search.png
Binary files differ
diff --git a/src/third_party/skia/site/dev/testing/Status.png b/src/third_party/skia/site/dev/testing/Status.png
new file mode 100644
index 0000000..4b835eb
--- /dev/null
+++ b/src/third_party/skia/site/dev/testing/Status.png
Binary files differ
diff --git a/src/third_party/skia/site/dev/testing/automated_testing.md b/src/third_party/skia/site/dev/testing/automated_testing.md
new file mode 100644
index 0000000..d7a817a
--- /dev/null
+++ b/src/third_party/skia/site/dev/testing/automated_testing.md
@@ -0,0 +1,90 @@
+Skia Automated Testing
+======================
+
+Overview
+--------
+
+Skia uses [Swarming](https://github.com/luci/luci-py/blob/master/appengine/swarming/doc/Design.md)
+to do the heavy lifting for our automated testing. It farms out tasks, which may
+consist of compiling code, running tests, or any number of other things, to our
+bots, which are virtual or real machines living in our local lab, Chrome Infra's
+lab, or in GCE.
+
+The [Skia Task Scheduler](http://go/skia-task-scheduler) determines what tasks
+should run on what bots at what time. See the link for a detailed explanation of
+how relative task priorities are derived. A *task* corresponds to a single
+Swarming task. A *job* is composed of a directed acyclic graph of one or more
+*tasks*. The job is complete when all of its component tasks have succeeded
+or is considered a failure when any of its component tasks fails. The scheduler
+may automatically retry tasks within its set limits. Jobs are not retried.
+Multiple jobs may share the same task, for example, tests on two different
+Android devices which use the same compiled code.
+
+Each Skia repository has an infra/bots/tasks.json file which defines the jobs
+and tasks for the repo. Most jobs will run at every commit, but it is possible
+to specify nightly and weekly jobs as well. For convenience, most repos also
+have a gen_tasks.go which will generate tasks.json. You will need to
+[install Go](https://golang.org/doc/install). From the repository root:
+
+ $ go get -u go.skia.org/infra/...
+ $ go run infra/bots/gen_tasks.go
+
+It is necessary to run gen_tasks.go every time it is changed or every time an
+[asset](https://skia.googlesource.com/skia/+/master/infra/bots/assets/README.md)
+has changed. There is also a test mode which simply verifies that the tasks.json
+file is up to date:
+
+ $ go run infra/bots/gen_tasks.go --test
+
+
+
+Try Jobs
+--------
+
+It is useful to know how your change will perform before it is submitted. After
+uploading your CL to [Gerrit](https://skia-review.googlesource.com/), you may
+trigger a try job for any job listed in tasks.json:
+
+ $ git cl try -B <bucket name> -b <job name>
+
+The bucket name refers to the [Buildbucket](https://chromium.googlesource.com/infra/infra/+/master/appengine/cr-buildbucket/README.md)
+bucket to which the request will be submitted. Most public Skia repos use the
+"skia.primary" bucket, and most private Skia repos use the "skia.internal"
+bucket.
+
+
+Status View
+------------
+
+The status view shows a table with tasks, grouped by test type and platform,
+on the X-axis and commits on the Y-axis. The cells are colored according to
+the status of the task for each commit:
+
+* green: success
+* orange: failure
+* purple: exception (infrastructure issue)
+* black border, no fill: task in progress
+* blank: no task has started yet for a given revision
+
+Commits are listed by author, and the branch on which the commit was made is
+shown on the very left. A purple result will override an orange result.
+
+For more detail, you can click on an individual cell to get a summary of the
+task. You can also click one of the white bars at the top of each column to see
+a summary of recent tasks with the same name.
+
+The status page has several filters which can be used to show only a subset of
+task specs:
+
+* Interesting: Task specs which have both successes and failures within the
+ visible commit window.
+* Failures: Task specs which have failures within the visible commit window.
+* Comments: Task specs which have comments.
+* Failing w/o comment: task specs which have failures within the visible commit
+ window but have no comments.
+* All: Display all tasks.
+* Search: Enter a search string. Substrings and regular expressions may be
+ used, per the Javascript String Match() rules:
+ http://www.w3schools.com/jsref/jsref_match.asp
+
+
diff --git a/src/third_party/skia/site/dev/testing/ct-system-diagram.svg b/src/third_party/skia/site/dev/testing/ct-system-diagram.svg
new file mode 100644
index 0000000..3251cf2
--- /dev/null
+++ b/src/third_party/skia/site/dev/testing/ct-system-diagram.svg
@@ -0,0 +1,4 @@
+<?xml version="1.0" standalone="yes"?>
+
+<svg version="1.1" viewBox="0.0 0.0 913.2414698162729 647.4120734908137" fill="none" stroke="none" stroke-linecap="square" stroke-miterlimit="10" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><clipPath id="p.0"><path d="m0 0l913.24146 0l0 647.41205l-913.24146 0l0 -647.41205z" clip-rule="nonzero"></path></clipPath><g clip-path="url(#p.0)"><path fill="#000000" fill-opacity="0.0" d="m0 0l913.24146 0l0 647.41205l-913.24146 0z" fill-rule="nonzero"></path><path fill="#cfe2f3" d="m372.84747 34.722347l0 0c0 -15.513569 12.576233 -28.089802 28.089813 -28.089802l262.68655 0c7.44989 0 14.5946045 2.9594522 19.862488 8.227312c5.2678223 5.2678595 8.227295 12.41261 8.227295 19.862488l0 112.35582c0 15.51358 -12.576233 28.089813 -28.089783 28.089813l-262.68655 0c-15.51358 0 -28.089813 -12.576233 -28.089813 -28.089813z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m372.84747 34.722347l0 0c0 -15.513569 12.576233 -28.089802 28.089813 -28.089802l262.68655 0c7.44989 0 14.5946045 2.9594522 19.862488 8.227312c5.2678223 5.2678595 8.227295 12.41261 8.227295 19.862488l0 112.35582c0 15.51358 -12.576233 28.089813 -28.089783 28.089813l-262.68655 0c-15.51358 0 -28.089813 -12.576233 -28.089813 -28.089813z" fill-rule="nonzero"></path><path fill="#000000" d="m395.43408 33.003517l0 -1.078125l3.9375 -0.015625l0 3.453125q-0.90625 0.71875 -1.875 1.09375q-0.953125 0.359375 -1.96875 0.359375q-1.375 0 -2.5 -0.578125q-1.125 -0.59375 -1.703125 -1.703125q-0.5625 -1.109375 -0.5625 -2.484375q0 -1.359375 0.5625 -2.53125q0.578125 -1.1875 1.640625 -1.75q1.078125 -0.578125 2.453125 -0.578125q1.015625 0 1.828125 0.328125q0.8125 0.328125 1.28125 0.921875q0.46875 0.578125 0.703125 1.515625l-1.109375 0.296875q-0.203125 -0.703125 -0.515625 -1.109375q-0.3125 -0.40625 -0.890625 -0.640625q-0.578125 -0.25 -1.28125 -0.25q-0.84375 0 -1.46875 0.265625q-0.609375 0.25 -0.984375 0.671875q-0.375 0.40625 -0.59375 0.90625q-0.34375 0.875 -0.34375 1.875q0 1.25 0.421875 2.09375q0.421875 0.828125 1.234375 1.234375q0.828125 0.40625 1.75 0.40625q0.796875 0 1.5625 -0.296875q0.765625 -0.3125 1.15625 -0.671875l0 -1.734375l-2.734375 0zm12.648315 0.390625l1.234375 0.3125q-0.390625 1.515625 -1.40625 2.3125q-1.0 0.796875 -2.453125 0.796875q-1.5 0 -2.453125 -0.609375q-0.9375 -0.609375 -1.4375 -1.765625q-0.484375 -1.171875 -0.484375 -2.5q0 -1.453125 0.5625 -2.53125q0.5625 -1.09375 1.578125 -1.65625q1.03125 -0.5625 2.265625 -0.5625q1.390625 0 2.34375 0.71875q0.953125 0.703125 1.328125 2.0l-1.21875 0.28125q-0.328125 -1.015625 -0.9375 -1.46875q-0.609375 -0.46875 -1.546875 -0.46875q-1.078125 0 -1.796875 0.515625q-0.71875 0.515625 -1.015625 1.375q-0.28125 0.859375 -0.28125 1.78125q0 1.1875 0.34375 2.078125q0.34375 0.890625 1.0625 1.328125q0.734375 0.4375 1.59375 0.4375q1.03125 0 1.75 -0.59375q0.71875 -0.609375 0.96875 -1.78125zm3.0157776 3.265625l0 -9.3125l6.71875 0l0 1.109375l-5.484375 0l0 2.84375l5.140625 0l0 1.09375l-5.140625 0l0 3.171875l5.703125 0l0 1.09375l-6.9375 0z" fill-rule="nonzero"></path><path fill="#cfe2f3" d="m179.7454 90.90026l0 0c0 -19.256035 15.97673 -34.86614 35.685043 -34.86614c19.708298 0 35.685028 15.610104 35.685028 34.86614c0 19.256042 -15.97673 34.866142 -35.685028 34.866142c-19.708313 0 -35.685043 -15.6101 -35.685043 -34.866142z" fill-rule="nonzero"></path><path fill="#a5b4c2" d="m200.28082 80.4727c0 -2.0058365 1.6642456 -3.6318893 3.7171936 -3.6318893c2.052948 0 3.7171936 1.6260529 3.7171936 3.6318893c0 2.0058365 -1.6642456 3.6318893 -3.7171936 3.6318893c-2.052948 0 -3.7171936 -1.6260529 -3.7171936 -3.6318893m22.864868 0c0 -2.0058365 1.6642303 -3.6318893 3.7171783 -3.6318893c2.052948 0 3.7171936 1.6260529 3.7171936 3.6318893c0 2.0058365 -1.6642456 3.6318893 -3.7171936 3.6318893c-2.052948 0 -3.7171783 -1.6260529 -3.7171783 -3.6318893" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m196.08893 106.10562q19.341522 12.978569 38.63788 0" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m179.7454 90.90026l0 0c0 -19.256035 15.97673 -34.86614 35.685043 -34.86614c19.708298 0 35.685028 15.610104 35.685028 34.86614c0 19.256042 -15.97673 34.866142 -35.685028 34.866142c-19.708313 0 -35.685043 -15.6101 -35.685043 -34.866142z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m200.28082 80.4727c0 -2.0058365 1.6642456 -3.6318893 3.7171936 -3.6318893c2.052948 0 3.7171936 1.6260529 3.7171936 3.6318893c0 2.0058365 -1.6642456 3.6318893 -3.7171936 3.6318893c-2.052948 0 -3.7171936 -1.6260529 -3.7171936 -3.6318893m22.864868 0c0 -2.0058365 1.6642303 -3.6318893 3.7171783 -3.6318893c2.052948 0 3.7171936 1.6260529 3.7171936 3.6318893c0 2.0058365 -1.6642456 3.6318893 -3.7171936 3.6318893c-2.052948 0 -3.7171783 -1.6260529 -3.7171783 -3.6318893" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m196.08893 106.10562q19.341522 12.978569 38.63788 0" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m179.7454 90.90026l0 0c0 -19.256035 15.97673 -34.86614 35.685043 -34.86614c19.708298 0 35.685028 15.610104 35.685028 34.86614c0 19.256042 -15.97673 34.866142 -35.685028 34.866142c-19.708313 0 -35.685043 -15.6101 -35.685043 -34.866142z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m251.11548 90.90026l133.32285 -0.03149414" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m251.11548 90.90026l121.322845 -0.028656006" fill-rule="evenodd"></path><path fill="#000000" stroke="#000000" stroke-width="2.0" stroke-linecap="butt" d="m372.4391 94.175064l9.075439 -3.3056107l-9.076996 -3.3013153z" fill-rule="evenodd"></path><path fill="#d9d9d9" d="m616.34906 44.325897l0 0c0 -7.975754 14.276978 -14.441383 31.888489 -14.441383c17.611511 0 31.888428 6.4656296 31.888428 14.441383l0 57.765526c0 7.9757614 -14.2769165 14.441383 -31.888428 14.441383c-17.611511 0 -31.888489 -6.465622 -31.888489 -14.441383z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m680.126 44.325897l0 0c0 7.975754 -14.2769165 14.441383 -31.888428 14.441383c-17.611511 0 -31.888489 -6.4656296 -31.888489 -14.441383" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m616.34906 44.325897l0 0c0 -7.975754 14.276978 -14.441383 31.888489 -14.441383c17.611511 0 31.888428 6.4656296 31.888428 14.441383l0 57.765526c0 7.9757614 -14.2769165 14.441383 -31.888428 14.441383c-17.611511 0 -31.888489 -6.465622 -31.888489 -14.441383z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m680.126 44.325897l0 0c0 7.975754 -14.2769165 14.441383 -31.888428 14.441383c-17.611511 0 -31.888489 -6.4656296 -31.888489 -14.441383" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m616.34906 44.325897l0 0c0 -7.975754 14.276978 -14.441383 31.888489 -14.441383c17.611511 0 31.888428 6.4656296 31.888428 14.441383l0 57.765526c0 7.9757614 -14.2769165 14.441383 -31.888428 14.441383c-17.611511 0 -31.888489 -6.465622 -31.888489 -14.441383z" fill-rule="nonzero"></path><path fill="#000000" d="m632.1079 65.573105l0 -1.078125l3.9375 -0.015625l0 3.453125q-0.90625 0.71875 -1.875 1.09375q-0.953125 0.359375 -1.96875 0.359375q-1.375 0 -2.5 -0.578125q-1.125 -0.59375 -1.703125 -1.703125q-0.5625 -1.109375 -0.5625 -2.484375q0 -1.3593788 0.5625 -2.5312538q0.578125 -1.1875 1.640625 -1.75q1.078125 -0.578125 2.453125 -0.578125q1.015625 0 1.828125 0.328125q0.8125 0.328125 1.28125 0.921875q0.46875 0.578125 0.703125 1.515625l-1.109375 0.296875q-0.203125 -0.703125 -0.515625 -1.109375q-0.3125 -0.40625 -0.890625 -0.640625q-0.578125 -0.25 -1.28125 -0.25q-0.84375 0 -1.46875 0.265625q-0.609375 0.25 -0.984375 0.671875q-0.375 0.40625 -0.59375 0.90625q-0.34375 0.875 -0.34375 1.8750038q0 1.25 0.421875 2.09375q0.421875 0.828125 1.234375 1.234375q0.828125 0.40625 1.75 0.40625q0.796875 0 1.5625 -0.296875q0.765625 -0.3125 1.15625 -0.671875l0 -1.734375l-2.734375 0zm5.4451294 0.28125q0 -1.8750038 1.03125 -2.7656288q0.875 -0.75 2.125 -0.75q1.390625 0 2.265625 0.90625q0.890625 0.9062538 0.890625 2.5156288q0 1.296875 -0.390625 2.046875q-0.390625 0.75 -1.140625 1.171875q-0.75 0.40625 -1.625 0.40625q-1.421875 0 -2.296875 -0.90625q-0.859375 -0.90625 -0.859375 -2.625zm1.171875 0q0 1.296875 0.5625 1.953125q0.5625 0.640625 1.421875 0.640625q0.84375 0 1.40625 -0.640625q0.578125 -0.65625 0.578125 -1.984375q0 -1.25 -0.578125 -1.8906288q-0.5625 -0.65625 -1.40625 -0.65625q-0.859375 0 -1.421875 0.640625q-0.5625 0.6406288 -0.5625 1.9375038zm6.2406006 0q0 -1.8750038 1.03125 -2.7656288q0.875 -0.75 2.125 -0.75q1.390625 0 2.265625 0.90625q0.890625 0.9062538 0.890625 2.5156288q0 1.296875 -0.390625 2.046875q-0.390625 0.75 -1.140625 1.171875q-0.75 0.40625 -1.625 0.40625q-1.421875 0 -2.296875 -0.90625q-0.859375 -0.90625 -0.859375 -2.625zm1.171875 0q0 1.296875 0.5625 1.953125q0.5625 0.640625 1.421875 0.640625q0.84375 0 1.40625 -0.640625q0.578125 -0.65625 0.578125 -1.984375q0 -1.25 -0.578125 -1.8906288q-0.5625 -0.65625 -1.40625 -0.65625q-0.859375 0 -1.421875 0.640625q-0.5625 0.6406288 -0.5625 1.9375038zm6.4437256 3.9375l1.125 0.15625q0.0625 0.515625 0.375 0.75q0.4375 0.328125 1.171875 0.328125q0.78125 0 1.21875 -0.328125q0.4375 -0.3125 0.578125 -0.890625q0.09375 -0.34375 0.09375 -1.453125q-0.75 0.875 -1.875 0.875q-1.390625 0 -2.15625 -1.0q-0.75 -1.0 -0.75 -2.40625q0 -0.96875 0.34375 -1.78125q0.359375 -0.8125038 1.015625 -1.2500038q0.65625 -0.453125 1.5625 -0.453125q1.1875 0 1.96875 0.96875l0 -0.8125l1.046875 0l0 5.812504q0 1.578125 -0.328125 2.234375q-0.3125 0.65625 -1.015625 1.03125q-0.6875 0.390625 -1.703125 0.390625q-1.203125 0 -1.953125 -0.546875q-0.734375 -0.53125 -0.71875 -1.625zm0.953125 -4.046875q0 1.3125 0.515625 1.921875q0.53125 0.609375 1.328125 0.609375q0.796875 0 1.328125 -0.59375q0.53125 -0.609375 0.53125 -1.90625q0 -1.234375 -0.546875 -1.8593788q-0.546875 -0.640625 -1.328125 -0.640625q-0.765625 0 -1.296875 0.625q-0.53125 0.6250038 -0.53125 1.8437538zm6.6468506 3.484375l0 -9.312504l1.140625 0l0 9.312504l-1.140625 0zm7.6017456 -2.171875l1.1875 0.140625q-0.28125 1.046875 -1.046875 1.625q-0.75 0.5625 -1.921875 0.5625q-1.484375 0 -2.359375 -0.90625q-0.859375 -0.921875 -0.859375 -2.5625q0 -1.703125 0.875 -2.6406288q0.890625 -0.9375 2.28125 -0.9375q1.359375 0 2.203125 0.921875q0.859375 0.9218788 0.859375 2.5781288q0 0.109375 0 0.3125l-5.03125 0q0.0625 1.109375 0.625 1.703125q0.5625 0.59375 1.40625 0.59375q0.640625 0 1.078125 -0.328125q0.453125 -0.34375 0.703125 -1.0625zm-3.75 -1.84375l3.765625 0q-0.078125 -0.859375 -0.4375 -1.2812538q-0.546875 -0.65625 -1.40625 -0.65625q-0.796875 0 -1.328125 0.53125q-0.53125 0.5156288 -0.59375 1.4062538z" fill-rule="nonzero"></path><path fill="#000000" d="m638.4663 81.96373l1.234375 0.3125q-0.390625 1.515625 -1.40625 2.3125q-1.0 0.796875 -2.453125 0.796875q-1.5 0 -2.453125 -0.609375q-0.9375 -0.609375 -1.4375 -1.765625q-0.484375 -1.171875 -0.484375 -2.5q0 -1.453125 0.5625 -2.53125q0.5625 -1.09375 1.578125 -1.65625q1.03125 -0.5625 2.265625 -0.5625q1.390625 0 2.34375 0.71875q0.953125 0.703125 1.328125 2.0l-1.21875 0.28125q-0.328125 -1.015625 -0.9375 -1.46875q-0.609375 -0.46875 -1.546875 -0.46875q-1.078125 0 -1.796875 0.515625q-0.71875 0.515625 -1.015625 1.375q-0.28125 0.859375 -0.28125 1.78125q0 1.1875 0.34375 2.078125q0.34375 0.890625 1.0625 1.328125q0.734375 0.4375 1.59375 0.4375q1.03125 0 1.75 -0.59375q0.71875 -0.609375 0.96875 -1.78125zm2.812683 3.265625l0 -9.3125l1.140625 0l0 9.3125l-1.140625 0zm2.5704346 -3.375q0 -1.875 1.03125 -2.765625q0.875 -0.75 2.125 -0.75q1.390625 0 2.265625 0.90625q0.890625 0.90625 0.890625 2.515625q0 1.296875 -0.390625 2.046875q-0.390625 0.75 -1.140625 1.171875q-0.75 0.40625 -1.625 0.40625q-1.421875 0 -2.296875 -0.90625q-0.859375 -0.90625 -0.859375 -2.625zm1.171875 0q0 1.296875 0.5625 1.953125q0.5625 0.640625 1.421875 0.640625q0.84375 0 1.40625 -0.640625q0.578125 -0.65625 0.578125 -1.984375q0 -1.25 -0.578125 -1.890625q-0.5625 -0.65625 -1.40625 -0.65625q-0.859375 0 -1.421875 0.640625q-0.5625 0.640625 -0.5625 1.9375zm11.084351 3.375l0 -0.984375q-0.796875 1.140625 -2.140625 1.140625q-0.59375 0 -1.125 -0.234375q-0.515625 -0.234375 -0.765625 -0.578125q-0.25 -0.34375 -0.34375 -0.84375q-0.078125 -0.328125 -0.078125 -1.0625l0 -4.171875l1.140625 0l0 3.734375q0 0.890625 0.078125 1.203125q0.109375 0.453125 0.453125 0.71875q0.34375 0.25 0.859375 0.25q0.515625 0 0.96875 -0.265625q0.453125 -0.265625 0.640625 -0.71875q0.1875 -0.453125 0.1875 -1.3125l0 -3.609375l1.140625 0l0 6.734375l-1.015625 0zm7.3656006 0l0 -0.84375q-0.640625 1.0 -1.890625 1.0q-0.796875 0 -1.484375 -0.4375q-0.671875 -0.453125 -1.046875 -1.25q-0.375 -0.796875 -0.375 -1.828125q0 -1.015625 0.34375 -1.828125q0.34375 -0.828125 1.015625 -1.265625q0.671875 -0.4375 1.5 -0.4375q0.609375 0 1.078125 0.265625q0.484375 0.25 0.78125 0.65625l0 -3.34375l1.140625 0l0 9.3125l-1.0625 0zm-3.609375 -3.359375q0 1.296875 0.53125 1.9375q0.546875 0.640625 1.296875 0.640625q0.75 0 1.265625 -0.609375q0.53125 -0.625 0.53125 -1.875q0 -1.390625 -0.53125 -2.03125q-0.53125 -0.65625 -1.3125 -0.65625q-0.765625 0 -1.28125 0.625q-0.5 0.625 -0.5 1.96875z" fill-rule="nonzero"></path><path fill="#000000" d="m635.481 98.24498l1.171875 -0.109375q0.078125 0.703125 0.375 1.15625q0.3125 0.4375 0.9375 0.71875q0.640625 0.265625 1.4375 0.265625q0.703125 0 1.234375 -0.203125q0.546875 -0.203125 0.8125 -0.5625q0.265625 -0.375 0.265625 -0.8125q0 -0.4375 -0.265625 -0.765625q-0.25 -0.328125 -0.828125 -0.546875q-0.375 -0.140625 -1.65625 -0.453125q-1.28125 -0.3125 -1.796875 -0.578125q-0.671875 -0.34375 -1.0 -0.859375q-0.328125 -0.53125 -0.328125 -1.171875q0 -0.703125 0.390625 -1.3125q0.40625 -0.609375 1.171875 -0.921875q0.78125 -0.328125 1.71875 -0.328125q1.03125 0 1.8125 0.34375q0.796875 0.328125 1.21875 0.984375q0.4375 0.640625 0.46875 1.453125l-1.1875 0.09375q-0.09375 -0.890625 -0.640625 -1.328125q-0.546875 -0.453125 -1.625 -0.453125q-1.109375 0 -1.625 0.40625q-0.515625 0.40625 -0.515625 0.984375q0 0.5 0.359375 0.828125q0.359375 0.328125 1.859375 0.671875q1.5 0.328125 2.0625 0.578125q0.8125 0.375 1.1875 0.953125q0.390625 0.578125 0.390625 1.328125q0 0.734375 -0.421875 1.390625q-0.421875 0.65625 -1.21875 1.03125q-0.796875 0.359375 -1.796875 0.359375q-1.265625 0 -2.125 -0.359375q-0.84375 -0.375 -1.328125 -1.109375q-0.484375 -0.75 -0.515625 -1.671875zm16.374146 1.984375q0.84375 0.59375 1.578125 0.859375l-0.359375 0.859375q-1.015625 -0.359375 -2.0 -1.140625q-1.046875 0.578125 -2.296875 0.578125q-1.265625 0 -2.296875 -0.609375q-1.015625 -0.609375 -1.578125 -1.703125q-0.546875 -1.109375 -0.546875 -2.5q0 -1.375 0.546875 -2.5q0.5625 -1.140625 1.59375 -1.71875q1.03125 -0.59375 2.3125 -0.59375q1.28125 0 2.3125 0.609375q1.046875 0.609375 1.578125 1.71875q0.546875 1.09375 0.546875 2.484375q0 1.140625 -0.34375 2.0625q-0.34375 0.921875 -1.046875 1.59375zm-2.71875 -1.578125q1.0625 0.3125 1.765625 0.890625q1.078125 -0.984375 1.078125 -2.96875q0 -1.140625 -0.390625 -1.984375q-0.375 -0.84375 -1.125 -1.296875q-0.734375 -0.46875 -1.65625 -0.46875q-1.375 0 -2.28125 0.9375q-0.90625 0.9375 -0.90625 2.8125q0 1.8125 0.890625 2.796875q0.90625 0.96875 2.296875 0.96875q0.671875 0 1.25 -0.25q-0.578125 -0.375 -1.21875 -0.53125l0.296875 -0.90625zm5.9763794 2.578125l0 -9.3125l1.234375 0l0 8.21875l4.578125 0l0 1.09375l-5.8125 0z" fill-rule="nonzero"></path><path fill="#cfe2f3" d="m384.4396 41.88684l150.73807 0l0 98.195724c-75.36905 0 -75.36905 37.414368 -150.73807 16.156204z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m384.4396 41.88684l150.73807 0l0 98.195724c-75.36905 0 -75.36905 37.414368 -150.73807 16.156204z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m384.4396 41.88684l150.7377 0l0 97.958405l-150.7377 0z" fill-rule="nonzero"></path><g transform="matrix(0.11648972106493051 0.0 0.0 0.1285543307086614 384.43960603674543 41.88683937007874)"><clipPath id="p.1"><path d="m0 0l1294.0 0l0 762.0l-1294.0 0z" clip-rule="nonzero"></path></clipPath><image clip-path="url(#p.1)" fill="#000" width="1294.0" height="762.0" x="0.0" y="0.0" preserveAspectRatio="none" xlink:href="data:image/png;base64,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QgpxHzhxPcxcgIjBIRlTWyOnoBfhoRgTn5KcRERERERERPRUEte94vpXXAfXPqbJPYiIwWGfImZCaqivl9Nlmzy1NhEREREREVFfo1z3iuvfOoaGRAwOiYiIiIiIiIiIiMEhERERERERERERPW3BIU8UERERERERERFR/8PgkIiIiIiIiIiIiLoXHJ45c5aIiIiIiIiIiIj6CZODw9HWgURERERERERERNRPMDgkIiIiIiIiIiIiBodERERERERERETE4JCIiIiIiIiIiIgYHBIRERERERERERGDQyIiIiIiIiIiImJwSERERERERERERAwOiYiIiIiIiIiIiMEhERERERERERERMTgkIiIiIiIiIiIiBodERERERERERETE4JCIiIiIiIiIiIgYHBIRERERERERERGDQyIiIiIiIiIiImJwyOCQiIiIiIiIiIiIwSGDQyIiIiIiIiIiIgaHDA6JiIiIiIiIiIiIwSERERERERERERExOCQiIiIiIiIiIiIGh0RERERERERERMTgkIiIiIiIiIiIiBgcEhEREREREREREYNDIiIiIiIiIiIiYnBIREREREREREREDA6JiIiIiIiIiIiIwSERERERERERERExOCQiIiIiIiIiIiIGh6ayDYerfwmyKh9CXQ9RklGEPRtCWteZsl2lLK/BjvmW2eeUFXE4uDscEyz2HKJx+T6MVnNcLKZ0tR2bcJwtBeouR1ru2MwWhDmuqdizJsiC27yIJe5Fba9xcxOyIpKx0Nb4udgRUYM67XsiORcu9kH8IyUiIiIiIiKiJ1QAhn0ZgOfWBuC/lgbgnV7e3zufBuBvyr6ecwrA8I+exuBwfiyCSkWQVIcI32S4uMZi/e50XL4jAqZ6BLmGWD44tLmKgyKci4jsOsgzIxhb6BILl+1xkmtwvXK8TQhyi9MsU57XmhATju0JCA7nJyBLOfr47Rcttk3r7WVoxkOk+sdhiUM4lmy/g9Rm5XlGxcK6k/PpdLlJeV+o4OV6XTm3ybgs3icF2Vhoww8iIiIiIiIiImJwOHpmAJ5fHYD/XBGAt56+4PAi1kc9AJorsWdFu55kNtdlgIbSXCyxsXxw6GXx4LBdUOZWoxxvHfbYm3tsT2NwGALXDGWDd5IxU2f5nOOiL6EKLraGjyFVeTTL/WrrsgkrslGCB4hwucgPIiIiIiIiIiJi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"></image></g><path fill="#000000" fill-opacity="0.0" d="m537.4803 70.5538l78.86615 -0.5354309" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m537.4803 70.5538l66.866455 -0.45396423" fill-rule="evenodd"></path><path fill="#000000" stroke="#000000" stroke-width="2.0" stroke-linecap="butt" d="m604.36914 73.40323l9.053589 -3.3650055l-9.09845 -3.241768z" fill-rule="evenodd"></path><path fill="#000000" fill-opacity="0.0" d="m526.2834 64.74803l101.25983 0l0 40.661415l-101.25983 0z" fill-rule="nonzero"></path><path fill="#000000" d="m547.1466 83.2824l1.234375 0.3125q-0.390625 1.515625 -1.40625 2.3125q-1.0 0.796875 -2.453125 0.796875q-1.5 0 -2.453125 -0.609375q-0.9375 -0.609375 -1.4375 -1.765625q-0.484375 -1.171875 -0.484375 -2.5q0 -1.453125 0.5625 -2.53125q0.5625 -1.09375 1.578125 -1.65625q1.03125 -0.5625 2.265625 -0.5625q1.390625 0 2.34375 0.71875q0.953125 0.703125 1.328125 2.0l-1.21875 0.28125q-0.328125 -1.015625 -0.9375 -1.46875q-0.609375 -0.46875 -1.546875 -0.46875q-1.078125 0 -1.796875 0.515625q-0.71875 0.515625 -1.015625 1.375q-0.28125 0.859375 -0.28125 1.78125q0 1.1875 0.34375 2.078125q0.34375 0.890625 1.0625 1.328125q0.734375 0.4375 1.59375 0.4375q1.03125 0 1.75 -0.59375q0.71875 -0.609375 0.96875 -1.78125zm2.828308 3.265625l0 -6.734375l1.03125 0l0 1.015625q0.390625 -0.71875 0.71875 -0.9375q0.34375 -0.234375 0.734375 -0.234375q0.578125 0 1.171875 0.359375l-0.390625 1.0625q-0.421875 -0.25 -0.828125 -0.25q-0.375 0 -0.6875 0.234375q-0.296875 0.21875 -0.421875 0.625q-0.1875 0.609375 -0.1875 1.328125l0 3.53125l-1.140625 0zm9.0633545 -2.171875l1.1875 0.140625q-0.28125 1.046875 -1.046875 1.625q-0.75 0.5625 -1.921875 0.5625q-1.484375 0 -2.359375 -0.90625q-0.859375 -0.921875 -0.859375 -2.5625q0 -1.703125 0.875 -2.640625q0.890625 -0.9375 2.28125 -0.9375q1.359375 0 2.203125 0.921875q0.859375 0.921875 0.859375 2.578125q0 0.109375 0 0.3125l-5.03125 0q0.0625 1.109375 0.625 1.703125q0.5625 0.59375 1.40625 0.59375q0.640625 0 1.078125 -0.328125q0.453125 -0.34375 0.703125 -1.0625zm-3.75 -1.84375l3.765625 0q-0.078125 -0.859375 -0.4375 -1.28125q-0.546875 -0.65625 -1.40625 -0.65625q-0.796875 0 -1.328125 0.53125q-0.53125 0.515625 -0.59375 1.40625zm10.943726 3.1875q-0.625 0.53125 -1.21875 0.765625q-0.578125 0.21875 -1.25 0.21875q-1.125 0 -1.71875 -0.546875q-0.59375 -0.546875 -0.59375 -1.390625q0 -0.484375 0.21875 -0.890625q0.234375 -0.421875 0.59375 -0.671875q0.375 -0.25 0.828125 -0.375q0.328125 -0.078125 1.015625 -0.171875q1.375 -0.15625 2.03125 -0.390625q0.015625 -0.234375 0.015625 -0.296875q0 -0.703125 -0.328125 -0.984375q-0.4375 -0.390625 -1.296875 -0.390625q-0.8125 0 -1.203125 0.28125q-0.375 0.28125 -0.5625 1.0l-1.109375 -0.140625q0.140625 -0.71875 0.484375 -1.15625q0.359375 -0.453125 1.015625 -0.6875q0.671875 -0.234375 1.53125 -0.234375q0.875 0 1.40625 0.203125q0.546875 0.203125 0.796875 0.515625q0.25 0.296875 0.359375 0.765625q0.046875 0.296875 0.046875 1.0625l0 1.515625q0 1.59375 0.078125 2.015625q0.078125 0.421875 0.28125 0.8125l-1.1875 0q-0.171875 -0.359375 -0.234375 -0.828125zm-0.09375 -2.5625q-0.625 0.265625 -1.859375 0.4375q-0.703125 0.109375 -1.0 0.234375q-0.296875 0.125 -0.453125 0.375q-0.15625 0.234375 -0.15625 0.53125q0 0.453125 0.34375 0.765625q0.34375 0.296875 1.015625 0.296875q0.65625 0 1.171875 -0.28125q0.515625 -0.296875 0.765625 -0.796875q0.171875 -0.375 0.171875 -1.140625l0 -0.421875zm5.6156006 2.375l0.15625 1.0q-0.484375 0.109375 -0.859375 0.109375q-0.625 0 -0.96875 -0.203125q-0.34375 -0.203125 -0.484375 -0.515625q-0.140625 -0.328125 -0.140625 -1.34375l0 -3.890625l-0.828125 0l0 -0.875l0.828125 0l0 -1.671875l1.140625 -0.6875l0 2.359375l1.15625 0l0 0.875l-1.15625 0l0 3.953125q0 0.484375 0.0625 0.625q0.0625 0.140625 0.1875 0.21875q0.140625 0.078125 0.390625 0.078125q0.203125 0 0.515625 -0.03125zm5.812378 -1.15625l1.1875 0.140625q-0.28125 1.046875 -1.046875 1.625q-0.75 0.5625 -1.921875 0.5625q-1.484375 0 -2.359375 -0.90625q-0.859375 -0.921875 -0.859375 -2.5625q0 -1.703125 0.875 -2.640625q0.890625 -0.9375 2.28125 -0.9375q1.359375 0 2.203125 0.921875q0.859375 0.921875 0.859375 2.578125q0 0.109375 0 0.3125l-5.03125 0q0.0625 1.109375 0.625 1.703125q0.5625 0.59375 1.40625 0.59375q0.640625 0 1.078125 -0.328125q0.453125 -0.34375 0.703125 -1.0625zm-3.75 -1.84375l3.765625 0q-0.078125 -0.859375 -0.4375 -1.28125q-0.546875 -0.65625 -1.40625 -0.65625q-0.796875 0 -1.328125 0.53125q-0.53125 0.515625 -0.59375 1.40625zm12.7560425 3.0l0.15625 1.0q-0.484375 0.109375 -0.859375 0.109375q-0.625 0 -0.96875 -0.203125q-0.34375 -0.203125 -0.484375 -0.515625q-0.140625 -0.328125 -0.140625 -1.34375l0 -3.890625l-0.828125 0l0 -0.875l0.828125 0l0 -1.671875l1.140625 -0.6875l0 2.359375l1.15625 0l0 0.875l-1.15625 0l0 3.953125q0 0.484375 0.0625 0.625q0.0625 0.140625 0.1875 0.21875q0.140625 0.078125 0.390625 0.078125q0.203125 0 0.515625 -0.03125zm5.593628 0.1875q-0.625 0.53125 -1.21875 0.765625q-0.578125 0.21875 -1.25 0.21875q-1.125 0 -1.71875 -0.546875q-0.59375 -0.546875 -0.59375 -1.390625q0 -0.484375 0.21875 -0.890625q0.234375 -0.421875 0.59375 -0.671875q0.375 -0.25 0.828125 -0.375q0.328125 -0.078125 1.015625 -0.171875q1.375 -0.15625 2.03125 -0.390625q0.015625 -0.234375 0.015625 -0.296875q0 -0.703125 -0.328125 -0.984375q-0.4375 -0.390625 -1.296875 -0.390625q-0.8125 0 -1.203125 0.28125q-0.375 0.28125 -0.5625 1.0l-1.109375 -0.140625q0.140625 -0.71875 0.484375 -1.15625q0.359375 -0.453125 1.015625 -0.6875q0.671875 -0.234375 1.53125 -0.234375q0.875 0 1.40625 0.203125q0.546875 0.203125 0.796875 0.515625q0.25 0.296875 0.359375 0.765625q0.046875 0.296875 0.046875 1.0625l0 1.515625q0 1.59375 0.078125 2.015625q0.078125 0.421875 0.28125 0.8125l-1.1875 0q-0.171875 -0.359375 -0.234375 -0.828125zm-0.09375 -2.5625q-0.625 0.265625 -1.859375 0.4375q-0.703125 0.109375 -1.0 0.234375q-0.296875 0.125 -0.453125 0.375q-0.15625 0.234375 -0.15625 0.53125q0 0.453125 0.34375 0.765625q0.34375 0.296875 1.015625 0.296875q0.65625 0 1.171875 -0.28125q0.515625 -0.296875 0.765625 -0.796875q0.171875 -0.375 0.171875 -1.140625l0 -0.421875zm2.6624756 1.375l1.125 -0.171875q0.09375 0.671875 0.53125 1.046875q0.4375 0.359375 1.21875 0.359375q0.78125 0 1.15625 -0.3125q0.390625 -0.328125 0.390625 -0.765625q0 -0.390625 -0.34375 -0.609375q-0.234375 -0.15625 -1.171875 -0.390625q-1.25 -0.3125 -1.734375 -0.546875q-0.484375 -0.234375 -0.734375 -0.640625q-0.25 -0.40625 -0.25 -0.90625q0 -0.453125 0.203125 -0.828125q0.203125 -0.390625 0.5625 -0.640625q0.265625 -0.203125 0.71875 -0.328125q0.46875 -0.140625 1.0 -0.140625q0.78125 0 1.375 0.234375q0.609375 0.21875 0.890625 0.609375q0.296875 0.390625 0.40625 1.046875l-1.125 0.15625q-0.078125 -0.53125 -0.4375 -0.8125q-0.359375 -0.296875 -1.03125 -0.296875q-0.78125 0 -1.125 0.265625q-0.34375 0.25 -0.34375 0.609375q0 0.21875 0.140625 0.390625q0.140625 0.1875 0.4375 0.3125q0.171875 0.0625 1.015625 0.28125q1.21875 0.328125 1.6875 0.53125q0.484375 0.203125 0.75 0.609375q0.28125 0.390625 0.28125 0.96875q0 0.578125 -0.34375 1.078125q-0.328125 0.5 -0.953125 0.78125q-0.625 0.28125 -1.421875 0.28125q-1.3125 0 -2.0 -0.546875q-0.6875 -0.546875 -0.875 -1.625zm7.1171875 2.015625l0 -9.3125l1.140625 0l0 5.3125l2.703125 -2.734375l1.484375 0l-2.578125 2.5l2.84375 4.234375l-1.40625 0l-2.234375 -3.453125l-0.8125 0.78125l0 2.671875l-1.140625 0zm6.2109375 -2.015625l1.125 -0.171875q0.09375 0.671875 0.53125 1.046875q0.4375 0.359375 1.21875 0.359375q0.78125 0 1.15625 -0.3125q0.390625 -0.328125 0.390625 -0.765625q0 -0.390625 -0.34375 -0.609375q-0.234375 -0.15625 -1.171875 -0.390625q-1.25 -0.3125 -1.734375 -0.546875q-0.484375 -0.234375 -0.734375 -0.640625q-0.25 -0.40625 -0.25 -0.90625q0 -0.453125 0.203125 -0.828125q0.203125 -0.390625 0.5625 -0.640625q0.265625 -0.203125 0.71875 -0.328125q0.46875 -0.140625 1.0 -0.140625q0.78125 0 1.375 0.234375q0.609375 0.21875 0.890625 0.609375q0.296875 0.390625 0.40625 1.046875l-1.125 0.15625q-0.078125 -0.53125 -0.4375 -0.8125q-0.359375 -0.296875 -1.03125 -0.296875q-0.78125 0 -1.125 0.265625q-0.34375 0.25 -0.34375 0.609375q0 0.21875 0.140625 0.390625q0.140625 0.1875 0.4375 0.3125q0.171875 0.0625 1.015625 0.28125q1.21875 0.328125 1.6875 0.53125q0.484375 0.203125 0.75 0.609375q0.28125 0.390625 0.28125 0.96875q0 0.578125 -0.34375 1.078125q-0.328125 0.5 -0.953125 0.78125q-0.625 0.28125 -1.421875 0.28125q-1.3125 0 -2.0 -0.546875q-0.6875 -0.546875 -0.875 -1.625z" fill-rule="nonzero"></path><path fill="#cfe2f3" d="m4.8923655 478.97165l0 0c0 -13.959625 11.316493 -25.276123 25.276096 -25.276123l395.9045 0c6.703644 0 13.132721 2.663025 17.872894 7.4031982c4.7401733 4.740204 7.4031982 11.169281 7.4031982 17.872925l0 101.10135c0 13.959595 -11.316498 25.276062 -25.276093 25.276062l-395.9045 0c-13.959602 0 -25.276096 -11.316467 -25.276096 -25.276062z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m4.8923655 478.97165l0 0c0 -13.959625 11.316493 -25.276123 25.276096 -25.276123l395.9045 0c6.703644 0 13.132721 2.663025 17.872894 7.4031982c4.7401733 4.740204 7.4031982 11.169281 7.4031982 17.872925l0 101.10135c0 13.959595 -11.316498 25.276062 -25.276093 25.276062l-395.9045 0c-13.959602 0 -25.276096 -11.316467 -25.276096 -25.276062z" fill-rule="nonzero"></path><path fill="#000000" d="m26.654856 479.2424l0 -1.078125l3.9375 -0.015625l0 3.453125q-0.90625 0.71875 -1.875 1.09375q-0.953125 0.359375 -1.96875 0.359375q-1.375 0 -2.5 -0.578125q-1.125 -0.59375 -1.703125 -1.703125q-0.5625 -1.109375 -0.5625 -2.484375q0 -1.359375 0.5625 -2.53125q0.578125 -1.1875 1.640625 -1.75q1.078125 -0.578125 2.453125 -0.578125q1.015625 0 1.828125 0.328125q0.8125 0.328125 1.28125 0.921875q0.46875 0.578125 0.703125 1.515625l-1.109375 0.296875q-0.203125 -0.703125 -0.515625 -1.109375q-0.3125 -0.40625 -0.890625 -0.640625q-0.578125 -0.25 -1.28125 -0.25q-0.84375 0 -1.46875 0.265625q-0.609375 0.25 -0.984375 0.671875q-0.375 0.40625 -0.59375 0.90625q-0.34375 0.875 -0.34375 1.875q0 1.25 0.421875 2.09375q0.421875 0.828125 1.234375 1.234375q0.828125 0.40625 1.75 0.40625q0.796875 0 1.5625 -0.296875q0.765625 -0.3125 1.15625 -0.671875l0 -1.734375l-2.734375 0zm5.445177 0.28125q0 -1.875 1.03125 -2.765625q0.875 -0.75 2.125 -0.75q1.390625 0 2.265625 0.90625q0.890625 0.90625 0.890625 2.515625q0 1.296875 -0.390625 2.046875q-0.390625 0.75 -1.140625 1.171875q-0.75 0.40625 -1.625 0.40625q-1.421875 0 -2.296875 -0.90625q-0.859375 -0.90625 -0.859375 -2.625zm1.171875 0q0 1.296875 0.5625 1.953125q0.5625 0.640625 1.421875 0.640625q0.84375 0 1.40625 -0.640625q0.578125 -0.65625 0.578125 -1.984375q0 -1.25 -0.578125 -1.890625q-0.5625 -0.65625 -1.40625 -0.65625q-0.859375 0 -1.421875 0.640625q-0.5625 0.640625 -0.5625 1.9375zm6.6312256 3.375l0 -9.3125l1.140625 0l0 9.3125l-1.140625 0zm2.570465 -3.375q0 -1.875 1.03125 -2.765625q0.875 -0.75 2.125 -0.75q1.390625 0 2.265625 0.90625q0.890625 0.90625 0.890625 2.515625q0 1.296875 -0.390625 2.046875q-0.390625 0.75 -1.140625 1.171875q-0.75 0.40625 -1.625 0.40625q-1.421875 0 -2.296875 -0.90625q-0.859375 -0.90625 -0.859375 -2.625zm1.171875 0q0 1.296875 0.5625 1.953125q0.5625 0.640625 1.421875 0.640625q0.84375 0 1.40625 -0.640625q0.578125 -0.65625 0.578125 -1.984375q0 -1.25 -0.578125 -1.890625q-0.5625 -0.65625 -1.40625 -0.65625q-0.859375 0 -1.421875 0.640625q-0.5625 0.640625 -0.5625 1.9375z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m256.89383 64.74822l121.76376 0l0 29.07087l-121.76376 0z" fill-rule="nonzero"></path><path fill="#000000" d="m265.8782 86.548225l3.578125 -9.3125l1.3125 0l3.8125 9.3125l-1.40625 0l-1.078125 -2.8125l-3.890625 0l-1.03125 2.8125l-1.296875 0zm2.6875 -3.828125l3.15625 0l-0.984375 -2.578125q-0.4375 -1.171875 -0.65625 -1.921875q-0.171875 0.890625 -0.5 1.78125l-1.015625 2.71875zm11.45224 3.828125l0 -0.84375q-0.640625 1.0 -1.890625 1.0q-0.796875 0 -1.484375 -0.4375q-0.671875 -0.453125 -1.046875 -1.25q-0.375 -0.796875 -0.375 -1.828125q0 -1.015625 0.34375 -1.828125q0.34375 -0.828125 1.015625 -1.265625q0.671875 -0.4375 1.5 -0.4375q0.609375 0 1.078125 0.265625q0.484375 0.25 0.78125 0.65625l0 -3.34375l1.140625 0l0 9.3125l-1.0625 0zm-3.609375 -3.359375q0 1.296875 0.53125 1.9375q0.546875 0.640625 1.296875 0.640625q0.75 0 1.265625 -0.609375q0.53125 -0.625 0.53125 -1.875q0 -1.390625 -0.53125 -2.03125q-0.53125 -0.65625 -1.3125 -0.65625q-0.765625 0 -1.28125 0.625q-0.5 0.625 -0.5 1.96875zm11.021851 3.359375l0 -0.84375q-0.640625 1.0 -1.890625 1.0q-0.796875 0 -1.484375 -0.4375q-0.671875 -0.453125 -1.046875 -1.25q-0.375 -0.796875 -0.375 -1.828125q0 -1.015625 0.34375 -1.828125q0.34375 -0.828125 1.015625 -1.265625q0.671875 -0.4375 1.5 -0.4375q0.609375 0 1.078125 0.265625q0.484375 0.25 0.78125 0.65625l0 -3.34375l1.140625 0l0 9.3125l-1.0625 0zm-3.609375 -3.359375q0 1.296875 0.53125 1.9375q0.546875 0.640625 1.296875 0.640625q0.75 0 1.265625 -0.609375q0.53125 -0.625 0.53125 -1.875q0 -1.390625 -0.53125 -2.03125q-0.53125 -0.65625 -1.3125 -0.65625q-0.765625 0 -1.28125 0.625q-0.5 0.625 -0.5 1.96875zm6.9437256 3.359375l0 -1.296875l1.296875 0l0 1.296875q0 0.71875 -0.25 1.15625q-0.25 0.4375 -0.8125 0.6875l-0.3125 -0.484375q0.359375 -0.171875 0.53125 -0.484375q0.171875 -0.296875 0.1875 -0.875l-0.640625 0zm11.4841 0l0 -0.84375q-0.640625 1.0 -1.890625 1.0q-0.796875 0 -1.484375 -0.4375q-0.671875 -0.453125 -1.046875 -1.25q-0.375 -0.796875 -0.375 -1.828125q0 -1.015625 0.34375 -1.828125q0.34375 -0.828125 1.015625 -1.265625q0.671875 -0.4375 1.5 -0.4375q0.609375 0 1.078125 0.265625q0.484375 0.25 0.78125 0.65625l0 -3.34375l1.140625 0l0 9.3125l-1.0625 0zm-3.609375 -3.359375q0 1.296875 0.53125 1.9375q0.546875 0.640625 1.296875 0.640625q0.75 0 1.265625 -0.609375q0.53125 -0.625 0.53125 -1.875q0 -1.390625 -0.53125 -2.03125q-0.53125 -0.65625 -1.3125 -0.65625q-0.765625 0 -1.28125 0.625q-0.5 0.625 -0.5 1.96875zm11.256226 1.1875l1.1875 0.140625q-0.28125 1.046875 -1.046875 1.625q-0.75 0.5625 -1.921875 0.5625q-1.484375 0 -2.359375 -0.90625q-0.859375 -0.921875 -0.859375 -2.5625q0 -1.703125 0.875 -2.640625q0.890625 -0.9375 2.28125 -0.9375q1.359375 0 2.203125 0.921875q0.859375 0.921875 0.859375 2.578125q0 0.109375 0 0.3125l-5.03125 0q0.0625 1.109375 0.625 1.703125q0.5625 0.59375 1.40625 0.59375q0.640625 0 1.078125 -0.328125q0.453125 -0.34375 0.703125 -1.0625zm-3.75 -1.84375l3.765625 0q-0.078125 -0.859375 -0.4375 -1.28125q-0.546875 -0.65625 -1.40625 -0.65625q-0.796875 0 -1.328125 0.53125q-0.53125 0.515625 -0.59375 1.40625zm6.5218506 4.015625l0 -9.3125l1.140625 0l0 9.3125l-1.140625 0zm7.601715 -2.171875l1.1875 0.140625q-0.28125 1.046875 -1.046875 1.625q-0.75 0.5625 -1.921875 0.5625q-1.484375 0 -2.359375 -0.90625q-0.859375 -0.921875 -0.859375 -2.5625q0 -1.703125 0.875 -2.640625q0.890625 -0.9375 2.28125 -0.9375q1.359375 0 2.203125 0.921875q0.859375 0.921875 0.859375 2.578125q0 0.109375 0 0.3125l-5.03125 0q0.0625 1.109375 0.625 1.703125q0.5625 0.59375 1.40625 0.59375q0.640625 0 1.078125 -0.328125q0.453125 -0.34375 0.703125 -1.0625zm-3.75 -1.84375l3.765625 0q-0.078125 -0.859375 -0.4375 -1.28125q-0.546875 -0.65625 -1.40625 -0.65625q-0.796875 0 -1.328125 0.53125q-0.53125 0.515625 -0.59375 1.40625zm9.053101 3.0l0.15625 1.0q-0.484375 0.109375 -0.859375 0.109375q-0.625 0 -0.96875 -0.203125q-0.34375 -0.203125 -0.484375 -0.515625q-0.140625 -0.328125 -0.140625 -1.34375l0 -3.890625l-0.828125 0l0 -0.875l0.828125 0l0 -1.671875l1.140625 -0.6875l0 2.359375l1.15625 0l0 0.875l-1.15625 0l0 3.953125q0 0.484375 0.0625 0.625q0.0625 0.140625 0.1875 0.21875q0.140625 0.078125 0.390625 0.078125q0.203125 0 0.515625 -0.03125zm5.812378 -1.15625l1.1875 0.140625q-0.28125 1.046875 -1.046875 1.625q-0.75 0.5625 -1.921875 0.5625q-1.484375 0 -2.359375 -0.90625q-0.859375 -0.921875 -0.859375 -2.5625q0 -1.703125 0.875 -2.640625q0.890625 -0.9375 2.28125 -0.9375q1.359375 0 2.203125 0.921875q0.859375 0.921875 0.859375 2.578125q0 0.109375 0 0.3125l-5.03125 0q0.0625 1.109375 0.625 1.703125q0.5625 0.59375 1.40625 0.59375q0.640625 0 1.078125 -0.328125q0.453125 -0.34375 0.703125 -1.0625zm-3.75 -1.84375l3.765625 0q-0.078125 -0.859375 -0.4375 -1.28125q-0.546875 -0.65625 -1.40625 -0.65625q-0.796875 0 -1.328125 0.53125q-0.53125 0.515625 -0.59375 1.40625zm6.8499756 4.015625l0 -1.296875l1.296875 0l0 1.296875q0 0.71875 -0.25 1.15625q-0.25 0.4375 -0.8125 0.6875l-0.3125 -0.484375q0.359375 -0.171875 0.53125 -0.484375q0.171875 -0.296875 0.1875 -0.875l-0.640625 0zm7.0934753 0l0 -6.734375l1.03125 0l0 1.015625q0.390625 -0.71875 0.71875 -0.9375q0.34375 -0.234375 0.734375 -0.234375q0.578125 0 1.171875 0.359375l-0.390625 1.0625q-0.421875 -0.25 -0.828125 -0.25q-0.375 0 -0.6875 0.234375q-0.296875 0.21875 -0.421875 0.625q-0.1875 0.609375 -0.1875 1.328125l0 3.53125l-1.140625 0zm9.0633545 -2.171875l1.1875 0.140625q-0.28125 1.046875 -1.046875 1.625q-0.75 0.5625 -1.921875 0.5625q-1.484375 0 -2.359375 -0.90625q-0.859375 -0.921875 -0.859375 -2.5625q0 -1.703125 0.875 -2.640625q0.890625 -0.9375 2.28125 -0.9375q1.359375 0 2.203125 0.921875q0.859375 0.921875 0.859375 2.578125q0 0.109375 0 0.3125l-5.03125 0q0.0625 1.109375 0.625 1.703125q0.5625 0.59375 1.40625 0.59375q0.640625 0 1.078125 -0.328125q0.453125 -0.34375 0.703125 -1.0625zm-3.75 -1.84375l3.765625 0q-0.078125 -0.859375 -0.4375 -1.28125q-0.546875 -0.65625 -1.40625 -0.65625q-0.796875 0 -1.328125 0.53125q-0.53125 0.515625 -0.59375 1.40625zm10.928101 4.015625l0 -0.84375q-0.640625 1.0 -1.890625 1.0q-0.796875 0 -1.484375 -0.4375q-0.671875 -0.453125 -1.046875 -1.25q-0.375 -0.796875 -0.375 -1.828125q0 -1.015625 0.34375 -1.828125q0.34375 -0.828125 1.015625 -1.265625q0.671875 -0.4375 1.5 -0.4375q0.609375 0 1.078125 0.265625q0.484375 0.25 0.78125 0.65625l0 -3.34375l1.140625 0l0 9.3125l-1.0625 0zm-3.609375 -3.359375q0 1.296875 0.53125 1.9375q0.546875 0.640625 1.296875 0.640625q0.75 0 1.265625 -0.609375q0.53125 -0.625 0.53125 -1.875q0 -1.390625 -0.53125 -2.03125q-0.53125 -0.65625 -1.3125 -0.65625q-0.765625 0 -1.28125 0.625q-0.5 0.625 -0.5 1.96875zm6.2249756 -0.015625q0 -1.875 1.03125 -2.765625q0.875 -0.75 2.125 -0.75q1.390625 0 2.265625 0.90625q0.890625 0.90625 0.890625 2.515625q0 1.296875 -0.390625 2.046875q-0.390625 0.75 -1.140625 1.171875q-0.75 0.40625 -1.625 0.40625q-1.421875 0 -2.296875 -0.90625q-0.859375 -0.90625 -0.859375 -2.625zm1.171875 0q0 1.296875 0.5625 1.953125q0.5625 0.640625 1.421875 0.640625q0.84375 0 1.40625 -0.640625q0.578125 -0.65625 0.578125 -1.984375q0 -1.25 -0.578125 -1.890625q-0.5625 -0.65625 -1.40625 -0.65625q-0.859375 0 -1.421875 0.640625q-0.5625 0.640625 -0.5625 1.9375z" fill-rule="nonzero"></path><path fill="#000000" d="m269.2532 101.5326l0.15625 1.0q-0.484375 0.109375 -0.859375 0.109375q-0.625 0 -0.96875 -0.203125q-0.34375 -0.203125 -0.484375 -0.515625q-0.140625 -0.328125 -0.140625 -1.34375l0 -3.890625l-0.828125 0l0 -0.875l0.828125 0l0 -1.671875l1.140625 -0.6875l0 2.359375l1.15625 0l0 0.875l-1.15625 0l0 3.953125q0 0.484375 0.0625 0.625q0.0625 0.140625 0.1875 0.21875q0.140625 0.078125 0.390625 0.078125q0.203125 0 0.515625 -0.03125zm5.5935974 0.1875q-0.625 0.53125 -1.21875 0.765625q-0.578125 0.21875 -1.25 0.21875q-1.125 0 -1.71875 -0.546875q-0.59375 -0.546875 -0.59375 -1.390625q0 -0.484375 0.21875 -0.890625q0.234375 -0.421875 0.59375 -0.671875q0.375 -0.25 0.828125 -0.375q0.328125 -0.078125 1.015625 -0.171875q1.375 -0.15625 2.03125 -0.390625q0.015625 -0.234375 0.015625 -0.296875q0 -0.703125 -0.328125 -0.984375q-0.4375 -0.390625 -1.296875 -0.390625q-0.8125 0 -1.203125 0.28125q-0.375 0.28125 -0.5625 1.0l-1.109375 -0.140625q0.140625 -0.71875 0.484375 -1.15625q0.359375 -0.453125 1.015625 -0.6875q0.671875 -0.234375 1.53125 -0.234375q0.875 0 1.40625 0.203125q0.546875 0.203125 0.796875 0.515625q0.25 0.296875 0.359375 0.765625q0.046875 0.296875 0.046875 1.0625l0 1.515625q0 1.59375 0.078125 2.015625q0.078125 0.421875 0.28125 0.8125l-1.1875 0q-0.171875 -0.359375 -0.234375 -0.828125zm-0.09375 -2.5625q-0.625 0.265625 -1.859375 0.4375q-0.703125 0.109375 -1.0 0.234375q-0.296875 0.125 -0.453125 0.375q-0.15625 0.234375 -0.15625 0.53125q0 0.453125 0.34375 0.765625q0.34375 0.296875 1.015625 0.296875q0.65625 0 1.171875 -0.28125q0.515625 -0.296875 0.765625 -0.796875q0.171875 -0.375 0.171875 -1.140625l0 -0.421875zm2.6624756 1.375l1.125 -0.171875q0.09375 0.671875 0.53125 1.046875q0.4375 0.359375 1.21875 0.359375q0.78125 0 1.15625 -0.3125q0.390625 -0.328125 0.390625 -0.765625q0 -0.390625 -0.34375 -0.609375q-0.234375 -0.15625 -1.171875 -0.390625q-1.25 -0.3125 -1.734375 -0.546875q-0.484375 -0.234375 -0.734375 -0.640625q-0.25 -0.40625 -0.25 -0.90625q0 -0.453125 0.203125 -0.828125q0.203125 -0.390625 0.5625 -0.640625q0.265625 -0.203125 0.71875 -0.328125q0.46875 -0.140625 1.0 -0.140625q0.78125 0 1.375 0.234375q0.609375 0.21875 0.890625 0.609375q0.296875 0.390625 0.40625 1.046875l-1.125 0.15625q-0.078125 -0.53125 -0.4375 -0.8125q-0.359375 -0.296875 -1.03125 -0.296875q-0.78125 0 -1.125 0.265625q-0.34375 0.25 -0.34375 0.609375q0 0.21875 0.140625 0.390625q0.140625 0.1875 0.4375 0.3125q0.171875 0.0625 1.015625 0.28125q1.21875 0.328125 1.6875 0.53125q0.484375 0.203125 0.75 0.609375q0.28125 0.390625 0.28125 0.96875q0 0.578125 -0.34375 1.078125q-0.328125 0.5 -0.953125 0.78125q-0.625 0.28125 -1.421875 0.28125q-1.3125 0 -2.0 -0.546875q-0.6875 -0.546875 -0.875 -1.625zm7.1171875 2.015625l0 -9.3125l1.140625 0l0 5.3125l2.703125 -2.734375l1.484375 0l-2.578125 2.5l2.84375 4.234375l-1.40625 0l-2.234375 -3.453125l-0.8125 0.78125l0 2.671875l-1.140625 0zm6.2109375 -2.015625l1.125 -0.171875q0.09375 0.671875 0.53125 1.046875q0.4375 0.359375 1.21875 0.359375q0.78125 0 1.15625 -0.3125q0.390625 -0.328125 0.390625 -0.765625q0 -0.390625 -0.34375 -0.609375q-0.234375 -0.15625 -1.171875 -0.390625q-1.25 -0.3125 -1.734375 -0.546875q-0.484375 -0.234375 -0.734375 -0.640625q-0.25 -0.40625 -0.25 -0.90625q0 -0.453125 0.203125 -0.828125q0.203125 -0.390625 0.5625 -0.640625q0.265625 -0.203125 0.71875 -0.328125q0.46875 -0.140625 1.0 -0.140625q0.78125 0 1.375 0.234375q0.609375 0.21875 0.890625 0.609375q0.296875 0.390625 0.40625 1.046875l-1.125 0.15625q-0.078125 -0.53125 -0.4375 -0.8125q-0.359375 -0.296875 -1.03125 -0.296875q-0.78125 0 -1.125 0.265625q-0.34375 0.25 -0.34375 0.609375q0 0.21875 0.140625 0.390625q0.140625 0.1875 0.4375 0.3125q0.171875 0.0625 1.015625 0.28125q1.21875 0.328125 1.6875 0.53125q0.484375 0.203125 0.75 0.609375q0.28125 0.390625 0.28125 0.96875q0 0.578125 -0.34375 1.078125q-0.328125 0.5 -0.953125 0.78125q-0.625 0.28125 -1.421875 0.28125q-1.3125 0 -2.0 -0.546875q-0.6875 -0.546875 -0.875 -1.625z" fill-rule="nonzero"></path><path fill="#cfe2f3" d="m535.1826 125.79086l8.692932 -9.039459l0 4.346451l0 0c10.374512 -0.84072876 18.934692 -3.1356812 23.202026 -6.2203827c4.0509644 2.9282684 3.8136597 6.2664185 -0.649353 9.135063c-4.4630737 2.8686523 -12.704285 4.9801407 -22.552673 5.7782364l0 4.346451z" fill-rule="nonzero"></path><path fill="#a5b4c2" d="m569.9543 119.22393c0 -6.027298 -15.56781 -10.9133835 -34.771667 -10.9133835l0 -8.692917l0 0c19.203857 0 34.771667 4.886093 34.771667 10.9133835z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m569.9543 119.22393c0 -6.027298 -15.56781 -10.9133835 -34.771667 -10.9133835l0 -8.692917l0 0c19.203857 0 34.771667 4.886093 34.771667 10.9133835l0 8.692917c0 4.976486 -10.72644 9.322716 -26.078735 10.566841l0 4.346451l-8.692932 -8.346359l8.692932 -9.039459l0 4.346451l0 0c10.374512 -0.84072876 18.934692 -3.1356812 23.202026 -6.2203827" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m569.9543 119.22393c0 -6.027298 -15.56781 -10.9133835 -34.771667 -10.9133835l0 -8.692917l0 0c19.203857 0 34.771667 4.886093 34.771667 10.9133835l0 8.692917c0 4.976486 -10.72644 9.322716 -26.078735 10.566841l0 4.346451l-8.692932 -8.346359l8.692932 -9.039459l0 4.346451l0 0c10.374512 -0.84072876 18.934692 -3.1356812 23.202026 -6.2203827" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m575.7664 111.24077l110.17322 0l0 29.070862l-110.17322 0z" fill-rule="nonzero"></path><path fill="#000000" d="m592.8289 132.04077q0.84375 0.59375 1.578125 0.859375l-0.359375 0.859375q-1.015625 -0.359375 -2.0 -1.140625q-1.046875 0.578125 -2.296875 0.578125q-1.265625 0 -2.296875 -0.609375q-1.015625 -0.609375 -1.578125 -1.703125q-0.546875 -1.109375 -0.546875 -2.5q0 -1.3750076 0.546875 -2.5000076q0.5625 -1.140625 1.59375 -1.71875q1.03125 -0.59375 2.3125 -0.59375q1.28125 0 2.3125 0.609375q1.046875 0.609375 1.578125 1.71875q0.546875 1.09375 0.546875 2.4843826q0 1.140625 -0.34375 2.0625q-0.34375 0.921875 -1.046875 1.59375zm-2.71875 -1.578125q1.0625 0.3125 1.765625 0.890625q1.078125 -0.984375 1.078125 -2.96875q0 -1.1406326 -0.390625 -1.9843826q-0.375 -0.84375 -1.125 -1.296875q-0.734375 -0.46875 -1.65625 -0.46875q-1.375 0 -2.28125 0.9375q-0.90625 0.9375 -0.90625 2.8125076q0 1.8125 0.890625 2.796875q0.90625 0.96875 2.296875 0.96875q0.671875 0 1.25 -0.25q-0.578125 -0.375 -1.21875 -0.53125l0.296875 -0.90625zm10.304565 2.578125l0 -0.984375q-0.796875 1.140625 -2.140625 1.140625q-0.59375 0 -1.125 -0.234375q-0.515625 -0.234375 -0.765625 -0.578125q-0.25 -0.34375 -0.34375 -0.84375q-0.078125 -0.328125 -0.078125 -1.0625l0 -4.1718826l1.140625 0l0 3.7343826q0 0.890625 0.078125 1.203125q0.109375 0.453125 0.453125 0.71875q0.34375 0.25 0.859375 0.25q0.515625 0 0.96875 -0.265625q0.453125 -0.265625 0.640625 -0.71875q0.1875 -0.453125 0.1875 -1.3125l0 -3.6093826l1.140625 0l0 6.7343826l-1.015625 0zm7.5999756 -2.171875l1.1875 0.140625q-0.28125 1.046875 -1.046875 1.625q-0.75 0.5625 -1.921875 0.5625q-1.484375 0 -2.359375 -0.90625q-0.859375 -0.921875 -0.859375 -2.5625q0 -1.703125 0.875 -2.6406326q0.890625 -0.9375 2.28125 -0.9375q1.359375 0 2.203125 0.921875q0.859375 0.921875 0.859375 2.5781326q0 0.109375 0 0.3125l-5.03125 0q0.0625 1.109375 0.625 1.703125q0.5625 0.59375 1.40625 0.59375q0.640625 0 1.078125 -0.328125q0.453125 -0.34375 0.703125 -1.0625zm-3.75 -1.84375l3.765625 0q-0.078125 -0.859375 -0.4375 -1.2812576q-0.546875 -0.65625 -1.40625 -0.65625q-0.796875 0 -1.328125 0.53125q-0.53125 0.5156326 -0.59375 1.4062576zm10.974976 4.015625l0 -0.984375q-0.796875 1.140625 -2.140625 1.140625q-0.59375 0 -1.125 -0.234375q-0.515625 -0.234375 -0.765625 -0.578125q-0.25 -0.34375 -0.34375 -0.84375q-0.078125 -0.328125 -0.078125 -1.0625l0 -4.1718826l1.140625 0l0 3.7343826q0 0.890625 0.078125 1.203125q0.109375 0.453125 0.453125 0.71875q0.34375 0.25 0.859375 0.25q0.515625 0 0.96875 -0.265625q0.453125 -0.265625 0.640625 -0.71875q0.1875 -0.453125 0.1875 -1.3125l0 -3.6093826l1.140625 0l0 6.7343826l-1.015625 0zm7.5999756 -2.171875l1.1875 0.140625q-0.28125 1.046875 -1.046875 1.625q-0.75 0.5625 -1.921875 0.5625q-1.484375 0 -2.359375 -0.90625q-0.859375 -0.921875 -0.859375 -2.5625q0 -1.703125 0.875 -2.6406326q0.890625 -0.9375 2.28125 -0.9375q1.359375 0 2.203125 0.921875q0.859375 0.921875 0.859375 2.5781326q0 0.109375 0 0.3125l-5.03125 0q0.0625 1.109375 0.625 1.703125q0.5625 0.59375 1.40625 0.59375q0.640625 0 1.078125 -0.328125q0.453125 -0.34375 0.703125 -1.0625zm-3.75 -1.84375l3.765625 0q-0.078125 -0.859375 -0.4375 -1.2812576q-0.546875 -0.65625 -1.40625 -0.65625q-0.796875 0 -1.328125 0.53125q-0.53125 0.5156326 -0.59375 1.4062576z" fill-rule="nonzero"></path><path fill="#000000" d="m585.61017 149.04077l0 -6.734375l1.03125 0l0 1.015625q0.390625 -0.71875 0.71875 -0.9375q0.34375 -0.234375 0.734375 -0.234375q0.578125 0 1.171875 0.359375l-0.390625 1.0625q-0.421875 -0.25 -0.828125 -0.25q-0.375 0 -0.6875 0.234375q-0.296875 0.21875 -0.421875 0.625q-0.1875 0.609375 -0.1875 1.328125l0 3.53125l-1.140625 0zm9.0633545 -2.171875l1.1875 0.140625q-0.28125 1.046875 -1.046875 1.625q-0.75 0.5625 -1.921875 0.5625q-1.484375 0 -2.359375 -0.90625q-0.859375 -0.921875 -0.859375 -2.5625q0 -1.703125 0.875 -2.640625q0.890625 -0.9375 2.28125 -0.9375q1.359375 0 2.203125 0.921875q0.859375 0.921875 0.859375 2.578125q0 0.109375 0 0.3125l-5.03125 0q0.0625 1.109375 0.625 1.703125q0.5625 0.59375 1.40625 0.59375q0.640625 0 1.078125 -0.328125q0.453125 -0.34375 0.703125 -1.0625zm-3.75 -1.84375l3.765625 0q-0.078125 -0.859375 -0.4375 -1.28125q-0.546875 -0.65625 -1.40625 -0.65625q-0.796875 0 -1.328125 0.53125q-0.53125 0.515625 -0.59375 1.40625zm6.5531006 6.59375l0 -9.3125l1.03125 0l0 0.875q0.375 -0.515625 0.828125 -0.765625q0.46875 -0.265625 1.140625 -0.265625q0.859375 0 1.515625 0.453125q0.65625 0.4375 0.984375 1.25q0.34375 0.796875 0.34375 1.765625q0 1.03125 -0.375 1.859375q-0.359375 0.828125 -1.078125 1.28125q-0.703125 0.4375 -1.484375 0.4375q-0.5625 0 -1.015625 -0.234375q-0.453125 -0.25 -0.75 -0.625l0 3.28125l-1.140625 0zm1.03125 -5.90625q0 1.296875 0.53125 1.921875q0.53125 0.625 1.265625 0.625q0.765625 0 1.3125 -0.640625q0.546875 -0.65625 0.546875 -2.0q0 -1.296875 -0.53125 -1.9375q-0.53125 -0.640625 -1.265625 -0.640625q-0.734375 0 -1.296875 0.6875q-0.5625 0.671875 -0.5625 1.984375zm10.990601 1.15625l1.1875 0.140625q-0.28125 1.046875 -1.046875 1.625q-0.75 0.5625 -1.921875 0.5625q-1.484375 0 -2.359375 -0.90625q-0.859375 -0.921875 -0.859375 -2.5625q0 -1.703125 0.875 -2.640625q0.890625 -0.9375 2.28125 -0.9375q1.359375 0 2.203125 0.921875q0.859375 0.921875 0.859375 2.578125q0 0.109375 0 0.3125l-5.03125 0q0.0625 1.109375 0.625 1.703125q0.5625 0.59375 1.40625 0.59375q0.640625 0 1.078125 -0.328125q0.453125 -0.34375 0.703125 -1.0625zm-3.75 -1.84375l3.765625 0q-0.078125 -0.859375 -0.4375 -1.28125q-0.546875 -0.65625 -1.40625 -0.65625q-0.796875 0 -1.328125 0.53125q-0.53125 0.515625 -0.59375 1.40625zm10.943726 3.1875q-0.625 0.53125 -1.21875 0.765625q-0.578125 0.21875 -1.25 0.21875q-1.125 0 -1.71875 -0.546875q-0.59375 -0.546875 -0.59375 -1.390625q0 -0.484375 0.21875 -0.890625q0.234375 -0.421875 0.59375 -0.671875q0.375 -0.25 0.828125 -0.375q0.328125 -0.078125 1.015625 -0.171875q1.375 -0.15625 2.03125 -0.390625q0.015625 -0.234375 0.015625 -0.296875q0 -0.703125 -0.328125 -0.984375q-0.4375 -0.390625 -1.296875 -0.390625q-0.8125 0 -1.203125 0.28125q-0.375 0.28125 -0.5625 1.0l-1.109375 -0.140625q0.140625 -0.71875 0.484375 -1.15625q0.359375 -0.453125 1.015625 -0.6875q0.671875 -0.234375 1.53125 -0.234375q0.875 0 1.40625 0.203125q0.546875 0.203125 0.796875 0.515625q0.25 0.296875 0.359375 0.765625q0.046875 0.296875 0.046875 1.0625l0 1.515625q0 1.59375 0.078125 2.015625q0.078125 0.421875 0.28125 0.8125l-1.1875 0q-0.171875 -0.359375 -0.234375 -0.828125zm-0.09375 -2.5625q-0.625 0.265625 -1.859375 0.4375q-0.703125 0.109375 -1.0 0.234375q-0.296875 0.125 -0.453125 0.375q-0.15625 0.234375 -0.15625 0.53125q0 0.453125 0.34375 0.765625q0.34375 0.296875 1.015625 0.296875q0.65625 0 1.171875 -0.28125q0.515625 -0.296875 0.765625 -0.796875q0.171875 -0.375 0.171875 -1.140625l0 -0.421875zm5.6156006 2.375l0.15625 1.0q-0.484375 0.109375 -0.859375 0.109375q-0.625 0 -0.96875 -0.203125q-0.34375 -0.203125 -0.484375 -0.515625q-0.140625 -0.328125 -0.140625 -1.34375l0 -3.890625l-0.828125 0l0 -0.875l0.828125 0l0 -1.671875l1.140625 -0.6875l0 2.359375l1.15625 0l0 0.875l-1.15625 0l0 3.953125q0 0.484375 0.0625 0.625q0.0625 0.140625 0.1875 0.21875q0.140625 0.078125 0.390625 0.078125q0.203125 0 0.515625 -0.03125zm5.812378 -1.15625l1.1875 0.140625q-0.28125 1.046875 -1.046875 1.625q-0.75 0.5625 -1.921875 0.5625q-1.484375 0 -2.359375 -0.90625q-0.859375 -0.921875 -0.859375 -2.5625q0 -1.703125 0.875 -2.640625q0.890625 -0.9375 2.28125 -0.9375q1.359375 0 2.203125 0.921875q0.859375 0.921875 0.859375 2.578125q0 0.109375 0 0.3125l-5.03125 0q0.0625 1.109375 0.625 1.703125q0.5625 0.59375 1.40625 0.59375q0.640625 0 1.078125 -0.328125q0.453125 -0.34375 0.703125 -1.0625zm-3.75 -1.84375l3.765625 0q-0.078125 -0.859375 -0.4375 -1.28125q-0.546875 -0.65625 -1.40625 -0.65625q-0.796875 0 -1.328125 0.53125q-0.53125 0.515625 -0.59375 1.40625zm10.928101 4.015625l0 -0.84375q-0.640625 1.0 -1.890625 1.0q-0.796875 0 -1.484375 -0.4375q-0.671875 -0.453125 -1.046875 -1.25q-0.375 -0.796875 -0.375 -1.828125q0 -1.015625 0.34375 -1.828125q0.34375 -0.828125 1.015625 -1.265625q0.671875 -0.4375 1.5 -0.4375q0.609375 0 1.078125 0.265625q0.484375 0.25 0.78125 0.65625l0 -3.34375l1.140625 0l0 9.3125l-1.0625 0zm-3.609375 -3.359375q0 1.296875 0.53125 1.9375q0.546875 0.640625 1.296875 0.640625q0.75 0 1.265625 -0.609375q0.53125 -0.625 0.53125 -1.875q0 -1.390625 -0.53125 -2.03125q-0.53125 -0.65625 -1.3125 -0.65625q-0.765625 0 -1.28125 0.625q-0.5 0.625 -0.5 1.96875zm12.8498535 2.34375l0.15625 1.0q-0.484375 0.109375 -0.859375 0.109375q-0.625 0 -0.96875 -0.203125q-0.34375 -0.203125 -0.484375 -0.515625q-0.140625 -0.328125 -0.140625 -1.34375l0 -3.890625l-0.828125 0l0 -0.875l0.828125 0l0 -1.671875l1.140625 -0.6875l0 2.359375l1.15625 0l0 0.875l-1.15625 0l0 3.953125q0 0.484375 0.0625 0.625q0.0625 0.140625 0.1875 0.21875q0.140625 0.078125 0.390625 0.078125q0.203125 0 0.515625 -0.03125zm5.593567 0.1875q-0.625 0.53125 -1.21875 0.765625q-0.578125 0.21875 -1.25 0.21875q-1.125 0 -1.71875 -0.546875q-0.59375 -0.546875 -0.59375 -1.390625q0 -0.484375 0.21875 -0.890625q0.234375 -0.421875 0.59375 -0.671875q0.375 -0.25 0.828125 -0.375q0.328125 -0.078125 1.015625 -0.171875q1.375 -0.15625 2.03125 -0.390625q0.015625 -0.234375 0.015625 -0.296875q0 -0.703125 -0.328125 -0.984375q-0.4375 -0.390625 -1.296875 -0.390625q-0.8125 0 -1.203125 0.28125q-0.375 0.28125 -0.5625 1.0l-1.109375 -0.140625q0.140625 -0.71875 0.484375 -1.15625q0.359375 -0.453125 1.015625 -0.6875q0.671875 -0.234375 1.53125 -0.234375q0.875 0 1.40625 0.203125q0.546875 0.203125 0.796875 0.515625q0.25 0.296875 0.359375 0.765625q0.046875 0.296875 0.046875 1.0625l0 1.515625q0 1.59375 0.078125 2.015625q0.078125 0.421875 0.28125 0.8125l-1.1875 0q-0.171875 -0.359375 -0.234375 -0.828125zm-0.09375 -2.5625q-0.625 0.265625 -1.859375 0.4375q-0.703125 0.109375 -1.0 0.234375q-0.296875 0.125 -0.453125 0.375q-0.15625 0.234375 -0.15625 0.53125q0 0.453125 0.34375 0.765625q0.34375 0.296875 1.015625 0.296875q0.65625 0 1.171875 -0.28125q0.515625 -0.296875 0.765625 -0.796875q0.171875 -0.375 0.171875 -1.140625l0 -0.421875zm2.6624756 1.375l1.125 -0.171875q0.09375 0.671875 0.53125 1.046875q0.4375 0.359375 1.21875 0.359375q0.78125 0 1.15625 -0.3125q0.390625 -0.328125 0.390625 -0.765625q0 -0.390625 -0.34375 -0.609375q-0.234375 -0.15625 -1.171875 -0.390625q-1.25 -0.3125 -1.734375 -0.546875q-0.484375 -0.234375 -0.734375 -0.640625q-0.25 -0.40625 -0.25 -0.90625q0 -0.453125 0.203125 -0.828125q0.203125 -0.390625 0.5625 -0.640625q0.265625 -0.203125 0.71875 -0.328125q0.46875 -0.140625 1.0 -0.140625q0.78125 0 1.375 0.234375q0.609375 0.21875 0.890625 0.609375q0.296875 0.390625 0.40625 1.046875l-1.125 0.15625q-0.078125 -0.53125 -0.4375 -0.8125q-0.359375 -0.296875 -1.03125 -0.296875q-0.78125 0 -1.125 0.265625q-0.34375 0.25 -0.34375 0.609375q0 0.21875 0.140625 0.390625q0.140625 0.1875 0.4375 0.3125q0.171875 0.0625 1.015625 0.28125q1.21875 0.328125 1.6875 0.53125q0.484375 0.203125 0.75 0.609375q0.28125 0.390625 0.28125 0.96875q0 0.578125 -0.34375 1.078125q-0.328125 0.5 -0.953125 0.78125q-0.625 0.28125 -1.421875 0.28125q-1.3125 0 -2.0 -0.546875q-0.6875 -0.546875 -0.875 -1.625zm7.1171875 2.015625l0 -9.3125l1.140625 0l0 5.3125l2.703125 -2.734375l1.484375 0l-2.578125 2.5l2.84375 4.234375l-1.40625 0l-2.234375 -3.453125l-0.8125 0.78125l0 2.671875l-1.140625 0zm6.2109375 -2.015625l1.125 -0.171875q0.09375 0.671875 0.53125 1.046875q0.4375 0.359375 1.21875 0.359375q0.78125 0 1.15625 -0.3125q0.390625 -0.328125 0.390625 -0.765625q0 -0.390625 -0.34375 -0.609375q-0.234375 -0.15625 -1.171875 -0.390625q-1.25 -0.3125 -1.734375 -0.546875q-0.484375 -0.234375 -0.734375 -0.640625q-0.25 -0.40625 -0.25 -0.90625q0 -0.453125 0.203125 -0.828125q0.203125 -0.390625 0.5625 -0.640625q0.265625 -0.203125 0.71875 -0.328125q0.46875 -0.140625 1.0 -0.140625q0.78125 0 1.375 0.234375q0.609375 0.21875 0.890625 0.609375q0.296875 0.390625 0.40625 1.046875l-1.125 0.15625q-0.078125 -0.53125 -0.4375 -0.8125q-0.359375 -0.296875 -1.03125 -0.296875q-0.78125 0 -1.125 0.265625q-0.34375 0.25 -0.34375 0.609375q0 0.21875 0.140625 0.390625q0.140625 0.1875 0.4375 0.3125q0.171875 0.0625 1.015625 0.28125q1.21875 0.328125 1.6875 0.53125q0.484375 0.203125 0.75 0.609375q0.28125 0.390625 0.28125 0.96875q0 0.578125 -0.34375 1.078125q-0.328125 0.5 -0.953125 0.78125q-0.625 0.28125 -1.421875 0.28125q-1.3125 0 -2.0 -0.546875q-0.6875 -0.546875 -0.875 -1.625z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m384.44284 128.67548l144.94492 0l0 23.244095l-144.94492 0z" fill-rule="nonzero"></path><path fill="#000000" d="m401.08347 147.20984l1.234375 0.3125q-0.390625 1.515625 -1.40625 2.3125q-1.0 0.796875 -2.453125 0.796875q-1.5 0 -2.453125 -0.609375q-0.9375 -0.609375 -1.4375 -1.765625q-0.484375 -1.171875 -0.484375 -2.5q0 -1.453125 0.5625 -2.53125q0.5625 -1.09375 1.578125 -1.65625q1.03125 -0.5625 2.265625 -0.5625q1.390625 0 2.34375 0.71875q0.953125 0.703125 1.328125 2.0l-1.21875 0.28125q-0.328125 -1.015625 -0.9375 -1.46875q-0.609375 -0.46875 -1.546875 -0.46875q-1.078125 0 -1.796875 0.515625q-0.71875 0.515625 -1.015625 1.375q-0.28125 0.859375 -0.28125 1.78125q0 1.1875 0.34375 2.078125q0.34375 0.890625 1.0625 1.328125q0.734375 0.4375 1.59375 0.4375q1.03125 0 1.75 -0.59375q0.71875 -0.609375 0.96875 -1.78125zm5.3595276 3.265625l0 -8.203125l-3.0625 0l0 -1.109375l7.375 0l0 1.109375l-3.078125 0l0 8.203125l-1.234375 0zm9.53186 0l0 -9.3125l6.28125 0l0 1.109375l-5.046875 0l0 2.875l4.375 0l0 1.09375l-4.375 0l0 4.234375l-1.234375 0zm7.9226074 0l0 -6.734375l1.03125 0l0 1.015625q0.390625 -0.71875 0.71875 -0.9375q0.34375 -0.234375 0.734375 -0.234375q0.578125 0 1.171875 0.359375l-0.390625 1.0625q-0.421875 -0.25 -0.828125 -0.25q-0.375 0 -0.6875 0.234375q-0.296875 0.21875 -0.421875 0.625q-0.1875 0.609375 -0.1875 1.328125l0 3.53125l-1.140625 0zm4.0321045 -3.375q0 -1.875 1.03125 -2.765625q0.875 -0.75 2.125 -0.75q1.390625 0 2.265625 0.90625q0.890625 0.90625 0.890625 2.515625q0 1.296875 -0.390625 2.046875q-0.390625 0.75 -1.140625 1.171875q-0.75 0.40625 -1.625 0.40625q-1.421875 0 -2.296875 -0.90625q-0.859375 -0.90625 -0.859375 -2.625zm1.171875 0q0 1.296875 0.5625 1.953125q0.5625 0.640625 1.421875 0.640625q0.84375 0 1.40625 -0.640625q0.578125 -0.65625 0.578125 -1.984375q0 -1.25 -0.578125 -1.890625q-0.5625 -0.65625 -1.40625 -0.65625q-0.859375 0 -1.421875 0.640625q-0.5625 0.640625 -0.5625 1.9375zm6.6624756 3.375l0 -6.734375l1.03125 0l0 0.953125q0.734375 -1.109375 2.140625 -1.109375q0.609375 0 1.109375 0.21875q0.515625 0.21875 0.765625 0.578125q0.265625 0.34375 0.359375 0.84375q0.0625 0.3125 0.0625 1.109375l0 4.140625l-1.140625 0l0 -4.09375q0 -0.703125 -0.140625 -1.046875q-0.125 -0.34375 -0.46875 -0.546875q-0.328125 -0.21875 -0.78125 -0.21875q-0.734375 0 -1.265625 0.46875q-0.53125 0.453125 -0.53125 1.75l0 3.6875l-1.140625 0zm9.912476 -1.015625l0.15625 1.0q-0.484375 0.109375 -0.859375 0.109375q-0.625 0 -0.96875 -0.203125q-0.34375 -0.203125 -0.484375 -0.515625q-0.140625 -0.328125 -0.140625 -1.34375l0 -3.890625l-0.828125 0l0 -0.875l0.828125 0l0 -1.671875l1.140625 -0.6875l0 2.359375l1.15625 0l0 0.875l-1.15625 0l0 3.953125q0 0.484375 0.0625 0.625q0.0625 0.140625 0.1875 0.21875q0.140625 0.078125 0.390625 0.078125q0.203125 0 0.515625 -0.03125zm5.812378 -1.15625l1.1875 0.140625q-0.28125 1.046875 -1.046875 1.625q-0.75 0.5625 -1.921875 0.5625q-1.484375 0 -2.359375 -0.90625q-0.859375 -0.921875 -0.859375 -2.5625q0 -1.703125 0.875 -2.640625q0.890625 -0.9375 2.28125 -0.9375q1.359375 0 2.203125 0.921875q0.859375 0.921875 0.859375 2.578125q0 0.109375 0 0.3125l-5.03125 0q0.0625 1.109375 0.625 1.703125q0.5625 0.59375 1.40625 0.59375q0.640625 0 1.078125 -0.328125q0.453125 -0.34375 0.703125 -1.0625zm-3.75 -1.84375l3.765625 0q-0.078125 -0.859375 -0.4375 -1.28125q-0.546875 -0.65625 -1.40625 -0.65625q-0.796875 0 -1.328125 0.53125q-0.53125 0.515625 -0.59375 1.40625zm6.5531006 4.015625l0 -6.734375l1.03125 0l0 0.953125q0.734375 -1.109375 2.140625 -1.109375q0.609375 0 1.109375 0.21875q0.515625 0.21875 0.765625 0.578125q0.265625 0.34375 0.359375 0.84375q0.0625 0.3125 0.0625 1.109375l0 4.140625l-1.140625 0l0 -4.09375q0 -0.703125 -0.140625 -1.046875q-0.125 -0.34375 -0.46875 -0.546875q-0.328125 -0.21875 -0.78125 -0.21875q-0.734375 0 -1.265625 0.46875q-0.53125 0.453125 -0.53125 1.75l0 3.6875l-1.140625 0zm11.787476 0l0 -0.84375q-0.640625 1.0 -1.890625 1.0q-0.796875 0 -1.484375 -0.4375q-0.671875 -0.453125 -1.046875 -1.25q-0.375 -0.796875 -0.375 -1.828125q0 -1.015625 0.34375 -1.828125q0.34375 -0.828125 1.015625 -1.265625q0.671875 -0.4375 1.5 -0.4375q0.609375 0 1.078125 0.265625q0.484375 0.25 0.78125 0.65625l0 -3.34375l1.140625 0l0 9.3125l-1.0625 0zm-3.609375 -3.359375q0 1.296875 0.53125 1.9375q0.546875 0.640625 1.296875 0.640625q0.75 0 1.265625 -0.609375q0.53125 -0.625 0.53125 -1.875q0 -1.390625 -0.53125 -2.03125q-0.53125 -0.65625 -1.3125 -0.65625q-0.765625 0 -1.28125 0.625q-0.5 0.625 -0.5 1.96875z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m335.40323 279.56268l124.409454 -123.33858" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m335.40323 279.56268l115.88757 -114.89006" fill-rule="evenodd"></path><path fill="#000000" stroke="#000000" stroke-width="2.0" stroke-linecap="butt" d="m453.61658 167.0186l4.1197205 -8.736008l-8.771301 4.044052z" fill-rule="evenodd"></path><path fill="#000000" fill-opacity="0.0" d="m402.2914 195.39896l153.98422 0l0 34.866135l-153.98422 0z" fill-rule="nonzero"></path><path fill="#000000" d="m412.2914 217.19894l0 -9.3125l3.515625 0q0.921875 0 1.40625 0.09375q0.6875 0.109375 1.15625 0.4375q0.46875 0.3125 0.75 0.890625q0.28125 0.578125 0.28125 1.28125q0 1.1875 -0.765625 2.015625q-0.75 0.8125 -2.71875 0.8125l-2.390625 0l0 3.78125l-1.234375 0zm1.234375 -4.875l2.40625 0q1.1875 0 1.6875 -0.4375q0.515625 -0.453125 0.515625 -1.265625q0 -0.578125 -0.296875 -0.984375q-0.296875 -0.421875 -0.78125 -0.5625q-0.3125 -0.078125 -1.15625 -0.078125l-2.375 0l0 3.328125zm7.092865 1.5q0 -1.875 1.03125 -2.765625q0.875 -0.75 2.125 -0.75q1.390625 0 2.265625 0.90625q0.890625 0.90625 0.890625 2.515625q0 1.296875 -0.390625 2.046875q-0.390625 0.75 -1.140625 1.171875q-0.75 0.40625 -1.625 0.40625q-1.421875 0 -2.296875 -0.90625q-0.859375 -0.90625 -0.859375 -2.625zm1.171875 0q0 1.296875 0.5625 1.953125q0.5625 0.640625 1.421875 0.640625q0.84375 0 1.40625 -0.640625q0.578125 -0.65625 0.578125 -1.984375q0 -1.25 -0.578125 -1.890625q-0.5625 -0.65625 -1.40625 -0.65625q-0.859375 0 -1.421875 0.640625q-0.5625 0.640625 -0.5625 1.9375zm6.6312256 3.375l0 -9.3125l1.140625 0l0 9.3125l-1.140625 0zm2.96109 0l0 -9.3125l1.140625 0l0 9.3125l-1.140625 0zm6.960968 0l0 -5.859375l-1.0 0l0 -0.875l1.0 0l0 -0.71875q0 -0.6875 0.125 -1.015625q0.171875 -0.4375 0.578125 -0.71875q0.421875 -0.28125 1.171875 -0.28125q0.484375 0 1.0625 0.125l-0.171875 0.984375q-0.359375 -0.0625 -0.671875 -0.0625q-0.515625 0 -0.734375 0.234375q-0.21875 0.21875 -0.21875 0.828125l0 0.625l1.3125 0l0 0.875l-1.3125 0l0 5.859375l-1.140625 0zm3.0154724 -3.375q0 -1.875 1.03125 -2.765625q0.875 -0.75 2.125 -0.75q1.390625 0 2.265625 0.90625q0.890625 0.90625 0.890625 2.515625q0 1.296875 -0.390625 2.046875q-0.390625 0.75 -1.140625 1.171875q-0.75 0.40625 -1.625 0.40625q-1.421875 0 -2.296875 -0.90625q-0.859375 -0.90625 -0.859375 -2.625zm1.171875 0q0 1.296875 0.5625 1.953125q0.5625 0.640625 1.421875 0.640625q0.84375 0 1.40625 -0.640625q0.578125 -0.65625 0.578125 -1.984375q0 -1.25 -0.578125 -1.890625q-0.5625 -0.65625 -1.40625 -0.65625q-0.859375 0 -1.421875 0.640625q-0.5625 0.640625 -0.5625 1.9375zm6.6468506 3.375l0 -6.734375l1.03125 0l0 1.015625q0.390625 -0.71875 0.71875 -0.9375q0.34375 -0.234375 0.734375 -0.234375q0.578125 0 1.171875 0.359375l-0.390625 1.0625q-0.421875 -0.25 -0.828125 -0.25q-0.375 0 -0.6875 0.234375q-0.296875 0.21875 -0.421875 0.625q-0.1875 0.609375 -0.1875 1.328125l0 3.53125l-1.140625 0zm8.156982 0l0 -6.734375l1.03125 0l0 0.953125q0.734375 -1.109375 2.140625 -1.109375q0.609375 0 1.109375 0.21875q0.515625 0.21875 0.765625 0.578125q0.265625 0.34375 0.359375 0.84375q0.0625 0.3125 0.0625 1.109375l0 4.140625l-1.140625 0l0 -4.09375q0 -0.703125 -0.140625 -1.046875q-0.125 -0.34375 -0.46875 -0.546875q-0.328125 -0.21875 -0.78125 -0.21875q-0.734375 0 -1.265625 0.46875q-0.53125 0.453125 -0.53125 1.75l0 3.6875l-1.140625 0zm12.021851 -2.171875l1.1875 0.140625q-0.28125 1.046875 -1.046875 1.625q-0.75 0.5625 -1.921875 0.5625q-1.484375 0 -2.359375 -0.90625q-0.859375 -0.921875 -0.859375 -2.5625q0 -1.703125 0.875 -2.640625q0.890625 -0.9375 2.28125 -0.9375q1.359375 0 2.203125 0.921875q0.859375 0.921875 0.859375 2.578125q0 0.109375 0 0.3125l-5.03125 0q0.0625 1.109375 0.625 1.703125q0.5625 0.59375 1.40625 0.59375q0.640625 0 1.078125 -0.328125q0.453125 -0.34375 0.703125 -1.0625zm-3.75 -1.84375l3.765625 0q-0.078125 -0.859375 -0.4375 -1.28125q-0.546875 -0.65625 -1.40625 -0.65625q-0.796875 0 -1.328125 0.53125q-0.53125 0.515625 -0.59375 1.40625zm7.7874756 4.015625l-2.0625 -6.734375l1.1875 0l1.078125 3.890625l0.390625 1.4375q0.03125 -0.109375 0.359375 -1.390625l1.0625 -3.9375l1.171875 0l1.015625 3.90625l0.34375 1.28125l0.375 -1.296875l1.15625 -3.890625l1.109375 0l-2.109375 6.734375l-1.171875 0l-1.078125 -4.03125l-0.265625 -1.15625l-1.359375 5.1875l-1.203125 0zm14.5937805 -1.015625l0.15625 1.0q-0.484375 0.109375 -0.859375 0.109375q-0.625 0 -0.96875 -0.203125q-0.34375 -0.203125 -0.484375 -0.515625q-0.140625 -0.328125 -0.140625 -1.34375l0 -3.890625l-0.828125 0l0 -0.875l0.828125 0l0 -1.671875l1.140625 -0.6875l0 2.359375l1.15625 0l0 0.875l-1.15625 0l0 3.953125q0 0.484375 0.0625 0.625q0.0625 0.140625 0.1875 0.21875q0.140625 0.078125 0.390625 0.078125q0.203125 0 0.515625 -0.03125zm5.5935974 0.1875q-0.625 0.53125 -1.21875 0.765625q-0.578125 0.21875 -1.25 0.21875q-1.125 0 -1.71875 -0.546875q-0.59375 -0.546875 -0.59375 -1.390625q0 -0.484375 0.21875 -0.890625q0.234375 -0.421875 0.59375 -0.671875q0.375 -0.25 0.828125 -0.375q0.328125 -0.078125 1.015625 -0.171875q1.375 -0.15625 2.03125 -0.390625q0.015625 -0.234375 0.015625 -0.296875q0 -0.703125 -0.328125 -0.984375q-0.4375 -0.390625 -1.296875 -0.390625q-0.8125 0 -1.203125 0.28125q-0.375 0.28125 -0.5625 1.0l-1.109375 -0.140625q0.140625 -0.71875 0.484375 -1.15625q0.359375 -0.453125 1.015625 -0.6875q0.671875 -0.234375 1.53125 -0.234375q0.875 0 1.40625 0.203125q0.546875 0.203125 0.796875 0.515625q0.25 0.296875 0.359375 0.765625q0.046875 0.296875 0.046875 1.0625l0 1.515625q0 1.59375 0.078125 2.015625q0.078125 0.421875 0.28125 0.8125l-1.1875 0q-0.171875 -0.359375 -0.234375 -0.828125zm-0.09375 -2.5625q-0.625 0.265625 -1.859375 0.4375q-0.703125 0.109375 -1.0 0.234375q-0.296875 0.125 -0.453125 0.375q-0.15625 0.234375 -0.15625 0.53125q0 0.453125 0.34375 0.765625q0.34375 0.296875 1.015625 0.296875q0.65625 0 1.171875 -0.28125q0.515625 -0.296875 0.765625 -0.796875q0.171875 -0.375 0.171875 -1.140625l0 -0.421875zm2.6624756 1.375l1.125 -0.171875q0.09375 0.671875 0.53125 1.046875q0.4375 0.359375 1.21875 0.359375q0.78125 0 1.15625 -0.3125q0.390625 -0.328125 0.390625 -0.765625q0 -0.390625 -0.34375 -0.609375q-0.234375 -0.15625 -1.171875 -0.390625q-1.25 -0.3125 -1.734375 -0.546875q-0.484375 -0.234375 -0.734375 -0.640625q-0.25 -0.40625 -0.25 -0.90625q0 -0.453125 0.203125 -0.828125q0.203125 -0.390625 0.5625 -0.640625q0.265625 -0.203125 0.71875 -0.328125q0.46875 -0.140625 1.0 -0.140625q0.78125 0 1.375 0.234375q0.609375 0.21875 0.890625 0.609375q0.296875 0.390625 0.40625 1.046875l-1.125 0.15625q-0.078125 -0.53125 -0.4375 -0.8125q-0.359375 -0.296875 -1.03125 -0.296875q-0.78125 0 -1.125 0.265625q-0.34375 0.25 -0.34375 0.609375q0 0.21875 0.140625 0.390625q0.140625 0.1875 0.4375 0.3125q0.171875 0.0625 1.015625 0.28125q1.21875 0.328125 1.6875 0.53125q0.484375 0.203125 0.75 0.609375q0.28125 0.390625 0.28125 0.96875q0 0.578125 -0.34375 1.078125q-0.328125 0.5 -0.953125 0.78125q-0.625 0.28125 -1.421875 0.28125q-1.3125 0 -2.0 -0.546875q-0.6875 -0.546875 -0.875 -1.625zm7.1171875 2.015625l0 -9.3125l1.140625 0l0 5.3125l2.703125 -2.734375l1.484375 0l-2.578125 2.5l2.84375 4.234375l-1.40625 0l-2.234375 -3.453125l-0.8125 0.78125l0 2.671875l-1.140625 0zm6.2109375 -2.015625l1.125 -0.171875q0.09375 0.671875 0.53125 1.046875q0.4375 0.359375 1.2187805 0.359375q0.78125 0 1.15625 -0.3125q0.390625 -0.328125 0.390625 -0.765625q0 -0.390625 -0.34375 -0.609375q-0.234375 -0.15625 -1.171875 -0.390625q-1.2500305 -0.3125 -1.7344055 -0.546875q-0.484375 -0.234375 -0.734375 -0.640625q-0.25 -0.40625 -0.25 -0.90625q0 -0.453125 0.203125 -0.828125q0.203125 -0.390625 0.5625 -0.640625q0.265625 -0.203125 0.71875 -0.328125q0.46875 -0.140625 1.0000305 -0.140625q0.78125 0 1.375 0.234375q0.609375 0.21875 0.890625 0.609375q0.296875 0.390625 0.40625 1.046875l-1.125 0.15625q-0.078125 -0.53125 -0.4375 -0.8125q-0.359375 -0.296875 -1.03125 -0.296875q-0.7812805 0 -1.1250305 0.265625q-0.34375 0.25 -0.34375 0.609375q0 0.21875 0.140625 0.390625q0.140625 0.1875 0.4375 0.3125q0.171875 0.0625 1.0156555 0.28125q1.21875 0.328125 1.6875 0.53125q0.484375 0.203125 0.75 0.609375q0.28125 0.390625 0.28125 0.96875q0 0.578125 -0.34375 1.078125q-0.328125 0.5 -0.953125 0.78125q-0.625 0.28125 -1.421875 0.28125q-1.3125305 0 -2.0000305 -0.546875q-0.6875 -0.546875 -0.875 -1.625z" fill-rule="nonzero"></path><path fill="#000000" d="m418.4008 223.88644l1.234375 0l0 5.390625q0 1.390625 -0.328125 2.21875q-0.3125 0.828125 -1.140625 1.34375q-0.828125 0.515625 -2.171875 0.515625q-1.3125 0 -2.140625 -0.453125q-0.828125 -0.453125 -1.1875 -1.296875q-0.359375 -0.859375 -0.359375 -2.328125l0 -5.390625l1.234375 0l0 5.375q0 1.21875 0.21875 1.796875q0.234375 0.5625 0.78125 0.875q0.546875 0.3125 1.34375 0.3125q1.359375 0 1.9375 -0.609375q0.578125 -0.625 0.578125 -2.375l0 -5.375zm3.3751526 11.890625l0 -9.3125l1.03125 0l0 0.875q0.375 -0.515625 0.828125 -0.765625q0.46875 -0.265625 1.140625 -0.265625q0.859375 0 1.515625 0.453125q0.65625 0.4375 0.984375 1.25q0.34375 0.796875 0.34375 1.765625q0 1.03125 -0.375 1.859375q-0.359375 0.828125 -1.078125 1.28125q-0.703125 0.4375 -1.484375 0.4375q-0.5625 0 -1.015625 -0.234375q-0.453125 -0.25 -0.75 -0.625l0 3.28125l-1.140625 0zm1.03125 -5.90625q0 1.296875 0.53125 1.921875q0.53125 0.625 1.265625 0.625q0.765625 0 1.3125 -0.640625q0.546875 -0.65625 0.546875 -2.0q0 -1.296875 -0.53125 -1.9375q-0.53125 -0.640625 -1.265625 -0.640625q-0.734375 0 -1.296875 0.6875q-0.5625 0.671875 -0.5625 1.984375zm10.756226 3.328125l0 -0.84375q-0.640625 1.0 -1.890625 1.0q-0.796875 0 -1.484375 -0.4375q-0.671875 -0.453125 -1.046875 -1.25q-0.375 -0.796875 -0.375 -1.828125q0 -1.015625 0.34375 -1.828125q0.34375 -0.828125 1.015625 -1.265625q0.671875 -0.4375 1.5 -0.4375q0.609375 0 1.078125 0.265625q0.484375 0.25 0.78125 0.65625l0 -3.34375l1.140625 0l0 9.3125l-1.0625 0zm-3.609375 -3.359375q0 1.296875 0.53125 1.9375q0.546875 0.640625 1.296875 0.640625q0.75 0 1.265625 -0.609375q0.53125 -0.625 0.53125 -1.875q0 -1.390625 -0.53125 -2.03125q-0.53125 -0.65625 -1.3125 -0.65625q-0.765625 0 -1.28125 0.625q-0.5 0.625 -0.5 1.96875zm11.037476 2.53125q-0.625 0.53125 -1.21875 0.765625q-0.578125 0.21875 -1.25 0.21875q-1.125 0 -1.71875 -0.546875q-0.59375 -0.546875 -0.59375 -1.390625q0 -0.484375 0.21875 -0.890625q0.234375 -0.421875 0.59375 -0.671875q0.375 -0.25 0.828125 -0.375q0.328125 -0.078125 1.015625 -0.171875q1.375 -0.15625 2.03125 -0.390625q0.015625 -0.234375 0.015625 -0.296875q0 -0.703125 -0.328125 -0.984375q-0.4375 -0.390625 -1.296875 -0.390625q-0.8125 0 -1.203125 0.28125q-0.375 0.28125 -0.5625 1.0l-1.109375 -0.140625q0.140625 -0.71875 0.484375 -1.15625q0.359375 -0.453125 1.015625 -0.6875q0.671875 -0.234375 1.53125 -0.234375q0.875 0 1.40625 0.203125q0.546875 0.203125 0.796875 0.515625q0.25 0.296875 0.359375 0.765625q0.046875 0.296875 0.046875 1.0625l0 1.515625q0 1.59375 0.078125 2.015625q0.078125 0.421875 0.28125 0.8125l-1.1875 0q-0.171875 -0.359375 -0.234375 -0.828125zm-0.09375 -2.5625q-0.625 0.265625 -1.859375 0.4375q-0.703125 0.109375 -1.0 0.234375q-0.296875 0.125 -0.453125 0.375q-0.15625 0.234375 -0.15625 0.53125q0 0.453125 0.34375 0.765625q0.34375 0.296875 1.015625 0.296875q0.65625 0 1.171875 -0.28125q0.515625 -0.296875 0.765625 -0.796875q0.171875 -0.375 0.171875 -1.140625l0 -0.421875zm5.6156006 2.375l0.15625 1.0q-0.484375 0.109375 -0.859375 0.109375q-0.625 0 -0.96875 -0.203125q-0.34375 -0.203125 -0.484375 -0.515625q-0.140625 -0.328125 -0.140625 -1.34375l0 -3.890625l-0.828125 0l0 -0.875l0.828125 0l0 -1.671875l1.140625 -0.6875l0 2.359375l1.15625 0l0 0.875l-1.15625 0l0 3.953125q0 0.484375 0.0625 0.625q0.0625 0.140625 0.1875 0.21875q0.140625 0.078125 0.390625 0.078125q0.203125 0 0.515625 -0.03125zm5.8123474 -1.15625l1.1875 0.140625q-0.28125 1.046875 -1.046875 1.625q-0.75 0.5625 -1.921875 0.5625q-1.484375 0 -2.359375 -0.90625q-0.859375 -0.921875 -0.859375 -2.5625q0 -1.703125 0.875 -2.640625q0.890625 -0.9375 2.28125 -0.9375q1.359375 0 2.203125 0.921875q0.859375 0.921875 0.859375 2.578125q0 0.109375 0 0.3125l-5.03125 0q0.0625 1.109375 0.625 1.703125q0.5625 0.59375 1.40625 0.59375q0.640625 0 1.078125 -0.328125q0.453125 -0.34375 0.703125 -1.0625zm-3.75 -1.84375l3.765625 0q-0.078125 -0.859375 -0.4375 -1.28125q-0.546875 -0.65625 -1.40625 -0.65625q-0.796875 0 -1.328125 0.53125q-0.53125 0.515625 -0.59375 1.40625zm11.4904785 4.015625l-2.0625 -6.734375l1.1875 0l1.078125 3.890625l0.390625 1.4375q0.03125 -0.109375 0.359375 -1.390625l1.0625 -3.9375l1.171875 0l1.015625 3.90625l0.34375 1.28125l0.375 -1.296875l1.15625 -3.890625l1.109375 0l-2.109375 6.734375l-1.171875 0l-1.078125 -4.03125l-0.265625 -1.15625l-1.359375 5.1875l-1.203125 0zm8.390778 -7.984375l0 -1.328125l1.140625 0l0 1.328125l-1.140625 0zm0 7.984375l0 -6.734375l1.140625 0l0 6.734375l-1.140625 0zm5.46109 -1.015625l0.15625 1.0q-0.484375 0.109375 -0.859375 0.109375q-0.625 0 -0.96875 -0.203125q-0.34375 -0.203125 -0.484375 -0.515625q-0.140625 -0.328125 -0.140625 -1.34375l0 -3.890625l-0.828125 0l0 -0.875l0.828125 0l0 -1.671875l1.140625 -0.6875l0 2.359375l1.15625 0l0 0.875l-1.15625 0l0 3.953125q0 0.484375 0.0625 0.625q0.0625 0.140625 0.1875 0.21875q0.140625 0.078125 0.390625 0.078125q0.203125 0 0.515625 -0.03125zm1.2029724 1.015625l0 -9.3125l1.140625 0l0 3.34375q0.796875 -0.921875 2.015625 -0.921875q0.75 0 1.296875 0.296875q0.5625 0.296875 0.796875 0.8125q0.234375 0.515625 0.234375 1.515625l0 4.265625l-1.140625 0l0 -4.265625q0 -0.859375 -0.375 -1.25q-0.359375 -0.390625 -1.046875 -0.390625q-0.5 0 -0.953125 0.265625q-0.453125 0.25 -0.640625 0.703125q-0.1875 0.453125 -0.1875 1.25l0 3.6875l-1.140625 0zm11.0998535 0l0 -6.734375l1.03125 0l0 1.015625q0.390625 -0.71875 0.71875 -0.9375q0.34375 -0.234375 0.734375 -0.234375q0.578125 0 1.171875 0.359375l-0.390625 1.0625q-0.421875 -0.25 -0.828125 -0.25q-0.375 0 -0.6875 0.234375q-0.296875 0.21875 -0.421875 0.625q-0.1875 0.609375 -0.1875 1.328125l0 3.53125l-1.140625 0zm9.0633545 -2.171875l1.1875 0.140625q-0.28125 1.046875 -1.046875 1.625q-0.75 0.5625 -1.921875 0.5625q-1.484375 0 -2.359375 -0.90625q-0.859375 -0.921875 -0.859375 -2.5625q0 -1.703125 0.875 -2.640625q0.890625 -0.9375 2.28125 -0.9375q1.359375 0 2.203125 0.921875q0.859375 0.921875 0.859375 2.578125q0 0.109375 0 0.3125l-5.03125 0q0.0625 1.109375 0.625 1.703125q0.5625 0.59375 1.40625 0.59375q0.640625 0 1.078125 -0.328125q0.453125 -0.34375 0.703125 -1.0625zm-3.75 -1.84375l3.765625 0q-0.078125 -0.859375 -0.4375 -1.28125q-0.546875 -0.65625 -1.40625 -0.65625q-0.796875 0 -1.328125 0.53125q-0.53125 0.515625 -0.59375 1.40625zm6.0999756 2.0l1.125 -0.171875q0.09375 0.671875 0.53125 1.046875q0.4375 0.359375 1.21875 0.359375q0.78125 0 1.15625 -0.3125q0.390625 -0.328125 0.390625 -0.765625q0 -0.390625 -0.34375 -0.609375q-0.234375 -0.15625 -1.171875 -0.390625q-1.25 -0.3125 -1.734375 -0.546875q-0.484375 -0.234375 -0.734375 -0.640625q-0.25 -0.40625 -0.25 -0.90625q0 -0.453125 0.203125 -0.828125q0.203125 -0.390625 0.5625 -0.640625q0.265625 -0.203125 0.71875 -0.328125q0.46875 -0.140625 1.0 -0.140625q0.78125 0 1.375 0.234375q0.609375 0.21875 0.890625 0.609375q0.296875 0.390625 0.40625 1.046875l-1.125 0.15625q-0.078125 -0.53125 -0.4375 -0.8125q-0.359375 -0.296875 -1.03125 -0.296875q-0.78125 0 -1.125 0.265625q-0.34375 0.25 -0.34375 0.609375q0 0.21875 0.140625 0.390625q0.140625 0.1875 0.4375 0.3125q0.171875 0.0625 1.015625 0.28125q1.21875 0.328125 1.6875 0.53125q0.484375 0.203125 0.75 0.609375q0.28125 0.390625 0.28125 0.96875q0 0.578125 -0.34375 1.078125q-0.328125 0.5 -0.953125 0.78125q-0.625 0.28125 -1.421875 0.28125q-1.3125 0 -2.0 -0.546875q-0.6875 -0.546875 -0.875 -1.625zm11.5390625 2.015625l0 -0.984375q-0.796875 1.140625 -2.140625 1.140625q-0.59375 0 -1.125 -0.234375q-0.515625 -0.234375 -0.765625 -0.578125q-0.25 -0.34375 -0.34375 -0.84375q-0.078125 -0.328125 -0.078125 -1.0625l0 -4.171875l1.140625 0l0 3.734375q0 0.890625 0.078125 1.203125q0.109375 0.453125 0.453125 0.71875q0.34375 0.25 0.859375 0.25q0.515625 0 0.96875 -0.265625q0.453125 -0.265625 0.640625 -0.71875q0.1875 -0.453125 0.1875 -1.3125l0 -3.609375l1.140625 0l0 6.734375l-1.015625 0zm2.9593506 0l0 -9.3125l1.140625 0l0 9.3125l-1.140625 0zm5.4923706 -1.015625l0.15625 1.0q-0.484375 0.109375 -0.859375 0.109375q-0.625 0 -0.96875 -0.203125q-0.34375 -0.203125 -0.484375 -0.515625q-0.140625 -0.328125 -0.140625 -1.34375l0 -3.890625l-0.828125 0l0 -0.875l0.828125 0l0 -1.671875l1.140625 -0.6875l0 2.359375l1.15625 0l0 0.875l-1.15625 0l0 3.953125q0 0.484375 0.0625 0.625q0.0625 0.140625 0.1875 0.21875q0.140625 0.078125 0.390625 0.078125q0.203125 0 0.515625 -0.03125zm0.7498169 -1.0l1.125 -0.171875q0.09375 0.671875 0.53125 1.046875q0.4375 0.359375 1.21875 0.359375q0.78125 0 1.15625 -0.3125q0.390625 -0.328125 0.390625 -0.765625q0 -0.390625 -0.34375 -0.609375q-0.234375 -0.15625 -1.171875 -0.390625q-1.25 -0.3125 -1.734375 -0.546875q-0.484375 -0.234375 -0.734375 -0.640625q-0.25 -0.40625 -0.25 -0.90625q0 -0.453125 0.203125 -0.828125q0.203125 -0.390625 0.5625 -0.640625q0.265625 -0.203125 0.71875 -0.328125q0.46875 -0.140625 1.0 -0.140625q0.78125 0 1.375 0.234375q0.609375 0.21875 0.890625 0.609375q0.296875 0.390625 0.40625 1.046875l-1.125 0.15625q-0.078125 -0.53125 -0.4375 -0.8125q-0.359375 -0.296875 -1.03125 -0.296875q-0.78125 0 -1.125 0.265625q-0.34375 0.25 -0.34375 0.609375q0 0.21875 0.140625 0.390625q0.140625 0.1875 0.4375 0.3125q0.171875 0.0625 1.015625 0.28125q1.21875 0.328125 1.6875 0.53125q0.484375 0.203125 0.75 0.609375q0.28125 0.390625 0.28125 0.96875q0 0.578125 -0.34375 1.078125q-0.328125 0.5 -0.953125 0.78125q-0.625 0.28125 -1.421875 0.28125q-1.3125 0 -2.0 -0.546875q-0.6875 -0.546875 -0.875 -1.625z" fill-rule="nonzero"></path><path fill="#cfe2f3" d="m251.09613 296.99576l133.74805 0l0 52.299225l-133.74805 0z" fill-rule="nonzero"></path><path fill="#a5b4c2" d="m384.84418 296.99576l17.433044 -17.433075l0 52.299225l-17.433044 17.433075z" fill-rule="nonzero"></path><path fill="#d8e7f5" d="m251.09613 296.99576l17.433075 -17.433075l133.74802 0l-17.433044 17.433075z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m251.09613 296.99576l17.433075 -17.433075l133.74802 0l0 52.299225l-17.433044 17.433075l-133.74805 0zm0 0l133.74805 0l17.433044 -17.433075m-17.433044 17.433075l0 52.299225" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m251.09613 296.99576l17.433075 -17.433075l133.74802 0l0 52.299225l-17.433044 17.433075l-133.74805 0zm0 0l133.74805 0l17.433044 -17.433075m-17.433044 17.433075l0 52.299225" fill-rule="nonzero"></path><path fill="#000000" d="m294.5096 315.53012l1.234375 0.3125q-0.390625 1.515625 -1.40625 2.3125q-1.0 0.796875 -2.453125 0.796875q-1.5 0 -2.453125 -0.609375q-0.9375 -0.609375 -1.4375 -1.765625q-0.484375 -1.171875 -0.484375 -2.5q0 -1.453125 0.5625 -2.53125q0.5625 -1.09375 1.578125 -1.65625q1.03125 -0.5625 2.265625 -0.5625q1.390625 0 2.34375 0.71875q0.953125 0.703125 1.328125 2.0l-1.21875 0.28125q-0.328125 -1.015625 -0.9375 -1.46875q-0.609375 -0.46875 -1.546875 -0.46875q-1.078125 0 -1.796875 0.515625q-0.71875 0.515625 -1.015625 1.375q-0.28125 0.859375 -0.28125 1.78125q0 1.1875 0.34375 2.078125q0.34375 0.890625 1.0625 1.328125q0.734375 0.4375 1.59375 0.4375q1.03125 0 1.75 -0.59375q0.71875 -0.609375 0.96875 -1.78125zm5.3595276 3.265625l0 -8.203125l-3.0625 0l0 -1.109375l7.375 0l0 1.109375l-3.078125 0l0 8.203125l-1.234375 0zm9.43811 0l0 -9.3125l1.84375 0l2.203125 6.59375q0.3125 0.921875 0.453125 1.375q0.15625 -0.5 0.484375 -1.484375l2.234375 -6.484375l1.65625 0l0 9.3125l-1.1875 0l0 -7.78125l-2.703125 7.78125l-1.109375 0l-2.6875 -7.921875l0 7.921875l-1.1875 0zm15.383667 -0.828125q-0.625 0.53125 -1.21875 0.765625q-0.578125 0.21875 -1.25 0.21875q-1.125 0 -1.71875 -0.546875q-0.59375 -0.546875 -0.59375 -1.390625q0 -0.484375 0.21875 -0.890625q0.234375 -0.421875 0.59375 -0.671875q0.375 -0.25 0.828125 -0.375q0.328125 -0.078125 1.015625 -0.171875q1.375 -0.15625 2.03125 -0.390625q0.015625 -0.234375 0.015625 -0.296875q0 -0.703125 -0.328125 -0.984375q-0.4375 -0.390625 -1.296875 -0.390625q-0.8125 0 -1.203125 0.28125q-0.375 0.28125 -0.5625 1.0l-1.109375 -0.140625q0.140625 -0.71875 0.484375 -1.15625q0.359375 -0.453125 1.015625 -0.6875q0.671875 -0.234375 1.53125 -0.234375q0.875 0 1.40625 0.203125q0.546875 0.203125 0.796875 0.515625q0.25 0.296875 0.359375 0.765625q0.046875 0.296875 0.046875 1.0625l0 1.515625q0 1.59375 0.078125 2.015625q0.078125 0.421875 0.28125 0.8125l-1.1875 0q-0.171875 -0.359375 -0.234375 -0.828125zm-0.09375 -2.5625q-0.625 0.265625 -1.859375 0.4375q-0.703125 0.109375 -1.0 0.234375q-0.296875 0.125 -0.453125 0.375q-0.15625 0.234375 -0.15625 0.53125q0 0.453125 0.34375 0.765625q0.34375 0.296875 1.015625 0.296875q0.65625 0 1.171875 -0.28125q0.515625 -0.296875 0.765625 -0.796875q0.171875 -0.375 0.171875 -1.140625l0 -0.421875zm2.6624756 1.375l1.125 -0.171875q0.09375 0.671875 0.53125 1.046875q0.4375 0.359375 1.21875 0.359375q0.78125 0 1.15625 -0.3125q0.390625 -0.328125 0.390625 -0.765625q0 -0.390625 -0.34375 -0.609375q-0.234375 -0.15625 -1.171875 -0.390625q-1.25 -0.3125 -1.734375 -0.546875q-0.484375 -0.234375 -0.734375 -0.640625q-0.25 -0.40625 -0.25 -0.90625q0 -0.453125 0.203125 -0.828125q0.203125 -0.390625 0.5625 -0.640625q0.265625 -0.203125 0.71875 -0.328125q0.46875 -0.140625 1.0 -0.140625q0.78125 0 1.375 0.234375q0.609375 0.21875 0.890625 0.609375q0.296875 0.390625 0.40625 1.046875l-1.125 0.15625q-0.078125 -0.53125 -0.4375 -0.8125q-0.359375 -0.296875 -1.03125 -0.296875q-0.78125 0 -1.125 0.265625q-0.34375 0.25 -0.34375 0.609375q0 0.21875 0.140625 0.390625q0.140625 0.1875 0.4375 0.3125q0.171875 0.0625 1.015625 0.28125q1.21875 0.328125 1.6875 0.53125q0.484375 0.203125 0.75 0.609375q0.28125 0.390625 0.28125 0.96875q0 0.578125 -0.34375 1.078125q-0.328125 0.5 -0.953125 0.78125q-0.625 0.28125 -1.421875 0.28125q-1.3125 0 -2.0 -0.546875q-0.6875 -0.546875 -0.875 -1.625zm9.6171875 1.0l0.15625 1.0q-0.484375 0.109375 -0.859375 0.109375q-0.625 0 -0.96875 -0.203125q-0.34375 -0.203125 -0.484375 -0.515625q-0.140625 -0.328125 -0.140625 -1.34375l0 -3.890625l-0.828125 0l0 -0.875l0.828125 0l0 -1.671875l1.140625 -0.6875l0 2.359375l1.15625 0l0 0.875l-1.15625 0l0 3.953125q0 0.484375 0.0625 0.625q0.0625 0.140625 0.1875 0.21875q0.140625 0.078125 0.390625 0.078125q0.203125 0 0.515625 -0.03125zm5.812378 -1.15625l1.1875 0.140625q-0.28125 1.046875 -1.046875 1.625q-0.75 0.5625 -1.921875 0.5625q-1.484375 0 -2.359375 -0.90625q-0.859375 -0.921875 -0.859375 -2.5625q0 -1.703125 0.875 -2.640625q0.890625 -0.9375 2.28125 -0.9375q1.359375 0 2.203125 0.921875q0.859375 0.921875 0.859375 2.578125q0 0.109375 0 0.3125l-5.03125 0q0.0625 1.109375 0.625 1.703125q0.5625 0.59375 1.40625 0.59375q0.640625 0 1.078125 -0.328125q0.453125 -0.34375 0.703125 -1.0625zm-3.75 -1.84375l3.765625 0q-0.078125 -0.859375 -0.4375 -1.28125q-0.546875 -0.65625 -1.40625 -0.65625q-0.796875 0 -1.328125 0.53125q-0.53125 0.515625 -0.59375 1.40625zm6.5374756 4.015625l0 -6.734375l1.03125 0l0 1.015625q0.390625 -0.71875 0.71875 -0.9375q0.34375 -0.234375 0.734375 -0.234375q0.578125 0 1.171875 0.359375l-0.390625 1.0625q-0.421875 -0.25 -0.828125 -0.25q-0.375 0 -0.6875 0.234375q-0.296875 0.21875 -0.421875 0.625q-0.1875 0.609375 -0.1875 1.328125l0 3.53125l-1.140625 0z" fill-rule="nonzero"></path><path fill="#000000" d="m297.7147 326.81137l0 -1.328125l1.140625 0l0 1.328125l-1.140625 0zm0 7.984375l0 -6.734375l1.140625 0l0 6.734375l-1.140625 0zm2.96109 0l0 -6.734375l1.03125 0l0 0.953125q0.734375 -1.109375 2.140625 -1.109375q0.609375 0 1.109375 0.21875q0.515625 0.21875 0.765625 0.578125q0.265625 0.34375 0.359375 0.84375q0.0625 0.3125 0.0625 1.109375l0 4.140625l-1.140625 0l0 -4.09375q0 -0.703125 -0.140625 -1.046875q-0.125 -0.34375 -0.46875 -0.546875q-0.328125 -0.21875 -0.78125 -0.21875q-0.734375 0 -1.265625 0.46875q-0.53125 0.453125 -0.53125 1.75l0 3.6875l-1.140625 0zm15.6154785 -3.65625l0 -1.078125l3.9375 -0.015625l0 3.453125q-0.90625 0.71875 -1.875 1.09375q-0.953125 0.359375 -1.96875 0.359375q-1.375 0 -2.5 -0.578125q-1.125 -0.59375 -1.703125 -1.703125q-0.5625 -1.109375 -0.5625 -2.484375q0 -1.359375 0.5625 -2.53125q0.578125 -1.1875 1.640625 -1.75q1.078125 -0.578125 2.453125 -0.578125q1.015625 0 1.828125 0.328125q0.8125 0.328125 1.28125 0.921875q0.46875 0.578125 0.703125 1.515625l-1.109375 0.296875q-0.203125 -0.703125 -0.515625 -1.109375q-0.3125 -0.40625 -0.890625 -0.640625q-0.578125 -0.25 -1.28125 -0.25q-0.84375 0 -1.46875 0.265625q-0.609375 0.25 -0.984375 0.671875q-0.375 0.40625 -0.59375 0.90625q-0.34375 0.875 -0.34375 1.875q0 1.25 0.421875 2.09375q0.421875 0.828125 1.234375 1.234375q0.828125 0.40625 1.75 0.40625q0.796875 0 1.5625 -0.296875q0.765625 -0.3125 1.15625 -0.671875l0 -1.734375l-2.734375 0zm5.44516 0.28125q0 -1.875 1.03125 -2.765625q0.875 -0.75 2.125 -0.75q1.390625 0 2.265625 0.90625q0.890625 0.90625 0.890625 2.515625q0 1.296875 -0.390625 2.046875q-0.390625 0.75 -1.140625 1.171875q-0.75 0.40625 -1.625 0.40625q-1.421875 0 -2.296875 -0.90625q-0.859375 -0.90625 -0.859375 -2.625zm1.171875 0q0 1.296875 0.5625 1.953125q0.5625 0.640625 1.421875 0.640625q0.84375 0 1.40625 -0.640625q0.578125 -0.65625 0.578125 -1.984375q0 -1.25 -0.578125 -1.890625q-0.5625 -0.65625 -1.40625 -0.65625q-0.859375 0 -1.421875 0.640625q-0.5625 0.640625 -0.5625 1.9375zm6.6312256 3.375l0 -9.3125l1.140625 0l0 9.3125l-1.140625 0zm2.570465 -3.375q0 -1.875 1.03125 -2.765625q0.875 -0.75 2.125 -0.75q1.390625 0 2.265625 0.90625q0.890625 0.90625 0.890625 2.515625q0 1.296875 -0.390625 2.046875q-0.390625 0.75 -1.140625 1.171875q-0.75 0.40625 -1.625 0.40625q-1.421875 0 -2.296875 -0.90625q-0.859375 -0.90625 -0.859375 -2.625zm1.171875 0q0 1.296875 0.5625 1.953125q0.5625 0.640625 1.421875 0.640625q0.84375 0 1.40625 -0.640625q0.578125 -0.65625 0.578125 -1.984375q0 -1.25 -0.578125 -1.890625q-0.5625 -0.65625 -1.40625 -0.65625q-0.859375 0 -1.421875 0.640625q-0.5625 0.640625 -0.5625 1.9375z" fill-rule="nonzero"></path><path fill="#cfe2f3" d="m52.205914 512.2373l57.905514 0l0 52.299194l-57.905514 0z" fill-rule="nonzero"></path><path fill="#a5b4c2" d="m110.11143 512.2373l17.433067 -17.433075l0 52.299225l-17.433067 17.433044z" fill-rule="nonzero"></path><path fill="#d8e7f5" d="m52.205914 512.2373l17.433071 -17.433075l57.90551 0l-17.433067 17.433075z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m52.205914 512.2373l17.433071 -17.433075l57.90551 0l0 52.299225l-17.433067 17.433044l-57.905514 0zm0 0l57.905514 0l17.433067 -17.433075m-17.433067 17.433075l0 52.299194" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m52.205914 512.2373l17.433071 -17.433075l57.90551 0l0 52.299225l-17.433067 17.433044l-57.905514 0zm0 0l57.905514 0l17.433067 -17.433075m-17.433067 17.433075l0 52.299194" fill-rule="nonzero"></path><path fill="#000000" d="m79.91604 530.77167l1.234375 0.3125q-0.390625 1.515625 -1.40625 2.3125q-1.0 0.796875 -2.453125 0.796875q-1.5 0 -2.453125 -0.609375q-0.9375 -0.609375 -1.4375 -1.765625q-0.484375 -1.171875 -0.484375 -2.5q0 -1.453125 0.5625 -2.53125q0.5625 -1.09375 1.578125 -1.65625q1.03125 -0.5625 2.265625 -0.5625q1.390625 0 2.34375 0.71875q0.953125 0.703125 1.328125 2.0l-1.21875 0.28125q-0.328125 -1.015625 -0.9375 -1.46875q-0.609375 -0.46875 -1.546875 -0.46875q-1.078125 0 -1.796875 0.515625q-0.71875 0.515625 -1.015625 1.375q-0.28125 0.859375 -0.28125 1.78125q0 1.1875 0.34375 2.078125q0.34375 0.890625 1.0625 1.328125q0.734375 0.4375 1.59375 0.4375q1.03125 0 1.75 -0.59375q0.71875 -0.609375 0.96875 -1.78125zm5.3595276 3.265625l0 -8.203125l-3.0625 0l0 -1.109375l7.375 0l0 1.109375l-3.078125 0l0 8.203125l-1.234375 0z" fill-rule="nonzero"></path><path fill="#000000" d="m72.109184 550.0373l0 -9.3125l3.484375 0q1.078125 0 1.71875 0.296875q0.640625 0.28125 1.0 0.875q0.375 0.578125 0.375 1.21875q0 0.59375 -0.328125 1.125q-0.328125 0.515625 -0.96875 0.84375q0.84375 0.25 1.296875 0.84375q0.453125 0.59375 0.453125 1.40625q0 0.65625 -0.28125 1.21875q-0.28125 0.5625 -0.6875 0.875q-0.40625 0.296875 -1.015625 0.453125q-0.609375 0.15625 -1.5 0.15625l-3.546875 0zm1.234375 -5.390625l2.015625 0q0.8125 0 1.171875 -0.109375q0.46875 -0.140625 0.703125 -0.46875q0.234375 -0.328125 0.234375 -0.8125q0 -0.46875 -0.21875 -0.8125q-0.21875 -0.359375 -0.640625 -0.484375q-0.40625 -0.125 -1.40625 -0.125l-1.859375 0l0 2.8125zm0 4.296875l2.3125 0q0.59375 0 0.84375 -0.046875q0.421875 -0.078125 0.703125 -0.25q0.28125 -0.1875 0.46875 -0.515625q0.1875 -0.34375 0.1875 -0.796875q0 -0.515625 -0.265625 -0.890625q-0.265625 -0.390625 -0.75 -0.546875q-0.46875 -0.15625 -1.359375 -0.15625l-2.140625 0l0 3.203125zm7.1397552 -2.28125q0 -1.875 1.03125 -2.765625q0.875 -0.75 2.125 -0.75q1.390625 0 2.265625 0.90625q0.890625 0.90625 0.890625 2.515625q0 1.296875 -0.390625 2.046875q-0.390625 0.75 -1.140625 1.171875q-0.75 0.40625 -1.625 0.40625q-1.421875 0 -2.296875 -0.90625q-0.859375 -0.90625 -0.859375 -2.625zm1.171875 0q0 1.296875 0.5625 1.953125q0.5625 0.640625 1.421875 0.640625q0.84375 0 1.40625 -0.640625q0.578125 -0.65625 0.578125 -1.984375q0 -1.25 -0.578125 -1.890625q-0.5625 -0.65625 -1.40625 -0.65625q-0.859375 0 -1.421875 0.640625q-0.5625 0.640625 -0.5625 1.9375zm9.162476 2.359375l0.15625 1.0q-0.484375 0.109375 -0.859375 0.109375q-0.625 0 -0.96875 -0.203125q-0.34375 -0.203125 -0.484375 -0.515625q-0.140625 -0.328125 -0.140625 -1.34375l0 -3.890625l-0.828125 0l0 -0.875l0.828125 0l0 -1.671875l1.140625 -0.6875l0 2.359375l1.15625 0l0 0.875l-1.15625 0l0 3.953125q0 0.484375 0.0625 0.625q0.0625 0.140625 0.1875 0.21875q0.140625 0.078125 0.390625 0.078125q0.203125 0 0.515625 -0.03125z" fill-rule="nonzero"></path><path fill="#cfe2f3" d="m133.37349 512.2373l57.905502 0l0 52.299194l-57.905502 0z" fill-rule="nonzero"></path><path fill="#a5b4c2" d="m191.27899 512.2373l17.433075 -17.433075l0 52.299225l-17.433075 17.433044z" fill-rule="nonzero"></path><path fill="#d8e7f5" d="m133.37349 512.2373l17.43306 -17.433075l57.905518 0l-17.433075 17.433075z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m133.37349 512.2373l17.43306 -17.433075l57.905518 0l0 52.299225l-17.433075 17.433044l-57.905502 0zm0 0l57.905502 0l17.433075 -17.433075m-17.433075 17.433075l0 52.299194" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m133.37349 512.2373l17.43306 -17.433075l57.905518 0l0 52.299225l-17.433075 17.433044l-57.905502 0zm0 0l57.905502 0l17.433075 -17.433075m-17.433075 17.433075l0 52.299194" fill-rule="nonzero"></path><path fill="#000000" d="m161.0836 530.77167l1.234375 0.3125q-0.390625 1.515625 -1.40625 2.3125q-1.0 0.796875 -2.453125 0.796875q-1.5 0 -2.453125 -0.609375q-0.9375 -0.609375 -1.4375 -1.765625q-0.484375 -1.171875 -0.484375 -2.5q0 -1.453125 0.5625 -2.53125q0.5625 -1.09375 1.578125 -1.65625q1.03125 -0.5625 2.265625 -0.5625q1.390625 0 2.34375 0.71875q0.953125 0.703125 1.328125 2.0l-1.21875 0.28125q-0.328125 -1.015625 -0.9375 -1.46875q-0.609375 -0.46875 -1.546875 -0.46875q-1.078125 0 -1.796875 0.515625q-0.71875 0.515625 -1.015625 1.375q-0.28125 0.859375 -0.28125 1.78125q0 1.1875 0.34375 2.078125q0.34375 0.890625 1.0625 1.328125q0.734375 0.4375 1.59375 0.4375q1.03125 0 1.75 -0.59375q0.71875 -0.609375 0.96875 -1.78125zm5.3595276 3.265625l0 -8.203125l-3.0625 0l0 -1.109375l7.375 0l0 1.109375l-3.078125 0l0 8.203125l-1.234375 0z" fill-rule="nonzero"></path><path fill="#000000" d="m153.27675 550.0373l0 -9.3125l3.484375 0q1.078125 0 1.71875 0.296875q0.640625 0.28125 1.0 0.875q0.375 0.578125 0.375 1.21875q0 0.59375 -0.328125 1.125q-0.328125 0.515625 -0.96875 0.84375q0.84375 0.25 1.296875 0.84375q0.453125 0.59375 0.453125 1.40625q0 0.65625 -0.28125 1.21875q-0.28125 0.5625 -0.6875 0.875q-0.40625 0.296875 -1.015625 0.453125q-0.609375 0.15625 -1.5 0.15625l-3.546875 0zm1.234375 -5.390625l2.015625 0q0.8125 0 1.171875 -0.109375q0.46875 -0.140625 0.703125 -0.46875q0.234375 -0.328125 0.234375 -0.8125q0 -0.46875 -0.21875 -0.8125q-0.21875 -0.359375 -0.640625 -0.484375q-0.40625 -0.125 -1.40625 -0.125l-1.859375 0l0 2.8125zm0 4.296875l2.3125 0q0.59375 0 0.84375 -0.046875q0.421875 -0.078125 0.703125 -0.25q0.28125 -0.1875 0.46875 -0.515625q0.1875 -0.34375 0.1875 -0.796875q0 -0.515625 -0.265625 -0.890625q-0.265625 -0.390625 -0.75 -0.546875q-0.46875 -0.15625 -1.359375 -0.15625l-2.140625 0l0 3.203125zm7.1397552 -2.28125q0 -1.875 1.03125 -2.765625q0.875 -0.75 2.125 -0.75q1.390625 0 2.265625 0.90625q0.890625 0.90625 0.890625 2.515625q0 1.296875 -0.390625 2.046875q-0.390625 0.75 -1.140625 1.171875q-0.75 0.40625 -1.625 0.40625q-1.421875 0 -2.296875 -0.90625q-0.859375 -0.90625 -0.859375 -2.625zm1.171875 0q0 1.296875 0.5625 1.953125q0.5625 0.640625 1.421875 0.640625q0.84375 0 1.40625 -0.640625q0.578125 -0.65625 0.578125 -1.984375q0 -1.25 -0.578125 -1.890625q-0.5625 -0.65625 -1.40625 -0.65625q-0.859375 0 -1.421875 0.640625q-0.5625 0.640625 -0.5625 1.9375zm9.162476 2.359375l0.15625 1.0q-0.484375 0.109375 -0.859375 0.109375q-0.625 0 -0.96875 -0.203125q-0.34375 -0.203125 -0.484375 -0.515625q-0.140625 -0.328125 -0.140625 -1.34375l0 -3.890625l-0.828125 0l0 -0.875l0.828125 0l0 -1.671875l1.140625 -0.6875l0 2.359375l1.15625 0l0 0.875l-1.15625 0l0 3.953125q0 0.484375 0.0625 0.625q0.0625 0.140625 0.1875 0.21875q0.140625 0.078125 0.390625 0.078125q0.203125 0 0.515625 -0.03125z" fill-rule="nonzero"></path><path fill="#cfe2f3" d="m214.54106 512.2373l57.905502 0l0 52.299194l-57.905502 0z" fill-rule="nonzero"></path><path fill="#a5b4c2" d="m272.44656 512.2373l17.433075 -17.433075l0 52.299225l-17.433075 17.433044z" fill-rule="nonzero"></path><path fill="#d8e7f5" d="m214.54106 512.2373l17.43306 -17.433075l57.905518 0l-17.433075 17.433075z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m214.54106 512.2373l17.43306 -17.433075l57.905518 0l0 52.299225l-17.433075 17.433044l-57.905502 0zm0 0l57.905502 0l17.433075 -17.433075m-17.433075 17.433075l0 52.299194" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m214.54106 512.2373l17.43306 -17.433075l57.905518 0l0 52.299225l-17.433075 17.433044l-57.905502 0zm0 0l57.905502 0l17.433075 -17.433075m-17.433075 17.433075l0 52.299194" fill-rule="nonzero"></path><path fill="#000000" d="m242.25117 530.77167l1.234375 0.3125q-0.390625 1.515625 -1.40625 2.3125q-1.0 0.796875 -2.453125 0.796875q-1.5 0 -2.453125 -0.609375q-0.9375 -0.609375 -1.4375 -1.765625q-0.484375 -1.171875 -0.484375 -2.5q0 -1.453125 0.5625 -2.53125q0.5625 -1.09375 1.578125 -1.65625q1.03125 -0.5625 2.265625 -0.5625q1.390625 0 2.34375 0.71875q0.953125 0.703125 1.328125 2.0l-1.21875 0.28125q-0.328125 -1.015625 -0.9375 -1.46875q-0.609375 -0.46875 -1.546875 -0.46875q-1.078125 0 -1.796875 0.515625q-0.71875 0.515625 -1.015625 1.375q-0.28125 0.859375 -0.28125 1.78125q0 1.1875 0.34375 2.078125q0.34375 0.890625 1.0625 1.328125q0.734375 0.4375 1.59375 0.4375q1.03125 0 1.75 -0.59375q0.71875 -0.609375 0.96875 -1.78125zm5.3595276 3.265625l0 -8.203125l-3.0625 0l0 -1.109375l7.375 0l0 1.109375l-3.078125 0l0 8.203125l-1.234375 0z" fill-rule="nonzero"></path><path fill="#000000" d="m234.44432 550.0373l0 -9.3125l3.484375 0q1.078125 0 1.71875 0.296875q0.640625 0.28125 1.0 0.875q0.375 0.578125 0.375 1.21875q0 0.59375 -0.328125 1.125q-0.328125 0.515625 -0.96875 0.84375q0.84375 0.25 1.296875 0.84375q0.453125 0.59375 0.453125 1.40625q0 0.65625 -0.28125 1.21875q-0.28125 0.5625 -0.6875 0.875q-0.40625 0.296875 -1.015625 0.453125q-0.609375 0.15625 -1.5 0.15625l-3.546875 0zm1.234375 -5.390625l2.015625 0q0.8125 0 1.171875 -0.109375q0.46875 -0.140625 0.703125 -0.46875q0.234375 -0.328125 0.234375 -0.8125q0 -0.46875 -0.21875 -0.8125q-0.21875 -0.359375 -0.640625 -0.484375q-0.40625 -0.125 -1.40625 -0.125l-1.859375 0l0 2.8125zm0 4.296875l2.3125 0q0.59375 0 0.84375 -0.046875q0.421875 -0.078125 0.703125 -0.25q0.28125 -0.1875 0.46875 -0.515625q0.1875 -0.34375 0.1875 -0.796875q0 -0.515625 -0.265625 -0.890625q-0.265625 -0.390625 -0.75 -0.546875q-0.46875 -0.15625 -1.359375 -0.15625l-2.140625 0l0 3.203125zm7.1397552 -2.28125q0 -1.875 1.03125 -2.765625q0.875 -0.75 2.125 -0.75q1.390625 0 2.265625 0.90625q0.890625 0.90625 0.890625 2.515625q0 1.296875 -0.390625 2.046875q-0.390625 0.75 -1.140625 1.171875q-0.75 0.40625 -1.625 0.40625q-1.421875 0 -2.296875 -0.90625q-0.859375 -0.90625 -0.859375 -2.625zm1.171875 0q0 1.296875 0.5625 1.953125q0.5625 0.640625 1.421875 0.640625q0.84375 0 1.40625 -0.640625q0.578125 -0.65625 0.578125 -1.984375q0 -1.25 -0.578125 -1.890625q-0.5625 -0.65625 -1.40625 -0.65625q-0.859375 0 -1.421875 0.640625q-0.5625 0.640625 -0.5625 1.9375zm9.162476 2.359375l0.15625 1.0q-0.484375 0.109375 -0.859375 0.109375q-0.625 0 -0.96875 -0.203125q-0.34375 -0.203125 -0.484375 -0.515625q-0.140625 -0.328125 -0.140625 -1.34375l0 -3.890625l-0.828125 0l0 -0.875l0.828125 0l0 -1.671875l1.140625 -0.6875l0 2.359375l1.15625 0l0 0.875l-1.15625 0l0 3.953125q0 0.484375 0.0625 0.625q0.0625 0.140625 0.1875 0.21875q0.140625 0.078125 0.390625 0.078125q0.203125 0 0.515625 -0.03125z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m289.91095 500.6158l40.59842 0l0 40.661407l-40.59842 0z" fill-rule="nonzero"></path><path fill="#000000" d="m302.64532 540.3358l0 -3.203125l3.203125 0l0 3.203125l-3.203125 0zm10.671875 0l0 -3.203125l3.203125 0l0 3.203125l-3.203125 0zm10.65625 0l0 -3.203125l3.21875 0l0 3.203125l-3.21875 0z" fill-rule="nonzero"></path><path fill="#cfe2f3" d="m330.49472 512.2373l57.905518 0l0 52.299194l-57.905518 0z" fill-rule="nonzero"></path><path fill="#a5b4c2" d="m388.40024 512.2373l17.433075 -17.433075l0 52.299225l-17.433075 17.433044z" fill-rule="nonzero"></path><path fill="#d8e7f5" d="m330.49472 512.2373l17.433075 -17.433075l57.905518 0l-17.433075 17.433075z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m330.49472 512.2373l17.433075 -17.433075l57.905518 0l0 52.299225l-17.433075 17.433044l-57.905518 0zm0 0l57.905518 0l17.433075 -17.433075m-17.433075 17.433075l0 52.299194" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m330.49472 512.2373l17.433075 -17.433075l57.905518 0l0 52.299225l-17.433075 17.433044l-57.905518 0zm0 0l57.905518 0l17.433075 -17.433075m-17.433075 17.433075l0 52.299194" fill-rule="nonzero"></path><path fill="#000000" d="m358.20486 530.77167l1.234375 0.3125q-0.390625 1.515625 -1.40625 2.3125q-1.0 0.796875 -2.453125 0.796875q-1.5 0 -2.453125 -0.609375q-0.9375 -0.609375 -1.4375 -1.765625q-0.484375 -1.171875 -0.484375 -2.5q0 -1.453125 0.5625 -2.53125q0.5625 -1.09375 1.578125 -1.65625q1.03125 -0.5625 2.265625 -0.5625q1.390625 0 2.34375 0.71875q0.953125 0.703125 1.328125 2.0l-1.21875 0.28125q-0.328125 -1.015625 -0.9375 -1.46875q-0.609375 -0.46875 -1.546875 -0.46875q-1.078125 0 -1.796875 0.515625q-0.71875 0.515625 -1.015625 1.375q-0.28125 0.859375 -0.28125 1.78125q0 1.1875 0.34375 2.078125q0.34375 0.890625 1.0625 1.328125q0.734375 0.4375 1.59375 0.4375q1.03125 0 1.75 -0.59375q0.71875 -0.609375 0.96875 -1.78125zm5.3595276 3.265625l0 -8.203125l-3.0625 0l0 -1.109375l7.375 0l0 1.109375l-3.078125 0l0 8.203125l-1.234375 0z" fill-rule="nonzero"></path><path fill="#000000" d="m350.398 550.0373l0 -9.3125l3.484375 0q1.078125 0 1.71875 0.296875q0.640625 0.28125 1.0 0.875q0.375 0.578125 0.375 1.21875q0 0.59375 -0.328125 1.125q-0.328125 0.515625 -0.96875 0.84375q0.84375 0.25 1.296875 0.84375q0.453125 0.59375 0.453125 1.40625q0 0.65625 -0.28125 1.21875q-0.28125 0.5625 -0.6875 0.875q-0.40625 0.296875 -1.015625 0.453125q-0.609375 0.15625 -1.5 0.15625l-3.546875 0zm1.234375 -5.390625l2.015625 0q0.8125 0 1.171875 -0.109375q0.46875 -0.140625 0.703125 -0.46875q0.234375 -0.328125 0.234375 -0.8125q0 -0.46875 -0.21875 -0.8125q-0.21875 -0.359375 -0.640625 -0.484375q-0.40625 -0.125 -1.40625 -0.125l-1.859375 0l0 2.8125zm0 4.296875l2.3125 0q0.59375 0 0.84375 -0.046875q0.421875 -0.078125 0.703125 -0.25q0.28125 -0.1875 0.46875 -0.515625q0.1875 -0.34375 0.1875 -0.796875q0 -0.515625 -0.265625 -0.890625q-0.265625 -0.390625 -0.75 -0.546875q-0.46875 -0.15625 -1.359375 -0.15625l-2.140625 0l0 3.203125zm7.13974 -2.28125q0 -1.875 1.03125 -2.765625q0.875 -0.75 2.125 -0.75q1.390625 0 2.265625 0.90625q0.890625 0.90625 0.890625 2.515625q0 1.296875 -0.390625 2.046875q-0.390625 0.75 -1.140625 1.171875q-0.75 0.40625 -1.625 0.40625q-1.421875 0 -2.296875 -0.90625q-0.859375 -0.90625 -0.859375 -2.625zm1.171875 0q0 1.296875 0.5625 1.953125q0.5625 0.640625 1.421875 0.640625q0.84375 0 1.40625 -0.640625q0.578125 -0.65625 0.578125 -1.984375q0 -1.25 -0.578125 -1.890625q-0.5625 -0.65625 -1.40625 -0.65625q-0.859375 0 -1.421875 0.640625q-0.5625 0.640625 -0.5625 1.9375zm9.162476 2.359375l0.15625 1.0q-0.484375 0.109375 -0.859375 0.109375q-0.625 0 -0.96875 -0.203125q-0.34375 -0.203125 -0.484375 -0.515625q-0.140625 -0.328125 -0.140625 -1.34375l0 -3.890625l-0.828125 0l0 -0.875l0.828125 0l0 -1.671875l1.140625 -0.6875l0 2.359375l1.15625 0l0 0.875l-1.15625 0l0 3.953125q0 0.484375 0.0625 0.625q0.0625 0.140625 0.1875 0.21875q0.140625 0.078125 0.390625 0.078125q0.203125 0 0.515625 -0.03125z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m68.708664 575.5328l333.60632 0l0 17.417297l-333.60632 0z" fill-rule="nonzero"></path><path fill="#000000" d="m82.552414 596.75006l-1.140625 0l0 -7.28125q-0.421875 0.390625 -1.09375 0.796875q-0.65625 0.390625 -1.1875 0.578125l0 -1.109375q0.953125 -0.4375 1.671875 -1.078125q0.71875 -0.640625 1.015625 -1.25l0.734375 0l0 9.34375zm3.1156006 -4.59375q0 -1.640625 0.328125 -2.640625q0.34375 -1.015625 1.015625 -1.5625q0.671875 -0.546875 1.6875 -0.546875q0.75 0 1.3125 0.3125q0.5625 0.296875 0.921875 0.859375q0.375 0.5625 0.578125 1.390625q0.21875 0.8125 0.21875 2.1875q0 1.640625 -0.34375 2.65625q-0.328125 1.0 -1.0 1.546875q-0.671875 0.546875 -1.6875 0.546875q-1.34375 0 -2.125 -0.96875q-0.90625 -1.15625 -0.90625 -3.78125zm1.171875 0q0 2.296875 0.53125 3.0625q0.53125 0.75 1.328125 0.75q0.78125 0 1.3125 -0.75q0.546875 -0.765625 0.546875 -3.0625q0 -2.296875 -0.546875 -3.046875q-0.53125 -0.75 -1.328125 -0.75q-0.78125 0 -1.265625 0.65625q-0.578125 0.859375 -0.578125 3.140625zm6.2406006 0q0 -1.640625 0.328125 -2.640625q0.34375 -1.015625 1.015625 -1.5625q0.671875 -0.546875 1.6875 -0.546875q0.75 0 1.3125 0.3125q0.5625 0.296875 0.921875 0.859375q0.375 0.5625 0.578125 1.390625q0.21875 0.8125 0.21875 2.1875q0 1.640625 -0.34375 2.65625q-0.328125 1.0 -1.0 1.546875q-0.671875 0.546875 -1.6875 0.546875q-1.34375 0 -2.125 -0.96875q-0.90625 -1.15625 -0.90625 -3.78125zm1.171875 0q0 2.296875 0.53125 3.0625q0.53125 0.75 1.328125 0.75q0.78125 0 1.3125 -0.75q0.546875 -0.765625 0.546875 -3.0625q0 -2.296875 -0.546875 -3.046875q-0.53125 -0.75 -1.328125 -0.75q-0.78125 0 -1.265625 0.65625q-0.578125 0.859375 -0.578125 3.140625zm13.599838 4.59375l0 -2.234375l-4.03125 0l0 -1.046875l4.234375 -6.03125l0.9375 0l0 6.03125l1.265625 0l0 1.046875l-1.265625 0l0 2.234375l-1.140625 0zm0 -3.28125l0 -4.1875l-2.921875 4.1875l2.921875 0zm8.459351 0.8125l1.125 0.140625q-0.171875 1.171875 -0.9375 1.828125q-0.765625 0.65625 -1.859375 0.65625q-1.390625 0 -2.234375 -0.90625q-0.828125 -0.90625 -0.828125 -2.59375q0 -1.09375 0.359375 -1.90625q0.359375 -0.828125 1.09375 -1.234375q0.734375 -0.40625 1.609375 -0.40625q1.09375 0 1.796875 0.5625q0.703125 0.546875 0.890625 1.5625l-1.109375 0.171875q-0.15625 -0.671875 -0.5625 -1.015625q-0.390625 -0.34375 -0.96875 -0.34375q-0.859375 0 -1.40625 0.625q-0.53125 0.609375 -0.53125 1.953125q0 1.359375 0.515625 1.984375q0.515625 0.609375 1.359375 0.609375q0.671875 0 1.125 -0.40625q0.453125 -0.421875 0.5625 -1.28125zm1.8515625 -0.90625q0 -1.875 1.03125 -2.765625q0.875 -0.75 2.125 -0.75q1.390625 0 2.265625 0.90625q0.890625 0.90625 0.890625 2.515625q0 1.296875 -0.390625 2.046875q-0.390625 0.75 -1.140625 1.171875q-0.75 0.40625 -1.625 0.40625q-1.421875 0 -2.296875 -0.90625q-0.859375 -0.90625 -0.859375 -2.625zm1.171875 0q0 1.296875 0.5625 1.953125q0.5625 0.640625 1.421875 0.640625q0.84375 0 1.40625 -0.640625q0.578125 -0.65625 0.578125 -1.984375q0 -1.25 -0.578125 -1.890625q-0.5625 -0.65625 -1.40625 -0.65625q-0.859375 0 -1.421875 0.640625q-0.5625 0.640625 -0.5625 1.9375zm6.6468506 3.375l0 -6.734375l1.03125 0l0 1.015625q0.390625 -0.71875 0.71875 -0.9375q0.34375 -0.234375 0.734375 -0.234375q0.578125 0 1.171875 0.359375l-0.390625 1.0625q-0.421875 -0.25 -0.828125 -0.25q-0.375 0 -0.6875 0.234375q-0.296875 0.21875 -0.421875 0.625q-0.1875 0.609375 -0.1875 1.328125l0 3.53125l-1.140625 0zm9.06337 -2.171875l1.1875 0.140625q-0.28125 1.046875 -1.046875 1.625q-0.75 0.5625 -1.921875 0.5625q-1.484375 0 -2.359375 -0.90625q-0.859375 -0.921875 -0.859375 -2.5625q0 -1.703125 0.875 -2.640625q0.890625 -0.9375 2.28125 -0.9375q1.359375 0 2.203125 0.921875q0.859375 0.921875 0.859375 2.578125q0 0.109375 0 0.3125l-5.03125 0q0.0625 1.109375 0.625 1.703125q0.5625 0.59375 1.40625 0.59375q0.640625 0 1.078125 -0.328125q0.453125 -0.34375 0.703125 -1.0625zm-3.75 -1.84375l3.765625 0q-0.078125 -0.859375 -0.4375 -1.28125q-0.546875 -0.65625 -1.40625 -0.65625q-0.796875 0 -1.328125 0.53125q-0.53125 0.515625 -0.59375 1.40625zm11.302963 4.015625l-1.0625 0l0 -9.3125l1.15625 0l0 3.328125q0.71875 -0.90625 1.84375 -0.90625q0.625 0 1.171875 0.25q0.5625 0.25 0.921875 0.703125q0.359375 0.453125 0.5625 1.09375q0.203125 0.640625 0.203125 1.375q0 1.734375 -0.859375 2.6875q-0.859375 0.9375 -2.0625 0.9375q-1.1875 0 -1.875 -1.0l0 0.84375zm-0.015625 -3.421875q0 1.21875 0.34375 1.75q0.53125 0.890625 1.453125 0.890625q0.75 0 1.296875 -0.65625q0.546875 -0.65625 0.546875 -1.9375q0 -1.328125 -0.53125 -1.953125q-0.515625 -0.625 -1.265625 -0.625q-0.75 0 -1.296875 0.65625q-0.546875 0.640625 -0.546875 1.875zm10.771851 2.59375q-0.625 0.53125 -1.21875 0.765625q-0.578125 0.21875 -1.25 0.21875q-1.125 0 -1.71875 -0.546875q-0.59375 -0.546875 -0.59375 -1.390625q0 -0.484375 0.21875 -0.890625q0.234375 -0.421875 0.59375 -0.671875q0.375 -0.25 0.828125 -0.375q0.328125 -0.078125 1.015625 -0.171875q1.375 -0.15625 2.03125 -0.390625q0.015625 -0.234375 0.015625 -0.296875q0 -0.703125 -0.328125 -0.984375q-0.4375 -0.390625 -1.296875 -0.390625q-0.8125 0 -1.203125 0.28125q-0.375 0.28125 -0.5625 1.0l-1.109375 -0.140625q0.140625 -0.71875 0.484375 -1.15625q0.359375 -0.453125 1.015625 -0.6875q0.671875 -0.234375 1.53125 -0.234375q0.875 0 1.40625 0.203125q0.546875 0.203125 0.796875 0.515625q0.25 0.296875 0.359375 0.765625q0.046875 0.296875 0.046875 1.0625l0 1.515625q0 1.59375 0.078125 2.015625q0.078125 0.421875 0.28125 0.8125l-1.1875 0q-0.171875 -0.359375 -0.234375 -0.828125zm-0.09375 -2.5625q-0.625 0.265625 -1.859375 0.4375q-0.703125 0.109375 -1.0 0.234375q-0.296875 0.125 -0.453125 0.375q-0.15625 0.234375 -0.15625 0.53125q0 0.453125 0.34375 0.765625q0.34375 0.296875 1.015625 0.296875q0.65625 0 1.171875 -0.28125q0.515625 -0.296875 0.765625 -0.796875q0.171875 -0.375 0.171875 -1.140625l0 -0.421875zm3.0999756 3.390625l0 -6.734375l1.03125 0l0 1.015625q0.390625 -0.71875 0.71875 -0.9375q0.34375 -0.234375 0.734375 -0.234375q0.578125 0 1.171875 0.359375l-0.390625 1.0625q-0.421875 -0.25 -0.828125 -0.25q-0.375 0 -0.6875 0.234375q-0.296875 0.21875 -0.421875 0.625q-0.1875 0.609375 -0.1875 1.328125l0 3.53125l-1.140625 0zm9.06337 -2.171875l1.1875 0.140625q-0.28125 1.046875 -1.046875 1.625q-0.75 0.5625 -1.921875 0.5625q-1.484375 0 -2.359375 -0.90625q-0.859375 -0.921875 -0.859375 -2.5625q0 -1.703125 0.875 -2.640625q0.890625 -0.9375 2.28125 -0.9375q1.359375 0 2.203125 0.921875q0.859375 0.921875 0.859375 2.578125q0 0.109375 0 0.3125l-5.03125 0q0.0625 1.109375 0.625 1.703125q0.5625 0.59375 1.40625 0.59375q0.640625 0 1.078125 -0.328125q0.453125 -0.34375 0.703125 -1.0625zm-3.75 -1.84375l3.765625 0q-0.078125 -0.859375 -0.4375 -1.28125q-0.546875 -0.65625 -1.40625 -0.65625q-0.796875 0 -1.328125 0.53125q-0.53125 0.515625 -0.59375 1.40625zm6.0999756 1.21875l0 -1.140625l3.515625 0l0 1.140625l-3.515625 0zm4.8914948 2.796875l0 -6.734375l1.015625 0l0 0.9375q0.328125 -0.5 0.84375 -0.796875q0.53125 -0.296875 1.203125 -0.296875q0.75 0 1.21875 0.3125q0.484375 0.3125 0.6875 0.859375q0.796875 -1.171875 2.078125 -1.171875q1.0 0 1.53125 0.5625q0.546875 0.546875 0.546875 1.703125l0 4.625l-1.125 0l0 -4.25q0 -0.6875 -0.109375 -0.984375q-0.109375 -0.296875 -0.40625 -0.484375q-0.296875 -0.1875 -0.6875 -0.1875q-0.71875 0 -1.1875 0.484375q-0.46875 0.46875 -0.46875 1.5l0 3.921875l-1.140625 0l0 -4.375q0 -0.765625 -0.28125 -1.140625q-0.28125 -0.390625 -0.90625 -0.390625q-0.484375 0 -0.890625 0.265625q-0.40625 0.25 -0.59375 0.734375q-0.1875 0.484375 -0.1875 1.40625l0 3.5l-1.140625 0zm15.711807 -2.171875l1.1875 0.140625q-0.28125 1.046875 -1.046875 1.625q-0.75 0.5625 -1.921875 0.5625q-1.484375 0 -2.359375 -0.90625q-0.859375 -0.921875 -0.859375 -2.5625q0 -1.703125 0.875 -2.640625q0.890625 -0.9375 2.28125 -0.9375q1.359375 0 2.203125 0.921875q0.859375 0.921875 0.859375 2.578125q0 0.109375 0 0.3125l-5.03125 0q0.0625 1.109375 0.625 1.703125q0.5625 0.59375 1.40625 0.59375q0.640625 0 1.078125 -0.328125q0.453125 -0.34375 0.703125 -1.0625zm-3.75 -1.84375l3.765625 0q-0.078125 -0.859375 -0.4375 -1.28125q-0.546875 -0.65625 -1.40625 -0.65625q-0.796875 0 -1.328125 0.53125q-0.53125 0.515625 -0.59375 1.40625zm9.053101 3.0l0.15625 1.0q-0.484375 0.109375 -0.859375 0.109375q-0.625 0 -0.96875 -0.203125q-0.34375 -0.203125 -0.484375 -0.515625q-0.140625 -0.328125 -0.140625 -1.34375l0 -3.890625l-0.828125 0l0 -0.875l0.828125 0l0 -1.671875l1.140625 -0.6875l0 2.359375l1.15625 0l0 0.875l-1.15625 0l0 3.953125q0 0.484375 0.0625 0.625q0.0625 0.140625 0.1875 0.21875q0.140625 0.078125 0.390625 0.078125q0.203125 0 0.515625 -0.03125zm5.5936127 0.1875q-0.625 0.53125 -1.21875 0.765625q-0.578125 0.21875 -1.25 0.21875q-1.125 0 -1.71875 -0.546875q-0.59375 -0.546875 -0.59375 -1.390625q0 -0.484375 0.21875 -0.890625q0.234375 -0.421875 0.59375 -0.671875q0.375 -0.25 0.828125 -0.375q0.328125 -0.078125 1.015625 -0.171875q1.375 -0.15625 2.03125 -0.390625q0.015625 -0.234375 0.015625 -0.296875q0 -0.703125 -0.328125 -0.984375q-0.4375 -0.390625 -1.296875 -0.390625q-0.8125 0 -1.203125 0.28125q-0.375 0.28125 -0.5625 1.0l-1.109375 -0.140625q0.140625 -0.71875 0.484375 -1.15625q0.359375 -0.453125 1.015625 -0.6875q0.671875 -0.234375 1.53125 -0.234375q0.875 0 1.40625 0.203125q0.546875 0.203125 0.796875 0.515625q0.25 0.296875 0.359375 0.765625q0.046875 0.296875 0.046875 1.0625l0 1.515625q0 1.59375 0.078125 2.015625q0.078125 0.421875 0.28125 0.8125l-1.1875 0q-0.171875 -0.359375 -0.234375 -0.828125zm-0.09375 -2.5625q-0.625 0.265625 -1.859375 0.4375q-0.703125 0.109375 -1.0 0.234375q-0.296875 0.125 -0.453125 0.375q-0.15625 0.234375 -0.15625 0.53125q0 0.453125 0.34375 0.765625q0.34375 0.296875 1.015625 0.296875q0.65625 0 1.171875 -0.28125q0.515625 -0.296875 0.765625 -0.796875q0.171875 -0.375 0.171875 -1.140625l0 -0.421875zm3.0843506 3.390625l0 -9.3125l1.140625 0l0 9.3125l-1.140625 0zm6.6953278 0l0 -6.734375l1.015625 0l0 0.9375q0.328125 -0.5 0.84375 -0.796875q0.53125 -0.296875 1.203125 -0.296875q0.75 0 1.21875 0.3125q0.484375 0.3125 0.6875 0.859375q0.796875 -1.171875 2.078125 -1.171875q1.0 0 1.53125 0.5625q0.546875 0.546875 0.546875 1.703125l0 4.625l-1.125 0l0 -4.25q0 -0.6875 -0.109375 -0.984375q-0.109375 -0.296875 -0.40625 -0.484375q-0.296875 -0.1875 -0.6875 -0.1875q-0.71875 0 -1.1875 0.484375q-0.46875 0.46875 -0.46875 1.5l0 3.921875l-1.140625 0l0 -4.375q0 -0.765625 -0.28125 -1.140625q-0.28125 -0.390625 -0.90625 -0.390625q-0.484375 0 -0.890625 0.265625q-0.40625 0.25 -0.59375 0.734375q-0.1875 0.484375 -0.1875 1.40625l0 3.5l-1.140625 0zm15.493057 -0.828125q-0.625 0.53125 -1.21875 0.765625q-0.578125 0.21875 -1.25 0.21875q-1.125 0 -1.71875 -0.546875q-0.59375 -0.546875 -0.59375 -1.390625q0 -0.484375 0.21875 -0.890625q0.234375 -0.421875 0.59375 -0.671875q0.375 -0.25 0.828125 -0.375q0.328125 -0.078125 1.015625 -0.171875q1.375 -0.15625 2.03125 -0.390625q0.015625 -0.234375 0.015625 -0.296875q0 -0.703125 -0.328125 -0.984375q-0.4375 -0.390625 -1.296875 -0.390625q-0.8125 0 -1.203125 0.28125q-0.375 0.28125 -0.5625 1.0l-1.109375 -0.140625q0.140625 -0.71875 0.484375 -1.15625q0.359375 -0.453125 1.015625 -0.6875q0.671875 -0.234375 1.53125 -0.234375q0.875 0 1.40625 0.203125q0.546875 0.203125 0.796875 0.515625q0.25 0.296875 0.359375 0.765625q0.046875 0.296875 0.046875 1.0625l0 1.515625q0 1.59375 0.078125 2.015625q0.078125 0.421875 0.28125 0.8125l-1.1875 0q-0.171875 -0.359375 -0.234375 -0.828125zm-0.09375 -2.5625q-0.625 0.265625 -1.859375 0.4375q-0.703125 0.109375 -1.0 0.234375q-0.296875 0.125 -0.453125 0.375q-0.15625 0.234375 -0.15625 0.53125q0 0.453125 0.34375 0.765625q0.34375 0.296875 1.015625 0.296875q0.65625 0 1.171875 -0.28125q0.515625 -0.296875 0.765625 -0.796875q0.171875 -0.375 0.171875 -1.140625l0 -0.421875zm7.5062256 0.921875l1.125 0.140625q-0.171875 1.171875 -0.9375 1.828125q-0.765625 0.65625 -1.859375 0.65625q-1.390625 0 -2.234375 -0.90625q-0.828125 -0.90625 -0.828125 -2.59375q0 -1.09375 0.359375 -1.90625q0.359375 -0.828125 1.09375 -1.234375q0.734375 -0.40625 1.609375 -0.40625q1.09375 0 1.796875 0.5625q0.703125 0.546875 0.890625 1.5625l-1.109375 0.171875q-0.15625 -0.671875 -0.5625 -1.015625q-0.390625 -0.34375 -0.96875 -0.34375q-0.859375 0 -1.40625 0.625q-0.53125 0.609375 -0.53125 1.953125q0 1.359375 0.515625 1.984375q0.515625 0.609375 1.359375 0.609375q0.671875 0 1.125 -0.40625q0.453125 -0.421875 0.5625 -1.28125zm2.2734375 2.46875l0 -9.3125l1.140625 0l0 3.34375q0.796875 -0.921875 2.015625 -0.921875q0.75 0 1.296875 0.296875q0.5625 0.296875 0.796875 0.8125q0.234375 0.515625 0.234375 1.515625l0 4.265625l-1.140625 0l0 -4.265625q0 -0.859375 -0.375 -1.25q-0.359375 -0.390625 -1.046875 -0.390625q-0.5 0 -0.953125 0.265625q-0.453125 0.25 -0.640625 0.703125q-0.1875 0.453125 -0.1875 1.25l0 3.6875l-1.140625 0zm7.4124756 -7.984375l0 -1.328125l1.140625 0l0 1.328125l-1.140625 0zm0 7.984375l0 -6.734375l1.140625 0l0 6.734375l-1.140625 0zm2.96109 0l0 -6.734375l1.03125 0l0 0.953125q0.734375 -1.109375 2.140625 -1.109375q0.609375 0 1.109375 0.21875q0.515625 0.21875 0.765625 0.578125q0.265625 0.34375 0.359375 0.84375q0.0625 0.3125 0.0625 1.109375l0 4.140625l-1.140625 0l0 -4.09375q0 -0.703125 -0.140625 -1.046875q-0.125 -0.34375 -0.46875 -0.546875q-0.328125 -0.21875 -0.78125 -0.21875q-0.734375 0 -1.265625 0.46875q-0.53125 0.453125 -0.53125 1.75l0 3.6875l-1.140625 0zm12.021851 -2.171875l1.1875 0.140625q-0.28125 1.046875 -1.046875 1.625q-0.75 0.5625 -1.921875 0.5625q-1.484375 0 -2.359375 -0.90625q-0.859375 -0.921875 -0.859375 -2.5625q0 -1.703125 0.875 -2.640625q0.890625 -0.9375 2.28125 -0.9375q1.359375 0 2.203125 0.921875q0.859375 0.921875 0.859375 2.578125q0 0.109375 0 0.3125l-5.03125 0q0.0625 1.109375 0.625 1.703125q0.5625 0.59375 1.40625 0.59375q0.640625 0 1.078125 -0.328125q0.453125 -0.34375 0.703125 -1.0625zm-3.75 -1.84375l3.765625 0q-0.078125 -0.859375 -0.4375 -1.28125q-0.546875 -0.65625 -1.40625 -0.65625q-0.796875 0 -1.328125 0.53125q-0.53125 0.515625 -0.59375 1.40625zm6.0999756 2.0l1.125 -0.171875q0.09375 0.671875 0.53125 1.046875q0.4375 0.359375 1.21875 0.359375q0.78125 0 1.15625 -0.3125q0.390625 -0.328125 0.390625 -0.765625q0 -0.390625 -0.34375 -0.609375q-0.234375 -0.15625 -1.171875 -0.390625q-1.25 -0.3125 -1.734375 -0.546875q-0.484375 -0.234375 -0.734375 -0.640625q-0.25 -0.40625 -0.25 -0.90625q0 -0.453125 0.203125 -0.828125q0.203125 -0.390625 0.5625 -0.640625q0.265625 -0.203125 0.71875 -0.328125q0.46875 -0.140625 1.0 -0.140625q0.78125 0 1.375 0.234375q0.609375 0.21875 0.890625 0.609375q0.296875 0.390625 0.40625 1.046875l-1.125 0.15625q-0.078125 -0.53125 -0.4375 -0.8125q-0.359375 -0.296875 -1.03125 -0.296875q-0.78125 0 -1.125 0.265625q-0.34375 0.25 -0.34375 0.609375q0 0.21875 0.140625 0.390625q0.140625 0.1875 0.4375 0.3125q0.171875 0.0625 1.015625 0.28125q1.21875 0.328125 1.6875 0.53125q0.484375 0.203125 0.75 0.609375q0.28125 0.390625 0.28125 0.96875q0 0.578125 -0.34375 1.078125q-0.328125 0.5 -0.953125 0.78125q-0.625 0.28125 -1.421875 0.28125q-1.3125 0 -2.0 -0.546875q-0.6875 -0.546875 -0.875 -1.625zm12.054535 2.015625l-2.0625 -6.734375l1.1875 0l1.078125 3.890625l0.390625 1.4375q0.03125 -0.109375 0.359375 -1.390625l1.0625 -3.9375l1.171875 0l1.015625 3.90625l0.34375 1.28125l0.375 -1.296875l1.15625 -3.890625l1.109375 0l-2.109375 6.734375l-1.171875 0l-1.078125 -4.03125l-0.265625 -1.15625l-1.359375 5.1875l-1.203125 0zm8.390778 -7.984375l0 -1.328125l1.140625 0l0 1.328125l-1.140625 0zm0 7.984375l0 -6.734375l1.140625 0l0 6.734375l-1.140625 0zm5.46109 -1.015625l0.15625 1.0q-0.484375 0.109375 -0.859375 0.109375q-0.625 0 -0.96875 -0.203125q-0.34375 -0.203125 -0.484375 -0.515625q-0.140625 -0.328125 -0.140625 -1.34375l0 -3.890625l-0.828125 0l0 -0.875l0.828125 0l0 -1.671875l1.140625 -0.6875l0 2.359375l1.15625 0l0 0.875l-1.15625 0l0 3.953125q0 0.484375 0.0625 0.625q0.0625 0.140625 0.1875 0.21875q0.140625 0.078125 0.390625 0.078125q0.203125 0 0.515625 -0.03125zm1.2030029 1.015625l0 -9.3125l1.140625 0l0 3.34375q0.796875 -0.921875 2.015625 -0.921875q0.75 0 1.296875 0.296875q0.5625 0.296875 0.796875 0.8125q0.234375 0.515625 0.234375 1.515625l0 4.265625l-1.140625 0l0 -4.265625q0 -0.859375 -0.375 -1.25q-0.359375 -0.390625 -1.046875 -0.390625q-0.5 0 -0.953125 0.265625q-0.453125 0.25 -0.640625 0.703125q-0.1875 0.453125 -0.1875 1.25l0 3.6875l-1.140625 0zm15.506073 -0.828125q-0.625 0.53125 -1.21875 0.765625q-0.578125 0.21875 -1.25 0.21875q-1.125 0 -1.71875 -0.546875q-0.59375 -0.546875 -0.59375 -1.390625q0 -0.484375 0.21875 -0.890625q0.234375 -0.421875 0.59375 -0.671875q0.375 -0.25 0.828125 -0.375q0.328125 -0.078125 1.015625 -0.171875q1.375 -0.15625 2.03125 -0.390625q0.015625 -0.234375 0.015625 -0.296875q0 -0.703125 -0.328125 -0.984375q-0.4375 -0.390625 -1.296875 -0.390625q-0.8125 0 -1.203125 0.28125q-0.375 0.28125 -0.5625 1.0l-1.109375 -0.140625q0.140625 -0.71875 0.484375 -1.15625q0.359375 -0.453125 1.015625 -0.6875q0.671875 -0.234375 1.53125 -0.234375q0.875 0 1.40625 0.203125q0.546875 0.203125 0.796875 0.515625q0.25 0.296875 0.359375 0.765625q0.046875 0.296875 0.046875 1.0625l0 1.515625q0 1.59375 0.078125 2.015625q0.078125 0.421875 0.28125 0.8125l-1.1875 0q-0.171875 -0.359375 -0.234375 -0.828125zm-0.09375 -2.5625q-0.625 0.265625 -1.859375 0.4375q-0.703125 0.109375 -1.0 0.234375q-0.296875 0.125 -0.453125 0.375q-0.15625 0.234375 -0.15625 0.53125q0 0.453125 0.34375 0.765625q0.34375 0.296875 1.015625 0.296875q0.65625 0 1.171875 -0.28125q0.515625 -0.296875 0.765625 -0.796875q0.171875 -0.375 0.171875 -1.140625l0 -0.421875zm5.6156006 2.375l0.15625 1.0q-0.484375 0.109375 -0.859375 0.109375q-0.625 0 -0.96875 -0.203125q-0.34375 -0.203125 -0.484375 -0.515625q-0.140625 -0.328125 -0.140625 -1.34375l0 -3.890625l-0.828125 0l0 -0.875l0.828125 0l0 -1.671875l1.140625 -0.6875l0 2.359375l1.15625 0l0 0.875l-1.15625 0l0 3.953125q0 0.484375 0.0625 0.625q0.0625 0.140625 0.1875 0.21875q0.140625 0.078125 0.390625 0.078125q0.203125 0 0.515625 -0.03125zm3.703003 0l0.15625 1.0q-0.484375 0.109375 -0.859375 0.109375q-0.625 0 -0.96875 -0.203125q-0.34375 -0.203125 -0.484375 -0.515625q-0.140625 -0.328125 -0.140625 -1.34375l0 -3.890625l-0.828125 0l0 -0.875l0.828125 0l0 -1.671875l1.140625 -0.6875l0 2.359375l1.15625 0l0 0.875l-1.15625 0l0 3.953125q0 0.484375 0.0625 0.625q0.0625 0.140625 0.1875 0.21875q0.140625 0.078125 0.390625 0.078125q0.203125 0 0.515625 -0.03125zm5.5935974 0.1875q-0.625 0.53125 -1.21875 0.765625q-0.578125 0.21875 -1.25 0.21875q-1.125 0 -1.71875 -0.546875q-0.59375 -0.546875 -0.59375 -1.390625q0 -0.484375 0.21875 -0.890625q0.234375 -0.421875 0.59375 -0.671875q0.375 -0.25 0.828125 -0.375q0.328125 -0.078125 1.015625 -0.171875q1.375 -0.15625 2.03125 -0.390625q0.015625 -0.234375 0.015625 -0.296875q0 -0.703125 -0.328125 -0.984375q-0.4375 -0.390625 -1.296875 -0.390625q-0.8125 0 -1.203125 0.28125q-0.375 0.28125 -0.5625 1.0l-1.109375 -0.140625q0.140625 -0.71875 0.484375 -1.15625q0.359375 -0.453125 1.015625 -0.6875q0.671875 -0.234375 1.53125 -0.234375q0.875 0 1.40625 0.203125q0.546875 0.203125 0.796875 0.515625q0.25 0.296875 0.359375 0.765625q0.046875 0.296875 0.046875 1.0625l0 1.515625q0 1.59375 0.078125 2.015625q0.078125 0.421875 0.28125 0.8125l-1.1875 0q-0.171875 -0.359375 -0.234375 -0.828125zm-0.09375 -2.5625q-0.625 0.265625 -1.859375 0.4375q-0.703125 0.109375 -1.0 0.234375q-0.296875 0.125 -0.453125 0.375q-0.15625 0.234375 -0.15625 0.53125q0 0.453125 0.34375 0.765625q0.34375 0.296875 1.015625 0.296875q0.65625 0 1.171875 -0.28125q0.515625 -0.296875 0.765625 -0.796875q0.171875 -0.375 0.171875 -1.140625l0 -0.421875zm7.5062256 0.921875l1.125 0.140625q-0.171875 1.171875 -0.9375 1.828125q-0.765625 0.65625 -1.859375 0.65625q-1.390625 0 -2.234375 -0.90625q-0.828125 -0.90625 -0.828125 -2.59375q0 -1.09375 0.359375 -1.90625q0.359375 -0.828125 1.09375 -1.234375q0.734375 -0.40625 1.609375 -0.40625q1.09375 0 1.796875 0.5625q0.703125 0.546875 0.890625 1.5625l-1.109375 0.171875q-0.15625 -0.671875 -0.5625 -1.015625q-0.390625 -0.34375 -0.96875 -0.34375q-0.859375 0 -1.40625 0.625q-0.53125 0.609375 -0.53125 1.953125q0 1.359375 0.515625 1.984375q0.515625 0.609375 1.359375 0.609375q0.671875 0 1.125 -0.40625q0.453125 -0.421875 0.5625 -1.28125zm2.2734375 2.46875l0 -9.3125l1.140625 0l0 3.34375q0.796875 -0.921875 2.015625 -0.921875q0.75 0 1.296875 0.296875q0.5625 0.296875 0.796875 0.8125q0.234375 0.515625 0.234375 1.515625l0 4.265625l-1.140625 0l0 -4.265625q0 -0.859375 -0.375 -1.25q-0.359375 -0.390625 -1.046875 -0.390625q-0.5 0 -0.953125 0.265625q-0.453125 0.25 -0.640625 0.703125q-0.1875 0.453125 -0.1875 1.25l0 3.6875l-1.140625 0zm12.021851 -2.171875l1.1875 0.140625q-0.28125 1.046875 -1.046875 1.625q-0.75 0.5625 -1.921875 0.5625q-1.484375 0 -2.359375 -0.90625q-0.859375 -0.921875 -0.859375 -2.5625q0 -1.703125 0.875 -2.640625q0.890625 -0.9375 2.28125 -0.9375q1.359375 0 2.203125 0.921875q0.859375 0.921875 0.859375 2.578125q0 0.109375 0 0.3125l-5.03125 0q0.0625 1.109375 0.625 1.703125q0.5625 0.59375 1.40625 0.59375q0.640625 0 1.078125 -0.328125q0.453125 -0.34375 0.703125 -1.0625zm-3.75 -1.84375l3.765625 0q-0.078125 -0.859375 -0.4375 -1.28125q-0.546875 -0.65625 -1.40625 -0.65625q-0.796875 0 -1.328125 0.53125q-0.53125 0.515625 -0.59375 1.40625zm10.928101 4.015625l0 -0.84375q-0.640625 1.0 -1.890625 1.0q-0.796875 0 -1.484375 -0.4375q-0.671875 -0.453125 -1.046875 -1.25q-0.375 -0.796875 -0.375 -1.828125q0 -1.015625 0.34375 -1.828125q0.34375 -0.828125 1.015625 -1.265625q0.671875 -0.4375 1.5 -0.4375q0.609375 0 1.078125 0.265625q0.484375 0.25 0.78125 0.65625l0 -3.34375l1.140625 0l0 9.3125l-1.0625 0zm-3.609375 -3.359375q0 1.296875 0.53125 1.9375q0.546875 0.640625 1.296875 0.640625q0.75 0 1.265625 -0.609375q0.53125 -0.625 0.53125 -1.875q0 -1.390625 -0.53125 -2.03125q-0.53125 -0.65625 -1.3125 -0.65625q-0.765625 0 -1.28125 0.625q-0.5 0.625 -0.5 1.96875zm10.4748535 3.359375l0 -9.3125l1.265625 0l4.890625 7.3125l0 -7.3125l1.1875 0l0 9.3125l-1.265625 0l-4.890625 -7.3125l0 7.3125l-1.1875 0zm9.187653 -2.4375l1.1875 -0.109375q0.140625 0.890625 0.625 1.328125q0.484375 0.4375 1.171875 0.4375q0.828125 0 1.390625 -0.625q0.578125 -0.625 0.578125 -1.640625q0 -0.984375 -0.546875 -1.546875q-0.546875 -0.5625 -1.4375 -0.5625q-0.5625 0 -1.015625 0.25q-0.4375 0.25 -0.6875 0.640625l-1.0625 -0.140625l0.890625 -4.765625l4.625 0l0 1.078125l-3.703125 0l-0.5 2.5q0.828125 -0.578125 1.75 -0.578125q1.21875 0 2.046875 0.84375q0.84375 0.84375 0.84375 2.171875q0 1.265625 -0.734375 2.1875q-0.890625 1.125 -2.4375 1.125q-1.265625 0 -2.078125 -0.703125q-0.796875 -0.71875 -0.90625 -1.890625zm7.2718506 0.421875l1.125 -0.171875q0.09375 0.671875 0.53125 1.046875q0.4375 0.359375 1.21875 0.359375q0.78125 0 1.15625 -0.3125q0.390625 -0.328125 0.390625 -0.765625q0 -0.390625 -0.34375 -0.609375q-0.234375 -0.15625 -1.171875 -0.390625q-1.25 -0.3125 -1.734375 -0.546875q-0.484375 -0.234375 -0.734375 -0.640625q-0.25 -0.40625 -0.25 -0.90625q0 -0.453125 0.203125 -0.828125q0.203125 -0.390625 0.5625 -0.640625q0.265625 -0.203125 0.71875 -0.328125q0.46875 -0.140625 1.0 -0.140625q0.78125 0 1.375 0.234375q0.609375 0.21875 0.890625 0.609375q0.296875 0.390625 0.40625 1.046875l-1.125 0.15625q-0.078125 -0.53125 -0.4375 -0.8125q-0.359375 -0.296875 -1.03125 -0.296875q-0.78125 0 -1.125 0.265625q-0.34375 0.25 -0.34375 0.609375q0 0.21875 0.140625 0.390625q0.140625 0.1875 0.4375 0.3125q0.171875 0.0625 1.015625 0.28125q1.21875 0.328125 1.6875 0.53125q0.484375 0.203125 0.75 0.609375q0.28125 0.390625 0.28125 0.96875q0 0.578125 -0.34375 1.078125q-0.328125 0.5 -0.953125 0.78125q-0.625 0.28125 -1.421875 0.28125q-1.3125 0 -2.0 -0.546875q-0.6875 -0.546875 -0.875 -1.625z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m228.12071 453.69553l-129.5433 41.102386" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m228.12071 453.69553l-118.10524 37.473236" fill-rule="evenodd"></path><path fill="#000000" stroke="#000000" stroke-width="2.0" stroke-linecap="butt" d="m109.01641 488.02l-7.652115 5.8936768l9.650238 0.40386963z" fill-rule="evenodd"></path><path fill="#000000" fill-opacity="0.0" d="m228.12071 453.69553l-48.34645 41.102386" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m228.12071 453.69553l-39.20392 33.329742" fill-rule="evenodd"></path><path fill="#000000" stroke="#000000" stroke-width="2.0" stroke-linecap="butt" d="m186.77707 484.50842l-4.775223 8.39566l9.054672 -3.3619995z" fill-rule="evenodd"></path><path fill="#000000" fill-opacity="0.0" d="m228.12071 453.69553l32.818893 41.102386" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m228.12071 453.69553l25.33133 31.724945" fill-rule="evenodd"></path><path fill="#000000" stroke="#000000" stroke-width="2.0" stroke-linecap="butt" d="m250.87053 487.48172l8.244736 5.031372l-3.081726 -9.15387z" fill-rule="evenodd"></path><path fill="#000000" fill-opacity="0.0" d="m228.12071 453.69553l148.7559 41.102386" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m228.12071 453.69553l137.18929 37.906433" fill-rule="evenodd"></path><path fill="#000000" stroke="#000000" stroke-width="2.0" stroke-linecap="butt" d="m364.4302 494.7861l9.628204 -0.76690674l-7.8685913 -5.6013794z" fill-rule="evenodd"></path><path fill="#cfe2f3" d="m556.27344 261.26715l0 0c0 -12.304169 9.974487 -22.278671 22.278625 -22.278671l136.2616 0c5.9086304 0 11.575317 2.3472137 15.753357 6.5252686c4.1781006 4.17807 6.5252686 9.844727 6.5252686 15.753403l0 89.11197c0 12.304169 -9.974487 22.278656 -22.278625 22.278656l-136.2616 0c-12.304138 0 -22.278625 -9.974487 -22.278625 -22.278656z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m556.27344 261.26715l0 0c0 -12.304169 9.974487 -22.278671 22.278625 -22.278671l136.2616 0c5.9086304 0 11.575317 2.3472137 15.753357 6.5252686c4.1781006 4.17807 6.5252686 9.844727 6.5252686 15.753403l0 89.11197c0 12.304169 -9.974487 22.278656 -22.278625 22.278656l-136.2616 0c-12.304138 0 -22.278625 -9.974487 -22.278625 -22.278656z" fill-rule="nonzero"></path><path fill="#000000" d="m577.15796 263.65744l0 -1.078125l3.9375 -0.015625l0 3.453125q-0.90625 0.71875 -1.875 1.09375q-0.953125 0.359375 -1.96875 0.359375q-1.375 0 -2.5 -0.578125q-1.125 -0.59375 -1.703125 -1.703125q-0.5625 -1.109375 -0.5625 -2.484375q0 -1.359375 0.5625 -2.53125q0.578125 -1.1875 1.640625 -1.75q1.078125 -0.578125 2.453125 -0.578125q1.015625 0 1.828125 0.328125q0.8125 0.328125 1.28125 0.921875q0.46875 0.578125 0.703125 1.515625l-1.109375 0.296875q-0.203125 -0.703125 -0.515625 -1.109375q-0.3125 -0.40625 -0.890625 -0.640625q-0.578125 -0.25 -1.28125 -0.25q-0.84375 0 -1.46875 0.265625q-0.609375 0.25 -0.984375 0.671875q-0.375 0.40625 -0.59375 0.90625q-0.34375 0.875 -0.34375 1.875q0 1.25 0.421875 2.09375q0.421875 0.828125 1.234375 1.234375q0.828125 0.40625 1.75 0.40625q0.796875 0 1.5625 -0.296875q0.765625 -0.3125 1.15625 -0.671875l0 -1.734375l-2.734375 0zm5.4451904 0.28125q0 -1.875 1.03125 -2.765625q0.875 -0.75 2.125 -0.75q1.390625 0 2.265625 0.90625q0.890625 0.90625 0.890625 2.515625q0 1.296875 -0.390625 2.046875q-0.390625 0.75 -1.140625 1.171875q-0.75 0.40625 -1.625 0.40625q-1.421875 0 -2.296875 -0.90625q-0.859375 -0.90625 -0.859375 -2.625zm1.171875 0q0 1.296875 0.5625 1.953125q0.5625 0.640625 1.421875 0.640625q0.84375 0 1.40625 -0.640625q0.578125 -0.65625 0.578125 -1.984375q0 -1.25 -0.578125 -1.890625q-0.5625 -0.65625 -1.40625 -0.65625q-0.859375 0 -1.421875 0.640625q-0.5625 0.640625 -0.5625 1.9375zm6.2406006 0q0 -1.875 1.03125 -2.765625q0.875 -0.75 2.125 -0.75q1.390625 0 2.265625 0.90625q0.890625 0.90625 0.890625 2.515625q0 1.296875 -0.390625 2.046875q-0.390625 0.75 -1.140625 1.171875q-0.75 0.40625 -1.625 0.40625q-1.421875 0 -2.296875 -0.90625q-0.859375 -0.90625 -0.859375 -2.625zm1.171875 0q0 1.296875 0.5625 1.953125q0.5625 0.640625 1.421875 0.640625q0.84375 0 1.40625 -0.640625q0.578125 -0.65625 0.578125 -1.984375q0 -1.25 -0.578125 -1.890625q-0.5625 -0.65625 -1.40625 -0.65625q-0.859375 0 -1.421875 0.640625q-0.5625 0.640625 -0.5625 1.9375zm6.4437256 3.9375l1.125 0.15625q0.0625 0.515625 0.375 0.75q0.4375 0.328125 1.171875 0.328125q0.78125 0 1.21875 -0.328125q0.4375 -0.3125 0.578125 -0.890625q0.09375 -0.34375 0.09375 -1.453125q-0.75 0.875 -1.875 0.875q-1.390625 0 -2.15625 -1.0q-0.75 -1.0 -0.75 -2.40625q0 -0.96875 0.34375 -1.78125q0.359375 -0.8125 1.015625 -1.25q0.65625 -0.453125 1.5625 -0.453125q1.1875 0 1.96875 0.96875l0 -0.8125l1.046875 0l0 5.8125q0 1.578125 -0.328125 2.234375q-0.3125 0.65625 -1.015625 1.03125q-0.6875 0.390625 -1.703125 0.390625q-1.203125 0 -1.953125 -0.546875q-0.734375 -0.53125 -0.71875 -1.625zm0.953125 -4.046875q0 1.3125 0.515625 1.921875q0.53125 0.609375 1.328125 0.609375q0.796875 0 1.328125 -0.59375q0.53125 -0.609375 0.53125 -1.90625q0 -1.234375 -0.546875 -1.859375q-0.546875 -0.640625 -1.328125 -0.640625q-0.765625 0 -1.296875 0.625q-0.53125 0.625 -0.53125 1.84375zm6.6468506 3.484375l0 -9.3125l1.140625 0l0 9.3125l-1.140625 0zm7.6017456 -2.171875l1.1875 0.140625q-0.28125 1.046875 -1.046875 1.625q-0.75 0.5625 -1.921875 0.5625q-1.484375 0 -2.359375 -0.90625q-0.859375 -0.921875 -0.859375 -2.5625q0 -1.703125 0.875 -2.640625q0.890625 -0.9375 2.28125 -0.9375q1.359375 0 2.203125 0.921875q0.859375 0.921875 0.859375 2.578125q0 0.109375 0 0.3125l-5.03125 0q0.0625 1.109375 0.625 1.703125q0.5625 0.59375 1.40625 0.59375q0.640625 0 1.078125 -0.328125q0.453125 -0.34375 0.703125 -1.0625zm-3.75 -1.84375l3.765625 0q-0.078125 -0.859375 -0.4375 -1.28125q-0.546875 -0.65625 -1.40625 -0.65625q-0.796875 0 -1.328125 0.53125q-0.53125 0.515625 -0.59375 1.40625zm17.037292 0.75l1.234375 0.3125q-0.390625 1.515625 -1.40625 2.3125q-1.0 0.796875 -2.453125 0.796875q-1.5 0 -2.453125 -0.609375q-0.9375 -0.609375 -1.4375 -1.765625q-0.484375 -1.171875 -0.484375 -2.5q0 -1.453125 0.5625 -2.53125q0.5625 -1.09375 1.578125 -1.65625q1.03125 -0.5625 2.265625 -0.5625q1.390625 0 2.34375 0.71875q0.953125 0.703125 1.328125 2.0l-1.21875 0.28125q-0.328125 -1.015625 -0.9375 -1.46875q-0.609375 -0.46875 -1.546875 -0.46875q-1.078125 0 -1.796875 0.515625q-0.71875 0.515625 -1.015625 1.375q-0.28125 0.859375 -0.28125 1.78125q0 1.1875 0.34375 2.078125q0.34375 0.890625 1.0625 1.328125q0.734375 0.4375 1.59375 0.4375q1.03125 0 1.75 -0.59375q0.71875 -0.609375 0.96875 -1.78125zm2.812683 3.265625l0 -9.3125l1.140625 0l0 9.3125l-1.140625 0zm2.5704346 -3.375q0 -1.875 1.03125 -2.765625q0.875 -0.75 2.125 -0.75q1.390625 0 2.265625 0.90625q0.890625 0.90625 0.890625 2.515625q0 1.296875 -0.390625 2.046875q-0.390625 0.75 -1.140625 1.171875q-0.75 0.40625 -1.625 0.40625q-1.421875 0 -2.296875 -0.90625q-0.859375 -0.90625 -0.859375 -2.625zm1.171875 0q0 1.296875 0.5625 1.953125q0.5625 0.640625 1.421875 0.640625q0.84375 0 1.40625 -0.640625q0.578125 -0.65625 0.578125 -1.984375q0 -1.25 -0.578125 -1.890625q-0.5625 -0.65625 -1.40625 -0.65625q-0.859375 0 -1.421875 0.640625q-0.5625 0.640625 -0.5625 1.9375zm11.084351 3.375l0 -0.984375q-0.796875 1.140625 -2.140625 1.140625q-0.59375 0 -1.125 -0.234375q-0.515625 -0.234375 -0.765625 -0.578125q-0.25 -0.34375 -0.34375 -0.84375q-0.078125 -0.328125 -0.078125 -1.0625l0 -4.171875l1.140625 0l0 3.734375q0 0.890625 0.078125 1.203125q0.109375 0.453125 0.453125 0.71875q0.34375 0.25 0.859375 0.25q0.515625 0 0.96875 -0.265625q0.453125 -0.265625 0.640625 -0.71875q0.1875 -0.453125 0.1875 -1.3125l0 -3.609375l1.140625 0l0 6.734375l-1.015625 0zm7.3656006 0l0 -0.84375q-0.640625 1.0 -1.890625 1.0q-0.796875 0 -1.484375 -0.4375q-0.671875 -0.453125 -1.046875 -1.25q-0.375 -0.796875 -0.375 -1.828125q0 -1.015625 0.34375 -1.828125q0.34375 -0.828125 1.015625 -1.265625q0.671875 -0.4375 1.5 -0.4375q0.609375 0 1.078125 0.265625q0.484375 0.25 0.78125 0.65625l0 -3.34375l1.140625 0l0 9.3125l-1.0625 0zm-3.609375 -3.359375q0 1.296875 0.53125 1.9375q0.546875 0.640625 1.296875 0.640625q0.75 0 1.265625 -0.609375q0.53125 -0.625 0.53125 -1.875q0 -1.390625 -0.53125 -2.03125q-0.53125 -0.65625 -1.3125 -0.65625q-0.765625 0 -1.28125 0.625q-0.5 0.625 -0.5 1.96875zm10.0686035 0.375l1.171875 -0.109375q0.078125 0.703125 0.375 1.15625q0.3125 0.4375 0.9375 0.71875q0.640625 0.265625 1.4375 0.265625q0.703125 0 1.234375 -0.203125q0.546875 -0.203125 0.8125 -0.5625q0.265625 -0.375 0.265625 -0.8125q0 -0.4375 -0.265625 -0.765625q-0.25 -0.328125 -0.828125 -0.546875q-0.375 -0.140625 -1.65625 -0.453125q-1.28125 -0.3125 -1.796875 -0.578125q-0.671875 -0.34375 -1.0 -0.859375q-0.328125 -0.53125 -0.328125 -1.171875q0 -0.703125 0.390625 -1.3125q0.40625 -0.609375 1.171875 -0.921875q0.78125 -0.328125 1.71875 -0.328125q1.03125 0 1.8125 0.34375q0.796875 0.328125 1.21875 0.984375q0.4375 0.640625 0.46875 1.453125l-1.1875 0.09375q-0.09375 -0.890625 -0.640625 -1.328125q-0.546875 -0.453125 -1.625 -0.453125q-1.109375 0 -1.625 0.40625q-0.515625 0.40625 -0.515625 0.984375q0 0.5 0.359375 0.828125q0.359375 0.328125 1.859375 0.671875q1.5 0.328125 2.0625 0.578125q0.8125 0.375 1.1875 0.953125q0.390625 0.578125 0.390625 1.328125q0 0.734375 -0.421875 1.390625q-0.421875 0.65625 -1.21875 1.03125q-0.796875 0.359375 -1.796875 0.359375q-1.265625 0 -2.125 -0.359375q-0.84375 -0.375 -1.328125 -1.109375q-0.484375 -0.75 -0.515625 -1.671875zm11.6710205 1.96875l0.15625 1.0q-0.484375 0.109375 -0.859375 0.109375q-0.625 0 -0.96875 -0.203125q-0.34375 -0.203125 -0.484375 -0.515625q-0.140625 -0.328125 -0.140625 -1.34375l0 -3.890625l-0.828125 0l0 -0.875l0.828125 0l0 -1.671875l1.140625 -0.6875l0 2.359375l1.15625 0l0 0.875l-1.15625 0l0 3.953125q0 0.484375 0.0625 0.625q0.0625 0.140625 0.1875 0.21875q0.140625 0.078125 0.390625 0.078125q0.203125 0 0.515625 -0.03125zm0.7811279 -2.359375q0 -1.875 1.03125 -2.765625q0.875 -0.75 2.125 -0.75q1.390625 0 2.265625 0.90625q0.890625 0.90625 0.890625 2.515625q0 1.296875 -0.390625 2.046875q-0.390625 0.75 -1.140625 1.171875q-0.75 0.40625 -1.625 0.40625q-1.421875 0 -2.296875 -0.90625q-0.859375 -0.90625 -0.859375 -2.625zm1.171875 0q0 1.296875 0.5625 1.953125q0.5625 0.640625 1.421875 0.640625q0.84375 0 1.40625 -0.640625q0.578125 -0.65625 0.578125 -1.984375q0 -1.25 -0.578125 -1.890625q-0.5625 -0.65625 -1.40625 -0.65625q-0.859375 0 -1.421875 0.640625q-0.5625 0.640625 -0.5625 1.9375zm6.6468506 3.375l0 -6.734375l1.03125 0l0 1.015625q0.390625 -0.71875 0.71875 -0.9375q0.34375 -0.234375 0.734375 -0.234375q0.578125 0 1.171875 0.359375l-0.390625 1.0625q-0.421875 -0.25 -0.828125 -0.25q-0.375 0 -0.6875 0.234375q-0.296875 0.21875 -0.421875 0.625q-0.1875 0.609375 -0.1875 1.328125l0 3.53125l-1.140625 0zm8.8446045 -0.828125q-0.625 0.53125 -1.21875 0.765625q-0.578125 0.21875 -1.25 0.21875q-1.125 0 -1.71875 -0.546875q-0.59375 -0.546875 -0.59375 -1.390625q0 -0.484375 0.21875 -0.890625q0.234375 -0.421875 0.59375 -0.671875q0.375 -0.25 0.828125 -0.375q0.328125 -0.078125 1.015625 -0.171875q1.375 -0.15625 2.03125 -0.390625q0.015625 -0.234375 0.015625 -0.296875q0 -0.703125 -0.328125 -0.984375q-0.4375 -0.390625 -1.296875 -0.390625q-0.8125 0 -1.203125 0.28125q-0.375 0.28125 -0.5625 1.0l-1.109375 -0.140625q0.140625 -0.71875 0.484375 -1.15625q0.359375 -0.453125 1.015625 -0.6875q0.671875 -0.234375 1.53125 -0.234375q0.875 0 1.40625 0.203125q0.546875 0.203125 0.796875 0.515625q0.25 0.296875 0.359375 0.765625q0.046875 0.296875 0.046875 1.0625l0 1.515625q0 1.59375 0.078125 2.015625q0.078125 0.421875 0.28125 0.8125l-1.1875 0q-0.171875 -0.359375 -0.234375 -0.828125zm-0.09375 -2.5625q-0.625 0.265625 -1.859375 0.4375q-0.703125 0.109375 -1.0 0.234375q-0.296875 0.125 -0.453125 0.375q-0.15625 0.234375 -0.15625 0.53125q0 0.453125 0.34375 0.765625q0.34375 0.296875 1.015625 0.296875q0.65625 0 1.171875 -0.28125q0.515625 -0.296875 0.765625 -0.796875q0.171875 -0.375 0.171875 -1.140625l0 -0.421875zm2.8968506 3.953125l1.125 0.15625q0.0625 0.515625 0.375 0.75q0.4375 0.328125 1.171875 0.328125q0.78125 0 1.21875 -0.328125q0.4375 -0.3125 0.578125 -0.890625q0.09375 -0.34375 0.09375 -1.453125q-0.75 0.875 -1.875 0.875q-1.390625 0 -2.15625 -1.0q-0.75 -1.0 -0.75 -2.40625q0 -0.96875 0.34375 -1.78125q0.359375 -0.8125 1.015625 -1.25q0.65625 -0.453125 1.5625 -0.453125q1.1875 0 1.96875 0.96875l0 -0.8125l1.046875 0l0 5.8125q0 1.578125 -0.328125 2.234375q-0.3125 0.65625 -1.015625 1.03125q-0.6875 0.390625 -1.703125 0.390625q-1.203125 0 -1.953125 -0.546875q-0.734375 -0.53125 -0.71875 -1.625zm0.953125 -4.046875q0 1.3125 0.515625 1.921875q0.53125 0.609375 1.328125 0.609375q0.796875 0 1.328125 -0.59375q0.53125 -0.609375 0.53125 -1.90625q0 -1.234375 -0.546875 -1.859375q-0.546875 -0.640625 -1.328125 -0.640625q-0.765625 0 -1.296875 0.625q-0.53125 0.625 -0.53125 1.84375zm11.287476 1.3125l1.1875 0.140625q-0.28125 1.046875 -1.046875 1.625q-0.75 0.5625 -1.921875 0.5625q-1.484375 0 -2.359375 -0.90625q-0.859375 -0.921875 -0.859375 -2.5625q0 -1.703125 0.875 -2.640625q0.890625 -0.9375 2.28125 -0.9375q1.359375 0 2.203125 0.921875q0.859375 0.921875 0.859375 2.578125q0 0.109375 0 0.3125l-5.03125 0q0.0625 1.109375 0.625 1.703125q0.5625 0.59375 1.40625 0.59375q0.640625 0 1.078125 -0.328125q0.453125 -0.34375 0.703125 -1.0625zm-3.75 -1.84375l3.765625 0q-0.078125 -0.859375 -0.4375 -1.28125q-0.546875 -0.65625 -1.40625 -0.65625q-0.796875 0 -1.328125 0.53125q-0.53125 0.515625 -0.59375 1.40625z" fill-rule="nonzero"></path><path fill="#d9d9d9" d="m606.09973 296.18896l0 0c0 -7.459442 18.169495 -13.506561 40.582703 -13.506561c22.413147 0 40.58264 6.047119 40.58264 13.506561l0 54.026245c0 7.4594727 -18.169495 13.506561 -40.58264 13.506561c-22.413208 0 -40.582703 -6.0470886 -40.582703 -13.506561z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m687.2651 296.18896l0 0c0 7.4594727 -18.169495 13.506561 -40.58264 13.506561c-22.413208 0 -40.582703 -6.0470886 -40.582703 -13.506561" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m606.09973 296.18896l0 0c0 -7.459442 18.169495 -13.506561 40.582703 -13.506561c22.413147 0 40.58264 6.047119 40.58264 13.506561l0 54.026245c0 7.4594727 -18.169495 13.506561 -40.58264 13.506561c-22.413208 0 -40.582703 -6.0470886 -40.582703 -13.506561z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m687.2651 296.18896l0 0c0 7.4594727 -18.169495 13.506561 -40.58264 13.506561c-22.413208 0 -40.582703 -6.0470886 -40.582703 -13.506561" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m606.09973 296.18896l0 0c0 -7.459442 18.169495 -13.506561 40.582703 -13.506561c22.413147 0 40.58264 6.047119 40.58264 13.506561l0 54.026245c0 7.4594727 -18.169495 13.506561 -40.58264 13.506561c-22.413208 0 -40.582703 -6.0470886 -40.582703 -13.506561z" fill-rule="nonzero"></path><path fill="#000000" d="m630.08545 324.28662l1.125 0.140625q-0.171875 1.171875 -0.9375 1.828125q-0.765625 0.65625 -1.859375 0.65625q-1.390625 0 -2.234375 -0.90625q-0.828125 -0.90625 -0.828125 -2.59375q0 -1.09375 0.359375 -1.90625q0.359375 -0.828125 1.09375 -1.234375q0.734375 -0.40625 1.609375 -0.40625q1.09375 0 1.796875 0.5625q0.703125 0.546875 0.890625 1.5625l-1.109375 0.171875q-0.15625 -0.671875 -0.5625 -1.015625q-0.390625 -0.34375 -0.96875 -0.34375q-0.859375 0 -1.40625 0.625q-0.53125 0.609375 -0.53125 1.953125q0 1.359375 0.515625 1.984375q0.515625 0.609375 1.359375 0.609375q0.671875 0 1.125 -0.40625q0.453125 -0.421875 0.5625 -1.28125zm2.2421875 2.46875l0 -9.3125l1.140625 0l0 9.3125l-1.140625 0zm7.4142456 0l0 -0.984375q-0.796875 1.140625 -2.140625 1.140625q-0.59375 0 -1.125 -0.234375q-0.515625 -0.234375 -0.765625 -0.578125q-0.25 -0.34375 -0.34375 -0.84375q-0.078125 -0.328125 -0.078125 -1.0625l0 -4.171875l1.140625 0l0 3.734375q0 0.890625 0.078125 1.203125q0.109375 0.453125 0.453125 0.71875q0.34375 0.25 0.859375 0.25q0.515625 0 0.96875 -0.265625q0.453125 -0.265625 0.640625 -0.71875q0.1875 -0.453125 0.1875 -1.3125l0 -3.609375l1.140625 0l0 6.734375l-1.015625 0zm2.5374756 -2.015625l1.125 -0.171875q0.09375 0.671875 0.53125 1.046875q0.4375 0.359375 1.21875 0.359375q0.78125 0 1.15625 -0.3125q0.390625 -0.328125 0.390625 -0.765625q0 -0.390625 -0.34375 -0.609375q-0.234375 -0.15625 -1.171875 -0.390625q-1.25 -0.3125 -1.734375 -0.546875q-0.484375 -0.234375 -0.734375 -0.640625q-0.25 -0.40625 -0.25 -0.90625q0 -0.453125 0.203125 -0.828125q0.203125 -0.390625 0.5625 -0.640625q0.265625 -0.203125 0.71875 -0.328125q0.46875 -0.140625 1.0 -0.140625q0.78125 0 1.375 0.234375q0.609375 0.21875 0.890625 0.609375q0.296875 0.390625 0.40625 1.046875l-1.125 0.15625q-0.078125 -0.53125 -0.4375 -0.8125q-0.359375 -0.296875 -1.03125 -0.296875q-0.78125 0 -1.125 0.265625q-0.34375 0.25 -0.34375 0.609375q0 0.21875 0.140625 0.390625q0.140625 0.1875 0.4375 0.3125q0.171875 0.0625 1.015625 0.28125q1.21875 0.328125 1.6875 0.53125q0.484375 0.203125 0.75 0.609375q0.28125 0.390625 0.28125 0.96875q0 0.578125 -0.34375 1.078125q-0.328125 0.5 -0.953125 0.78125q-0.625 0.28125 -1.421875 0.28125q-1.3125 0 -2.0 -0.546875q-0.6875 -0.546875 -0.875 -1.625zm9.6171875 1.0l0.15625 1.0q-0.484375 0.109375 -0.859375 0.109375q-0.625 0 -0.96875 -0.203125q-0.34375 -0.203125 -0.484375 -0.515625q-0.140625 -0.328125 -0.140625 -1.34375l0 -3.890625l-0.828125 0l0 -0.875l0.828125 0l0 -1.671875l1.140625 -0.6875l0 2.359375l1.15625 0l0 0.875l-1.15625 0l0 3.953125q0 0.484375 0.0625 0.625q0.0625 0.140625 0.1875 0.21875q0.140625 0.078125 0.390625 0.078125q0.203125 0 0.515625 -0.03125zm5.812378 -1.15625l1.1875 0.140625q-0.28125 1.046875 -1.046875 1.625q-0.75 0.5625 -1.921875 0.5625q-1.484375 0 -2.359375 -0.90625q-0.859375 -0.921875 -0.859375 -2.5625q0 -1.703125 0.875 -2.640625q0.890625 -0.9375 2.28125 -0.9375q1.359375 0 2.203125 0.921875q0.859375 0.921875 0.859375 2.578125q0 0.109375 0 0.3125l-5.03125 0q0.0625 1.109375 0.625 1.703125q0.5625 0.59375 1.40625 0.59375q0.640625 0 1.078125 -0.328125q0.453125 -0.34375 0.703125 -1.0625zm-3.75 -1.84375l3.765625 0q-0.078125 -0.859375 -0.4375 -1.28125q-0.546875 -0.65625 -1.40625 -0.65625q-0.796875 0 -1.328125 0.53125q-0.53125 0.515625 -0.59375 1.40625zm6.5374756 4.015625l0 -6.734375l1.03125 0l0 1.015625q0.390625 -0.71875 0.71875 -0.9375q0.34375 -0.234375 0.734375 -0.234375q0.578125 0 1.171875 0.359375l-0.390625 1.0625q-0.421875 -0.25 -0.828125 -0.25q-0.375 0 -0.6875 0.234375q-0.296875 0.21875 -0.421875 0.625q-0.1875 0.609375 -0.1875 1.328125l0 3.53125l-1.140625 0zm4.0008545 -2.796875l0 -1.140625l3.515625 0l0 1.140625l-3.515625 0z" fill-rule="nonzero"></path><path fill="#000000" d="m622.6371 341.73975l0.15625 1.0q-0.484375 0.109375 -0.859375 0.109375q-0.625 0 -0.96875 -0.203125q-0.34375 -0.203125 -0.484375 -0.515625q-0.140625 -0.328125 -0.140625 -1.34375l0 -3.890625l-0.828125 0l0 -0.875l0.828125 0l0 -1.671875l1.140625 -0.6875l0 2.359375l1.15625 0l0 0.875l-1.15625 0l0 3.953125q0 0.484375 0.0625 0.625q0.0625 0.140625 0.1875 0.21875q0.140625 0.078125 0.390625 0.078125q0.203125 0 0.515625 -0.03125zm5.812378 -1.15625l1.1875 0.140625q-0.28125 1.046875 -1.046875 1.625q-0.75 0.5625 -1.921875 0.5625q-1.484375 0 -2.359375 -0.90625q-0.859375 -0.921875 -0.859375 -2.5625q0 -1.703125 0.875 -2.640625q0.890625 -0.9375 2.28125 -0.9375q1.359375 0 2.203125 0.921875q0.859375 0.921875 0.859375 2.578125q0 0.109375 0 0.3125l-5.03125 0q0.0625 1.109375 0.625 1.703125q0.5625 0.59375 1.40625 0.59375q0.640625 0 1.078125 -0.328125q0.453125 -0.34375 0.703125 -1.0625zm-3.75 -1.84375l3.765625 0q-0.078125 -0.859375 -0.4375 -1.28125q-0.546875 -0.65625 -1.40625 -0.65625q-0.796875 0 -1.328125 0.53125q-0.53125 0.515625 -0.59375 1.40625zm6.5218506 4.015625l0 -9.3125l1.140625 0l0 9.3125l-1.140625 0zm7.6017456 -2.171875l1.1875 0.140625q-0.28125 1.046875 -1.046875 1.625q-0.75 0.5625 -1.921875 0.5625q-1.484375 0 -2.359375 -0.90625q-0.859375 -0.921875 -0.859375 -2.5625q0 -1.703125 0.875 -2.640625q0.890625 -0.9375 2.28125 -0.9375q1.359375 0 2.203125 0.921875q0.859375 0.921875 0.859375 2.578125q0 0.109375 0 0.3125l-5.03125 0q0.0625 1.109375 0.625 1.703125q0.5625 0.59375 1.40625 0.59375q0.640625 0 1.078125 -0.328125q0.453125 -0.34375 0.703125 -1.0625zm-3.75 -1.84375l3.765625 0q-0.078125 -0.859375 -0.4375 -1.28125q-0.546875 -0.65625 -1.40625 -0.65625q-0.796875 0 -1.328125 0.53125q-0.53125 0.515625 -0.59375 1.40625zm6.5531006 4.015625l0 -6.734375l1.015625 0l0 0.9375q0.328125 -0.5 0.84375 -0.796875q0.53125 -0.296875 1.203125 -0.296875q0.75 0 1.21875 0.3125q0.484375 0.3125 0.6875 0.859375q0.796875 -1.171875 2.078125 -1.171875q1.0 0 1.53125 0.5625q0.546875 0.546875 0.546875 1.703125l0 4.625l-1.125 0l0 -4.25q0 -0.6875 -0.109375 -0.984375q-0.109375 -0.296875 -0.40625 -0.484375q-0.296875 -0.1875 -0.6875 -0.1875q-0.71875 0 -1.1875 0.484375q-0.46875 0.46875 -0.46875 1.5l0 3.921875l-1.140625 0l0 -4.375q0 -0.765625 -0.28125 -1.140625q-0.28125 -0.390625 -0.90625 -0.390625q-0.484375 0 -0.890625 0.265625q-0.40625 0.25 -0.59375 0.734375q-0.1875 0.484375 -0.1875 1.40625l0 3.5l-1.140625 0zm15.711792 -2.171875l1.1875 0.140625q-0.28125 1.046875 -1.046875 1.625q-0.75 0.5625 -1.921875 0.5625q-1.484375 0 -2.359375 -0.90625q-0.859375 -0.921875 -0.859375 -2.5625q0 -1.703125 0.875 -2.640625q0.890625 -0.9375 2.28125 -0.9375q1.359375 0 2.203125 0.921875q0.859375 0.921875 0.859375 2.578125q0 0.109375 0 0.3125l-5.03125 0q0.0625 1.109375 0.625 1.703125q0.5625 0.59375 1.40625 0.59375q0.640625 0 1.078125 -0.328125q0.453125 -0.34375 0.703125 -1.0625zm-3.75 -1.84375l3.765625 0q-0.078125 -0.859375 -0.4375 -1.28125q-0.546875 -0.65625 -1.40625 -0.65625q-0.796875 0 -1.328125 0.53125q-0.53125 0.515625 -0.59375 1.40625zm9.053101 3.0l0.15625 1.0q-0.484375 0.109375 -0.859375 0.109375q-0.625 0 -0.96875 -0.203125q-0.34375 -0.203125 -0.484375 -0.515625q-0.140625 -0.328125 -0.140625 -1.34375l0 -3.890625l-0.828125 0l0 -0.875l0.828125 0l0 -1.671875l1.140625 -0.6875l0 2.359375l1.15625 0l0 0.875l-1.15625 0l0 3.953125q0 0.484375 0.0625 0.625q0.0625 0.140625 0.1875 0.21875q0.140625 0.078125 0.390625 0.078125q0.203125 0 0.515625 -0.03125zm1.1873779 1.015625l0 -6.734375l1.03125 0l0 1.015625q0.390625 -0.71875 0.71875 -0.9375q0.34375 -0.234375 0.734375 -0.234375q0.578125 0 1.171875 0.359375l-0.390625 1.0625q-0.421875 -0.25 -0.828125 -0.25q-0.375 0 -0.6875 0.234375q-0.296875 0.21875 -0.421875 0.625q-0.1875 0.609375 -0.1875 1.328125l0 3.53125l-1.140625 0zm4.4071045 2.59375l-0.140625 -1.0625q0.375 0.09375 0.65625 0.09375q0.390625 0 0.609375 -0.125q0.234375 -0.125 0.375 -0.359375q0.109375 -0.171875 0.359375 -0.84375q0.03125 -0.09375 0.09375 -0.28125l-2.5625 -6.75l1.234375 0l1.40625 3.890625q0.265625 0.75 0.484375 1.5625q0.203125 -0.78125 0.46875 -1.53125l1.453125 -3.921875l1.140625 0l-2.5625 6.84375q-0.421875 1.109375 -0.640625 1.53125q-0.3125 0.5625 -0.703125 0.828125q-0.390625 0.265625 -0.9375 0.265625q-0.328125 0 -0.734375 -0.140625z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m411.43878 453.4452l235.24408 -80.787415" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m411.43878 453.44516l223.89465 -76.8898" fill-rule="evenodd"></path><path fill="#000000" stroke="#000000" stroke-width="2.0" stroke-linecap="butt" d="m636.40643 379.67972l7.5111694 -6.072296l-9.6571045 -0.17642212z" fill-rule="evenodd"></path><path fill="#000000" fill-opacity="0.0" d="m402.27722 305.71228l153.98425 0.12600708" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m402.27722 305.71228l141.98425 0.11618042" fill-rule="evenodd"></path><path fill="#000000" stroke="#000000" stroke-width="2.0" stroke-linecap="butt" d="m544.2588 309.13193l9.078918 -3.296051l-9.073547 -3.3108826z" fill-rule="evenodd"></path><path fill="#000000" fill-opacity="0.0" d="m590.269 378.36484l115.93701 0l0 23.24408l-115.93701 0z" fill-rule="nonzero"></path><path fill="#000000" d="m599.8471 397.18045l1.171875 -0.109375q0.078125 0.703125 0.375 1.15625q0.3125 0.4375 0.9375 0.71875q0.640625 0.265625 1.4375 0.265625q0.703125 0 1.234375 -0.203125q0.546875 -0.203125 0.8125 -0.5625q0.265625 -0.375 0.265625 -0.8125q0 -0.4375 -0.265625 -0.765625q-0.25 -0.328125 -0.828125 -0.546875q-0.375 -0.140625 -1.65625 -0.453125q-1.28125 -0.3125 -1.796875 -0.578125q-0.671875 -0.34375 -1.0 -0.859375q-0.328125 -0.53125 -0.328125 -1.171875q0 -0.703125 0.390625 -1.3125q0.40625 -0.609375 1.171875 -0.921875q0.78125 -0.328125 1.71875 -0.328125q1.03125 0 1.8125 0.34375q0.796875 0.328125 1.21875 0.984375q0.4375 0.640625 0.46875 1.453125l-1.1875 0.09375q-0.09375 -0.890625 -0.640625 -1.328125q-0.546875 -0.453125 -1.625 -0.453125q-1.109375 0 -1.625 0.40625q-0.515625 0.40625 -0.515625 0.984375q0 0.5 0.359375 0.828125q0.359375 0.328125 1.859375 0.671875q1.5 0.328125 2.0625 0.578125q0.8125 0.375 1.1875 0.953125q0.390625 0.578125 0.390625 1.328125q0 0.734375 -0.421875 1.390625q-0.421875 0.65625 -1.21875 1.03125q-0.796875 0.359375 -1.796875 0.359375q-1.265625 0 -2.125 -0.359375q-0.84375 -0.375 -1.328125 -1.109375q-0.484375 -0.75 -0.515625 -1.671875zm11.6710205 1.96875l0.15625 1.0q-0.484375 0.109375 -0.859375 0.109375q-0.625 0 -0.96875 -0.203125q-0.34375 -0.203125 -0.484375 -0.515625q-0.140625 -0.328125 -0.140625 -1.34375l0 -3.890625l-0.828125 0l0 -0.875l0.828125 0l0 -1.671875l1.140625 -0.6875l0 2.359375l1.15625 0l0 0.875l-1.15625 0l0 3.953125q0 0.484375 0.0625 0.625q0.0625 0.140625 0.1875 0.21875q0.140625 0.078125 0.390625 0.078125q0.203125 0 0.515625 -0.03125zm0.7811279 -2.359375q0 -1.875 1.03125 -2.765625q0.875 -0.75 2.125 -0.75q1.390625 0 2.265625 0.90625q0.890625 0.90625 0.890625 2.515625q0 1.296875 -0.390625 2.046875q-0.390625 0.75 -1.140625 1.171875q-0.75 0.40625 -1.625 0.40625q-1.421875 0 -2.296875 -0.90625q-0.859375 -0.90625 -0.859375 -2.625zm1.171875 0q0 1.296875 0.5625 1.953125q0.5625 0.640625 1.421875 0.640625q0.84375 0 1.40625 -0.640625q0.578125 -0.65625 0.578125 -1.984375q0 -1.25 -0.578125 -1.890625q-0.5625 -0.65625 -1.40625 -0.65625q-0.859375 0 -1.421875 0.640625q-0.5625 0.640625 -0.5625 1.9375zm6.6468506 3.375l0 -6.734375l1.03125 0l0 1.015625q0.390625 -0.71875 0.71875 -0.9375q0.34375 -0.234375 0.734375 -0.234375q0.578125 0 1.171875 0.359375l-0.390625 1.0625q-0.421875 -0.25 -0.828125 -0.25q-0.375 0 -0.6875 0.234375q-0.296875 0.21875 -0.421875 0.625q-0.1875 0.609375 -0.1875 1.328125l0 3.53125l-1.140625 0zm9.0633545 -2.171875l1.1875 0.140625q-0.28125 1.046875 -1.046875 1.625q-0.75 0.5625 -1.921875 0.5625q-1.484375 0 -2.359375 -0.90625q-0.859375 -0.921875 -0.859375 -2.5625q0 -1.703125 0.875 -2.640625q0.890625 -0.9375 2.28125 -0.9375q1.359375 0 2.203125 0.921875q0.859375 0.921875 0.859375 2.578125q0 0.109375 0 0.3125l-5.03125 0q0.0625 1.109375 0.625 1.703125q0.5625 0.59375 1.40625 0.59375q0.640625 0 1.078125 -0.328125q0.453125 -0.34375 0.703125 -1.0625zm-3.75 -1.84375l3.765625 0q-0.078125 -0.859375 -0.4375 -1.28125q-0.546875 -0.65625 -1.40625 -0.65625q-0.796875 0 -1.328125 0.53125q-0.53125 0.515625 -0.59375 1.40625zm9.8342285 0.640625q0 -1.875 1.03125 -2.765625q0.875 -0.75 2.125 -0.75q1.390625 0 2.265625 0.90625q0.890625 0.90625 0.890625 2.515625q0 1.296875 -0.390625 2.046875q-0.390625 0.75 -1.140625 1.171875q-0.75 0.40625 -1.625 0.40625q-1.421875 0 -2.296875 -0.90625q-0.859375 -0.90625 -0.859375 -2.625zm1.171875 0q0 1.296875 0.5625 1.953125q0.5625 0.640625 1.421875 0.640625q0.84375 0 1.40625 -0.640625q0.578125 -0.65625 0.578125 -1.984375q0 -1.25 -0.578125 -1.890625q-0.5625 -0.65625 -1.40625 -0.65625q-0.859375 0 -1.421875 0.640625q-0.5625 0.640625 -0.5625 1.9375zm11.084351 3.375l0 -0.984375q-0.796875 1.140625 -2.140625 1.140625q-0.59375 0 -1.125 -0.234375q-0.515625 -0.234375 -0.765625 -0.578125q-0.25 -0.34375 -0.34375 -0.84375q-0.078125 -0.328125 -0.078125 -1.0625l0 -4.171875l1.140625 0l0 3.734375q0 0.890625 0.078125 1.203125q0.109375 0.453125 0.453125 0.71875q0.34375 0.25 0.859375 0.25q0.515625 0 0.96875 -0.265625q0.453125 -0.265625 0.640625 -0.71875q0.1875 -0.453125 0.1875 -1.3125l0 -3.609375l1.140625 0l0 6.734375l-1.015625 0zm5.4906006 -1.015625l0.15625 1.0q-0.484375 0.109375 -0.859375 0.109375q-0.625 0 -0.96875 -0.203125q-0.34375 -0.203125 -0.484375 -0.515625q-0.140625 -0.328125 -0.140625 -1.34375l0 -3.890625l-0.828125 0l0 -0.875l0.828125 0l0 -1.671875l1.140625 -0.6875l0 2.359375l1.15625 0l0 0.875l-1.15625 0l0 3.953125q0 0.484375 0.0625 0.625q0.0625 0.140625 0.1875 0.21875q0.140625 0.078125 0.390625 0.078125q0.203125 0 0.515625 -0.03125zm1.2029419 3.59375l0 -9.3125l1.03125 0l0 0.875q0.375 -0.515625 0.828125 -0.765625q0.46875 -0.265625 1.140625 -0.265625q0.859375 0 1.515625 0.453125q0.65625 0.4375 0.984375 1.25q0.34375 0.796875 0.34375 1.765625q0 1.03125 -0.375 1.859375q-0.359375 0.828125 -1.078125 1.28125q-0.703125 0.4375 -1.484375 0.4375q-0.5625 0 -1.015625 -0.234375q-0.453125 -0.25 -0.75 -0.625l0 3.28125l-1.140625 0zm1.03125 -5.90625q0 1.296875 0.53125 1.921875q0.53125 0.625 1.265625 0.625q0.765625 0 1.3125 -0.640625q0.546875 -0.65625 0.546875 -2.0q0 -1.296875 -0.53125 -1.9375q-0.53125 -0.640625 -1.265625 -0.640625q-0.734375 0 -1.296875 0.6875q-0.5625 0.671875 -0.5625 1.984375zm10.803101 3.328125l0 -0.984375q-0.796875 1.140625 -2.140625 1.140625q-0.59375 0 -1.125 -0.234375q-0.515625 -0.234375 -0.765625 -0.578125q-0.25 -0.34375 -0.34375 -0.84375q-0.078125 -0.328125 -0.078125 -1.0625l0 -4.171875l1.140625 0l0 3.734375q0 0.890625 0.078125 1.203125q0.109375 0.453125 0.453125 0.71875q0.34375 0.25 0.859375 0.25q0.515625 0 0.96875 -0.265625q0.453125 -0.265625 0.640625 -0.71875q0.1875 -0.453125 0.1875 -1.3125l0 -3.609375l1.140625 0l0 6.734375l-1.015625 0zm5.4906006 -1.015625l0.15625 1.0q-0.484375 0.109375 -0.859375 0.109375q-0.625 0 -0.96875 -0.203125q-0.34375 -0.203125 -0.484375 -0.515625q-0.140625 -0.328125 -0.140625 -1.34375l0 -3.890625l-0.828125 0l0 -0.875l0.828125 0l0 -1.671875l1.140625 -0.6875l0 2.359375l1.15625 0l0 0.875l-1.15625 0l0 3.953125q0 0.484375 0.0625 0.625q0.0625 0.140625 0.1875 0.21875q0.140625 0.078125 0.390625 0.078125q0.203125 0 0.515625 -0.03125z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m424.2047 277.20734l110.17322 0l0 25.606293l-110.17322 0z" fill-rule="nonzero"></path><path fill="#000000" d="m434.22034 299.00732l0 -9.3125l4.125 0q1.25 0 1.890625 0.265625q0.65625 0.25 1.046875 0.890625q0.390625 0.625 0.390625 1.390625q0 0.984375 -0.65625 1.671875q-0.640625 0.671875 -1.96875 0.859375q0.484375 0.234375 0.734375 0.46875q0.546875 0.484375 1.03125 1.234375l1.609375 2.53125l-1.546875 0l-1.234375 -1.9375q-0.53125 -0.84375 -0.890625 -1.28125q-0.34375 -0.4375 -0.625 -0.609375q-0.265625 -0.1875 -0.546875 -0.265625q-0.21875 -0.03125 -0.6875 -0.03125l-1.4375 0l0 4.125l-1.234375 0zm1.234375 -5.203125l2.65625 0q0.84375 0 1.3125 -0.171875q0.484375 -0.171875 0.71875 -0.546875q0.25 -0.390625 0.25 -0.84375q0 -0.65625 -0.484375 -1.078125q-0.46875 -0.4375 -1.5 -0.4375l-2.953125 0l0 3.078125zm12.843903 3.03125l1.1875 0.140625q-0.28125 1.046875 -1.046875 1.625q-0.75 0.5625 -1.921875 0.5625q-1.484375 0 -2.359375 -0.90625q-0.859375 -0.921875 -0.859375 -2.5625q0 -1.703125 0.875 -2.640625q0.890625 -0.9375 2.28125 -0.9375q1.359375 0 2.203125 0.921875q0.859375 0.921875 0.859375 2.578125q0 0.109375 0 0.3125l-5.03125 0q0.0625 1.109375 0.625 1.703125q0.5625 0.59375 1.40625 0.59375q0.640625 0 1.078125 -0.328125q0.453125 -0.34375 0.703125 -1.0625zm-3.75 -1.84375l3.765625 0q-0.078125 -0.859375 -0.4375 -1.28125q-0.546875 -0.65625 -1.40625 -0.65625q-0.796875 0 -1.328125 0.53125q-0.53125 0.515625 -0.59375 1.40625zm10.943726 3.1875q-0.625 0.53125 -1.21875 0.765625q-0.578125 0.21875 -1.25 0.21875q-1.125 0 -1.71875 -0.546875q-0.59375 -0.546875 -0.59375 -1.390625q0 -0.484375 0.21875 -0.890625q0.234375 -0.421875 0.59375 -0.671875q0.375 -0.25 0.828125 -0.375q0.328125 -0.078125 1.015625 -0.171875q1.375 -0.15625 2.03125 -0.390625q0.015625 -0.234375 0.015625 -0.296875q0 -0.703125 -0.328125 -0.984375q-0.4375 -0.390625 -1.296875 -0.390625q-0.8125 0 -1.203125 0.28125q-0.375 0.28125 -0.5625 1.0l-1.109375 -0.140625q0.140625 -0.71875 0.484375 -1.15625q0.359375 -0.453125 1.015625 -0.6875q0.671875 -0.234375 1.53125 -0.234375q0.875 0 1.40625 0.203125q0.546875 0.203125 0.796875 0.515625q0.25 0.296875 0.359375 0.765625q0.046875 0.296875 0.046875 1.0625l0 1.515625q0 1.59375 0.078125 2.015625q0.078125 0.421875 0.28125 0.8125l-1.1875 0q-0.171875 -0.359375 -0.234375 -0.828125zm-0.09375 -2.5625q-0.625 0.265625 -1.859375 0.4375q-0.703125 0.109375 -1.0 0.234375q-0.296875 0.125 -0.453125 0.375q-0.15625 0.234375 -0.15625 0.53125q0 0.453125 0.34375 0.765625q0.34375 0.296875 1.015625 0.296875q0.65625 0 1.171875 -0.28125q0.515625 -0.296875 0.765625 -0.796875q0.171875 -0.375 0.171875 -1.140625l0 -0.421875zm7.4906006 3.390625l0 -0.84375q-0.640625 1.0 -1.890625 1.0q-0.796875 0 -1.484375 -0.4375q-0.671875 -0.453125 -1.046875 -1.25q-0.375 -0.796875 -0.375 -1.828125q0 -1.015625 0.34375 -1.828125q0.34375 -0.828125 1.015625 -1.265625q0.671875 -0.4375 1.5 -0.4375q0.609375 0 1.078125 0.265625q0.484375 0.25 0.78125 0.65625l0 -3.34375l1.140625 0l0 9.3125l-1.0625 0zm-3.609375 -3.359375q0 1.296875 0.53125 1.9375q0.546875 0.640625 1.296875 0.640625q0.75 0 1.265625 -0.609375q0.53125 -0.625 0.53125 -1.875q0 -1.390625 -0.53125 -2.03125q-0.53125 -0.65625 -1.3125 -0.65625q-0.765625 0 -1.28125 0.625q-0.5 0.625 -0.5 1.96875zm14.7404785 2.53125q-0.625 0.53125 -1.21875 0.765625q-0.578125 0.21875 -1.25 0.21875q-1.125 0 -1.71875 -0.546875q-0.59375 -0.546875 -0.59375 -1.390625q0 -0.484375 0.21875 -0.890625q0.234375 -0.421875 0.59375 -0.671875q0.375 -0.25 0.828125 -0.375q0.328125 -0.078125 1.015625 -0.171875q1.375 -0.15625 2.03125 -0.390625q0.015625 -0.234375 0.015625 -0.296875q0 -0.703125 -0.328125 -0.984375q-0.4375 -0.390625 -1.296875 -0.390625q-0.8125 0 -1.203125 0.28125q-0.375 0.28125 -0.5625 1.0l-1.109375 -0.140625q0.140625 -0.71875 0.484375 -1.15625q0.359375 -0.453125 1.015625 -0.6875q0.671875 -0.234375 1.53125 -0.234375q0.875 0 1.40625 0.203125q0.546875 0.203125 0.796875 0.515625q0.25 0.296875 0.359375 0.765625q0.046875 0.296875 0.046875 1.0625l0 1.515625q0 1.59375 0.078125 2.015625q0.078125 0.421875 0.28125 0.8125l-1.1875 0q-0.171875 -0.359375 -0.234375 -0.828125zm-0.09375 -2.5625q-0.625 0.265625 -1.859375 0.4375q-0.703125 0.109375 -1.0 0.234375q-0.296875 0.125 -0.453125 0.375q-0.15625 0.234375 -0.15625 0.53125q0 0.453125 0.34375 0.765625q0.34375 0.296875 1.015625 0.296875q0.65625 0 1.171875 -0.28125q0.515625 -0.296875 0.765625 -0.796875q0.171875 -0.375 0.171875 -1.140625l0 -0.421875zm3.1156006 3.390625l0 -6.734375l1.03125 0l0 0.953125q0.734375 -1.109375 2.140625 -1.109375q0.609375 0 1.109375 0.21875q0.515625 0.21875 0.765625 0.578125q0.265625 0.34375 0.359375 0.84375q0.0625 0.3125 0.0625 1.109375l0 4.140625l-1.140625 0l0 -4.09375q0 -0.703125 -0.140625 -1.046875q-0.125 -0.34375 -0.46875 -0.546875q-0.328125 -0.21875 -0.78125 -0.21875q-0.734375 0 -1.265625 0.46875q-0.53125 0.453125 -0.53125 1.75l0 3.6875l-1.140625 0zm11.787476 0l0 -0.84375q-0.640625 1.0 -1.890625 1.0q-0.796875 0 -1.484375 -0.4375q-0.671875 -0.453125 -1.046875 -1.25q-0.375 -0.796875 -0.375 -1.828125q0 -1.015625 0.34375 -1.828125q0.34375 -0.828125 1.015625 -1.265625q0.671875 -0.4375 1.5 -0.4375q0.609375 0 1.078125 0.265625q0.484375 0.25 0.78125 0.65625l0 -3.34375l1.140625 0l0 9.3125l-1.0625 0zm-3.609375 -3.359375q0 1.296875 0.53125 1.9375q0.546875 0.640625 1.296875 0.640625q0.75 0 1.265625 -0.609375q0.53125 -0.625 0.53125 -1.875q0 -1.390625 -0.53125 -2.03125q-0.53125 -0.65625 -1.3125 -0.65625q-0.765625 0 -1.28125 0.625q-0.5 0.625 -0.5 1.96875z" fill-rule="nonzero"></path><path fill="#000000" d="m438.4547 312.53857l1.125 0.140625q-0.171875 1.171875 -0.9375 1.828125q-0.765625 0.65625 -1.859375 0.65625q-1.390625 0 -2.234375 -0.90625q-0.828125 -0.90625 -0.828125 -2.59375q0 -1.09375 0.359375 -1.90625q0.359375 -0.828125 1.09375 -1.234375q0.734375 -0.40625 1.609375 -0.40625q1.09375 0 1.796875 0.5625q0.703125 0.546875 0.890625 1.5625l-1.109375 0.171875q-0.15625 -0.671875 -0.5625 -1.015625q-0.390625 -0.34375 -0.96875 -0.34375q-0.859375 0 -1.40625 0.625q-0.53125 0.609375 -0.53125 1.953125q0 1.359375 0.515625 1.984375q0.515625 0.609375 1.359375 0.609375q0.671875 0 1.125 -0.40625q0.453125 -0.421875 0.5625 -1.28125zm1.8515625 -0.90625q0 -1.875 1.03125 -2.765625q0.875 -0.75 2.125 -0.75q1.390625 0 2.265625 0.90625q0.890625 0.90625 0.890625 2.515625q0 1.296875 -0.390625 2.046875q-0.390625 0.75 -1.140625 1.171875q-0.75 0.40625 -1.625 0.40625q-1.421875 0 -2.296875 -0.90625q-0.859375 -0.90625 -0.859375 -2.625zm1.171875 0q0 1.296875 0.5625 1.953125q0.5625 0.640625 1.421875 0.640625q0.84375 0 1.40625 -0.640625q0.578125 -0.65625 0.578125 -1.984375q0 -1.25 -0.578125 -1.890625q-0.5625 -0.65625 -1.40625 -0.65625q-0.859375 0 -1.421875 0.640625q-0.5625 0.640625 -0.5625 1.9375zm6.6624756 3.375l0 -6.734375l1.03125 0l0 0.953125q0.734375 -1.109375 2.140625 -1.109375q0.609375 0 1.109375 0.21875q0.515625 0.21875 0.765625 0.578125q0.265625 0.34375 0.359375 0.84375q0.0625 0.3125 0.0625 1.109375l0 4.140625l-1.140625 0l0 -4.09375q0 -0.703125 -0.140625 -1.046875q-0.125 -0.34375 -0.46875 -0.546875q-0.328125 -0.21875 -0.78125 -0.21875q-0.734375 0 -1.265625 0.46875q-0.53125 0.453125 -0.53125 1.75l0 3.6875l-1.140625 0zm6.9593506 -2.015625l1.125 -0.171875q0.09375 0.671875 0.53125 1.046875q0.4375 0.359375 1.21875 0.359375q0.78125 0 1.15625 -0.3125q0.390625 -0.328125 0.390625 -0.765625q0 -0.390625 -0.34375 -0.609375q-0.234375 -0.15625 -1.171875 -0.390625q-1.25 -0.3125 -1.734375 -0.546875q-0.484375 -0.234375 -0.734375 -0.640625q-0.25 -0.40625 -0.25 -0.90625q0 -0.453125 0.203125 -0.828125q0.203125 -0.390625 0.5625 -0.640625q0.265625 -0.203125 0.71875 -0.328125q0.46875 -0.140625 1.0 -0.140625q0.78125 0 1.375 0.234375q0.609375 0.21875 0.890625 0.609375q0.296875 0.390625 0.40625 1.046875l-1.125 0.15625q-0.078125 -0.53125 -0.4375 -0.8125q-0.359375 -0.296875 -1.03125 -0.296875q-0.78125 0 -1.125 0.265625q-0.34375 0.25 -0.34375 0.609375q0 0.21875 0.140625 0.390625q0.140625 0.1875 0.4375 0.3125q0.171875 0.0625 1.015625 0.28125q1.21875 0.328125 1.6875 0.53125q0.484375 0.203125 0.75 0.609375q0.28125 0.390625 0.28125 0.96875q0 0.578125 -0.34375 1.078125q-0.328125 0.5 -0.953125 0.78125q-0.625 0.28125 -1.421875 0.28125q-1.3125 0 -2.0 -0.546875q-0.6875 -0.546875 -0.875 -1.625zm6.6953125 -1.359375q0 -1.875 1.03125 -2.765625q0.875 -0.75 2.125 -0.75q1.390625 0 2.265625 0.90625q0.890625 0.90625 0.890625 2.515625q0 1.296875 -0.390625 2.046875q-0.390625 0.75 -1.140625 1.171875q-0.75 0.40625 -1.625 0.40625q-1.421875 0 -2.296875 -0.90625q-0.859375 -0.90625 -0.859375 -2.625zm1.171875 0q0 1.296875 0.5625 1.953125q0.5625 0.640625 1.421875 0.640625q0.84375 0 1.40625 -0.640625q0.578125 -0.65625 0.578125 -1.984375q0 -1.25 -0.578125 -1.890625q-0.5625 -0.65625 -1.40625 -0.65625q-0.859375 0 -1.421875 0.640625q-0.5625 0.640625 -0.5625 1.9375zm6.6312256 3.375l0 -9.3125l1.140625 0l0 9.3125l-1.140625 0zm2.99234 -7.984375l0 -1.328125l1.140625 0l0 1.328125l-1.140625 0zm0 7.984375l0 -6.734375l1.140625 0l0 6.734375l-1.140625 0zm7.33609 0l0 -0.84375q-0.640625 1.0 -1.890625 1.0q-0.796875 0 -1.484375 -0.4375q-0.671875 -0.453125 -1.046875 -1.25q-0.375 -0.796875 -0.375 -1.828125q0 -1.015625 0.34375 -1.828125q0.34375 -0.828125 1.015625 -1.265625q0.671875 -0.4375 1.5 -0.4375q0.609375 0 1.078125 0.265625q0.484375 0.25 0.78125 0.65625l0 -3.34375l1.140625 0l0 9.3125l-1.0625 0zm-3.609375 -3.359375q0 1.296875 0.53125 1.9375q0.546875 0.640625 1.296875 0.640625q0.75 0 1.265625 -0.609375q0.53125 -0.625 0.53125 -1.875q0 -1.390625 -0.53125 -2.03125q-0.53125 -0.65625 -1.3125 -0.65625q-0.765625 0 -1.28125 0.625q-0.5 0.625 -0.5 1.96875zm11.037476 2.53125q-0.625 0.53125 -1.21875 0.765625q-0.578125 0.21875 -1.25 0.21875q-1.125 0 -1.71875 -0.546875q-0.59375 -0.546875 -0.59375 -1.390625q0 -0.484375 0.21875 -0.890625q0.234375 -0.421875 0.59375 -0.671875q0.375 -0.25 0.828125 -0.375q0.328125 -0.078125 1.015625 -0.171875q1.375 -0.15625 2.03125 -0.390625q0.015625 -0.234375 0.015625 -0.296875q0 -0.703125 -0.328125 -0.984375q-0.4375 -0.390625 -1.296875 -0.390625q-0.8125 0 -1.203125 0.28125q-0.375 0.28125 -0.5625 1.0l-1.109375 -0.140625q0.140625 -0.71875 0.484375 -1.15625q0.359375 -0.453125 1.015625 -0.6875q0.671875 -0.234375 1.53125 -0.234375q0.875 0 1.40625 0.203125q0.546875 0.203125 0.796875 0.515625q0.25 0.296875 0.359375 0.765625q0.046875 0.296875 0.046875 1.0625l0 1.515625q0 1.59375 0.078125 2.015625q0.078125 0.421875 0.28125 0.8125l-1.1875 0q-0.171875 -0.359375 -0.234375 -0.828125zm-0.09375 -2.5625q-0.625 0.265625 -1.859375 0.4375q-0.703125 0.109375 -1.0 0.234375q-0.296875 0.125 -0.453125 0.375q-0.15625 0.234375 -0.15625 0.53125q0 0.453125 0.34375 0.765625q0.34375 0.296875 1.015625 0.296875q0.65625 0 1.171875 -0.28125q0.515625 -0.296875 0.765625 -0.796875q0.171875 -0.375 0.171875 -1.140625l0 -0.421875zm5.6156006 2.375l0.15625 1.0q-0.484375 0.109375 -0.859375 0.109375q-0.625 0 -0.96875 -0.203125q-0.34375 -0.203125 -0.484375 -0.515625q-0.140625 -0.328125 -0.140625 -1.34375l0 -3.890625l-0.828125 0l0 -0.875l0.828125 0l0 -1.671875l1.140625 -0.6875l0 2.359375l1.15625 0l0 0.875l-1.15625 0l0 3.953125q0 0.484375 0.0625 0.625q0.0625 0.140625 0.1875 0.21875q0.140625 0.078125 0.390625 0.078125q0.203125 0 0.515625 -0.03125zm5.812378 -1.15625l1.1875 0.140625q-0.28125 1.046875 -1.046875 1.625q-0.75 0.5625 -1.921875 0.5625q-1.484375 0 -2.359375 -0.90625q-0.859375 -0.921875 -0.859375 -2.5625q0 -1.703125 0.875 -2.640625q0.890625 -0.9375 2.28125 -0.9375q1.359375 0 2.203125 0.921875q0.859375 0.921875 0.859375 2.578125q0 0.109375 0 0.3125l-5.03125 0q0.0625 1.109375 0.625 1.703125q0.5625 0.59375 1.40625 0.59375q0.640625 0 1.078125 -0.328125q0.453125 -0.34375 0.703125 -1.0625zm-3.75 -1.84375l3.765625 0q-0.078125 -0.859375 -0.4375 -1.28125q-0.546875 -0.65625 -1.40625 -0.65625q-0.796875 0 -1.328125 0.53125q-0.53125 0.515625 -0.59375 1.40625z" fill-rule="nonzero"></path><path fill="#000000" d="m433.6422 327.63232q0 -1.875 1.03125 -2.765625q0.875 -0.75 2.125 -0.75q1.390625 0 2.265625 0.90625q0.890625 0.90625 0.890625 2.515625q0 1.296875 -0.390625 2.046875q-0.390625 0.75 -1.140625 1.171875q-0.75 0.40625 -1.625 0.40625q-1.421875 0 -2.296875 -0.90625q-0.859375 -0.90625 -0.859375 -2.625zm1.171875 0q0 1.296875 0.5625 1.953125q0.5625 0.640625 1.421875 0.640625q0.84375 0 1.40625 -0.640625q0.578125 -0.65625 0.578125 -1.984375q0 -1.25 -0.578125 -1.890625q-0.5625 -0.65625 -1.40625 -0.65625q-0.859375 0 -1.421875 0.640625q-0.5625 0.640625 -0.5625 1.9375zm11.084351 3.375l0 -0.984375q-0.796875 1.140625 -2.140625 1.140625q-0.59375 0 -1.125 -0.234375q-0.515625 -0.234375 -0.765625 -0.578125q-0.25 -0.34375 -0.34375 -0.84375q-0.078125 -0.328125 -0.078125 -1.0625l0 -4.171875l1.140625 0l0 3.734375q0 0.890625 0.078125 1.203125q0.109375 0.453125 0.453125 0.71875q0.34375 0.25 0.859375 0.25q0.515625 0 0.96875 -0.265625q0.453125 -0.265625 0.640625 -0.71875q0.1875 -0.453125 0.1875 -1.3125l0 -3.609375l1.140625 0l0 6.734375l-1.015625 0zm5.4906006 -1.015625l0.15625 1.0q-0.484375 0.109375 -0.859375 0.109375q-0.625 0 -0.96875 -0.203125q-0.34375 -0.203125 -0.484375 -0.515625q-0.140625 -0.328125 -0.140625 -1.34375l0 -3.890625l-0.828125 0l0 -0.875l0.828125 0l0 -1.671875l1.140625 -0.6875l0 2.359375l1.15625 0l0 0.875l-1.15625 0l0 3.953125q0 0.484375 0.0625 0.625q0.0625 0.140625 0.1875 0.21875q0.140625 0.078125 0.390625 0.078125q0.203125 0 0.515625 -0.03125zm1.2030029 3.59375l0 -9.3125l1.03125 0l0 0.875q0.375 -0.515625 0.828125 -0.765625q0.46875 -0.265625 1.140625 -0.265625q0.859375 0 1.515625 0.453125q0.65625 0.4375 0.984375 1.25q0.34375 0.796875 0.34375 1.765625q0 1.03125 -0.375 1.859375q-0.359375 0.828125 -1.078125 1.28125q-0.703125 0.4375 -1.484375 0.4375q-0.5625 0 -1.015625 -0.234375q-0.453125 -0.25 -0.75 -0.625l0 3.28125l-1.140625 0zm1.03125 -5.90625q0 1.296875 0.53125 1.921875q0.53125 0.625 1.265625 0.625q0.765625 0 1.3125 -0.640625q0.546875 -0.65625 0.546875 -2.0q0 -1.296875 -0.53125 -1.9375q-0.53125 -0.640625 -1.265625 -0.640625q-0.734375 0 -1.296875 0.6875q-0.5625 0.671875 -0.5625 1.984375zm10.803101 3.328125l0 -0.984375q-0.796875 1.140625 -2.140625 1.140625q-0.59375 0 -1.125 -0.234375q-0.515625 -0.234375 -0.765625 -0.578125q-0.25 -0.34375 -0.34375 -0.84375q-0.078125 -0.328125 -0.078125 -1.0625l0 -4.171875l1.140625 0l0 3.734375q0 0.890625 0.078125 1.203125q0.109375 0.453125 0.453125 0.71875q0.34375 0.25 0.859375 0.25q0.515625 0 0.96875 -0.265625q0.453125 -0.265625 0.640625 -0.71875q0.1875 -0.453125 0.1875 -1.3125l0 -3.609375l1.140625 0l0 6.734375l-1.015625 0zm5.4906006 -1.015625l0.15625 1.0q-0.484375 0.109375 -0.859375 0.109375q-0.625 0 -0.96875 -0.203125q-0.34375 -0.203125 -0.484375 -0.515625q-0.140625 -0.328125 -0.140625 -1.34375l0 -3.890625l-0.828125 0l0 -0.875l0.828125 0l0 -1.671875l1.140625 -0.6875l0 2.359375l1.15625 0l0 0.875l-1.15625 0l0 3.953125q0 0.484375 0.0625 0.625q0.0625 0.140625 0.1875 0.21875q0.140625 0.078125 0.390625 0.078125q0.203125 0 0.515625 -0.03125zm9.2966 0.1875q-0.625 0.53125 -1.21875 0.765625q-0.578125 0.21875 -1.25 0.21875q-1.125 0 -1.71875 -0.546875q-0.59375 -0.546875 -0.59375 -1.390625q0 -0.484375 0.21875 -0.890625q0.234375 -0.421875 0.59375 -0.671875q0.375 -0.25 0.828125 -0.375q0.328125 -0.078125 1.015625 -0.171875q1.375 -0.15625 2.03125 -0.390625q0.015625 -0.234375 0.015625 -0.296875q0 -0.703125 -0.328125 -0.984375q-0.4375 -0.390625 -1.296875 -0.390625q-0.8125 0 -1.203125 0.28125q-0.375 0.28125 -0.5625 1.0l-1.109375 -0.140625q0.140625 -0.71875 0.484375 -1.15625q0.359375 -0.453125 1.015625 -0.6875q0.671875 -0.234375 1.53125 -0.234375q0.875 0 1.40625 0.203125q0.546875 0.203125 0.796875 0.515625q0.25 0.296875 0.359375 0.765625q0.046875 0.296875 0.046875 1.0625l0 1.515625q0 1.59375 0.078125 2.015625q0.078125 0.421875 0.28125 0.8125l-1.1875 0q-0.171875 -0.359375 -0.234375 -0.828125zm-0.09375 -2.5625q-0.625 0.265625 -1.859375 0.4375q-0.703125 0.109375 -1.0 0.234375q-0.296875 0.125 -0.453125 0.375q-0.15625 0.234375 -0.15625 0.53125q0 0.453125 0.34375 0.765625q0.34375 0.296875 1.015625 0.296875q0.65625 0 1.171875 -0.28125q0.515625 -0.296875 0.765625 -0.796875q0.171875 -0.375 0.171875 -1.140625l0 -0.421875zm3.0999756 3.390625l0 -6.734375l1.03125 0l0 1.015625q0.390625 -0.71875 0.71875 -0.9375q0.34375 -0.234375 0.734375 -0.234375q0.578125 0 1.171875 0.359375l-0.390625 1.0625q-0.421875 -0.25 -0.828125 -0.25q-0.375 0 -0.6875 0.234375q-0.296875 0.21875 -0.421875 0.625q-0.1875 0.609375 -0.1875 1.328125l0 3.53125l-1.140625 0zm6.9539795 -1.015625l0.15625 1.0q-0.484375 0.109375 -0.859375 0.109375q-0.625 0 -0.96875 -0.203125q-0.34375 -0.203125 -0.484375 -0.515625q-0.140625 -0.328125 -0.140625 -1.34375l0 -3.890625l-0.828125 0l0 -0.875l0.828125 0l0 -1.671875l1.140625 -0.6875l0 2.359375l1.15625 0l0 0.875l-1.15625 0l0 3.953125q0 0.484375 0.0625 0.625q0.0625 0.140625 0.1875 0.21875q0.140625 0.078125 0.390625 0.078125q0.203125 0 0.515625 -0.03125zm1.2030029 -6.96875l0 -1.328125l1.140625 0l0 1.328125l-1.140625 0zm0 7.984375l0 -6.734375l1.140625 0l0 6.734375l-1.140625 0zm3.226715 0l0 -5.859375l-1.0 0l0 -0.875l1.0 0l0 -0.71875q0 -0.6875 0.125 -1.015625q0.171875 -0.4375 0.578125 -0.71875q0.421875 -0.28125 1.171875 -0.28125q0.484375 0 1.0625 0.125l-0.171875 0.984375q-0.359375 -0.0625 -0.671875 -0.0625q-0.515625 0 -0.734375 0.234375q-0.21875 0.21875 -0.21875 0.828125l0 0.625l1.3125 0l0 0.875l-1.3125 0l0 5.859375l-1.140625 0zm7.8279724 -0.828125q-0.625 0.53125 -1.21875 0.765625q-0.578125 0.21875 -1.25 0.21875q-1.125 0 -1.71875 -0.546875q-0.59375 -0.546875 -0.59375 -1.390625q0 -0.484375 0.21875 -0.890625q0.234375 -0.421875 0.59375 -0.671875q0.375 -0.25 0.828125 -0.375q0.328125 -0.078125 1.015625 -0.171875q1.375 -0.15625 2.03125 -0.390625q0.015625 -0.234375 0.015625 -0.296875q0 -0.703125 -0.328125 -0.984375q-0.4375 -0.390625 -1.296875 -0.390625q-0.8125 0 -1.203125 0.28125q-0.375 0.28125 -0.5625 1.0l-1.109375 -0.140625q0.140625 -0.71875 0.484375 -1.15625q0.359375 -0.453125 1.015625 -0.6875q0.671875 -0.234375 1.53125 -0.234375q0.875 0 1.40625 0.203125q0.546875 0.203125 0.796875 0.515625q0.25 0.296875 0.359375 0.765625q0.046875 0.296875 0.046875 1.0625l0 1.515625q0 1.59375 0.078125 2.015625q0.078125 0.421875 0.28125 0.8125l-1.1875 0q-0.171875 -0.359375 -0.234375 -0.828125zm-0.09375 -2.5625q-0.625 0.265625 -1.859375 0.4375q-0.703125 0.109375 -1.0 0.234375q-0.296875 0.125 -0.453125 0.375q-0.15625 0.234375 -0.15625 0.53125q0 0.453125 0.34375 0.765625q0.34375 0.296875 1.015625 0.296875q0.65625 0 1.171875 -0.28125q0.515625 -0.296875 0.765625 -0.796875q0.171875 -0.375 0.171875 -1.140625l0 -0.421875zm7.5062256 0.921875l1.125 0.140625q-0.171875 1.171875 -0.9375 1.828125q-0.765625 0.65625 -1.859375 0.65625q-1.390625 0 -2.234375 -0.90625q-0.828125 -0.90625 -0.828125 -2.59375q0 -1.09375 0.359375 -1.90625q0.359375 -0.828125 1.09375 -1.234375q0.734375 -0.40625 1.609375 -0.40625q1.09375 0 1.796875 0.5625q0.703125 0.546875 0.890625 1.5625l-1.109375 0.171875q-0.15625 -0.671875 -0.5625 -1.015625q-0.390625 -0.34375 -0.96875 -0.34375q-0.859375 0 -1.40625 0.625q-0.53125 0.609375 -0.53125 1.953125q0 1.359375 0.515625 1.984375q0.515625 0.609375 1.359375 0.609375q0.671875 0 1.125 -0.40625q0.453125 -0.421875 0.5625 -1.28125zm4.773468 1.453125l0.15625 1.0q-0.484375 0.109375 -0.859375 0.109375q-0.625 0 -0.9687805 -0.203125q-0.34375 -0.203125 -0.484375 -0.515625q-0.140625 -0.328125 -0.140625 -1.34375l0 -3.890625l-0.828125 0l0 -0.875l0.828125 0l0 -1.671875l1.1406555 -0.6875l0 2.359375l1.15625 0l0 0.875l-1.15625 0l0 3.953125q0 0.484375 0.0625 0.625q0.0625 0.140625 0.1875 0.21875q0.140625 0.078125 0.390625 0.078125q0.203125 0 0.515625 -0.03125zm0.7498169 -1.0l1.125 -0.171875q0.09375 0.671875 0.53125 1.046875q0.4375 0.359375 1.21875 0.359375q0.78125 0 1.15625 -0.3125q0.390625 -0.328125 0.390625 -0.765625q0 -0.390625 -0.34375 -0.609375q-0.234375 -0.15625 -1.171875 -0.390625q-1.25 -0.3125 -1.734375 -0.546875q-0.484375 -0.234375 -0.734375 -0.640625q-0.25 -0.40625 -0.25 -0.90625q0 -0.453125 0.203125 -0.828125q0.203125 -0.390625 0.5625 -0.640625q0.265625 -0.203125 0.71875 -0.328125q0.46875 -0.140625 1.0 -0.140625q0.78125 0 1.375 0.234375q0.609375 0.21875 0.890625 0.609375q0.296875 0.390625 0.40625 1.046875l-1.125 0.15625q-0.078125 -0.53125 -0.4375 -0.8125q-0.359375 -0.296875 -1.03125 -0.296875q-0.78125 0 -1.125 0.265625q-0.34375 0.25 -0.34375 0.609375q0 0.21875 0.140625 0.390625q0.140625 0.1875 0.4375 0.3125q0.171875 0.0625 1.015625 0.28125q1.21875 0.328125 1.6875 0.53125q0.484375 0.203125 0.75 0.609375q0.28125 0.390625 0.28125 0.96875q0 0.578125 -0.34375 1.078125q-0.328125 0.5 -0.953125 0.78125q-0.625 0.28125 -1.421875 0.28125q-1.3125 0 -2.0 -0.546875q-0.6875 -0.546875 -0.875 -1.625z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m269.79266 283.4672l-54.362213 -157.70079" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m269.79266 283.4672l-50.45146 -146.35593" fill-rule="evenodd"></path><path fill="#000000" stroke="#000000" stroke-width="2.0" stroke-linecap="butt" d="m222.46432 136.03467l-6.081024 -7.5040894l-0.16519165 9.657272z" fill-rule="evenodd"></path><path fill="#000000" fill-opacity="0.0" d="m236.41995 160.09157l115.93701 0l0 41.13385l-115.93701 0z" fill-rule="nonzero"></path><path fill="#000000" d="m246.4512 181.89157l0 -9.3125l6.71875 0l0 1.109375l-5.484375 0l0 2.84375l5.140625 0l0 1.09375l-5.140625 0l0 3.171875l5.703125 0l0 1.09375l-6.9375 0zm8.71788 0l0 -6.734375l1.0156097 0l0 0.9375q0.328125 -0.5 0.84375 -0.796875q0.53125 -0.296875 1.203125 -0.296875q0.75 0 1.21875 0.3125q0.484375 0.3125 0.6875 0.859375q0.796875 -1.171875 2.078125 -1.171875q1.0 0 1.53125 0.5625q0.546875 0.546875 0.546875 1.703125l0 4.625l-1.125 0l0 -4.25q0 -0.6875 -0.109375 -0.984375q-0.109375 -0.296875 -0.40625 -0.484375q-0.296875 -0.1875 -0.6875 -0.1875q-0.71875 0 -1.1875 0.484375q-0.46875 0.46875 -0.46875 1.5l0 3.921875l-1.140625 0l0 -4.375q0 -0.765625 -0.28125 -1.140625q-0.28125 -0.390625 -0.90625 -0.390625q-0.484375 0 -0.890625 0.265625q-0.40625 0.25 -0.59375 0.734375q-0.1875 0.484375 -0.1875 1.40625l0 3.5l-1.1406097 0zm15.493057 -0.828125q-0.625 0.53125 -1.21875 0.765625q-0.578125 0.21875 -1.25 0.21875q-1.125 0 -1.71875 -0.546875q-0.59375 -0.546875 -0.59375 -1.390625q0 -0.484375 0.21875 -0.890625q0.234375 -0.421875 0.59375 -0.671875q0.375 -0.25 0.828125 -0.375q0.328125 -0.078125 1.015625 -0.171875q1.375 -0.15625 2.03125 -0.390625q0.015625 -0.234375 0.015625 -0.296875q0 -0.703125 -0.328125 -0.984375q-0.4375 -0.390625 -1.296875 -0.390625q-0.8125 0 -1.203125 0.28125q-0.375 0.28125 -0.5625 1.0l-1.109375 -0.140625q0.140625 -0.71875 0.484375 -1.15625q0.359375 -0.453125 1.015625 -0.6875q0.671875 -0.234375 1.53125 -0.234375q0.875 0 1.40625 0.203125q0.546875 0.203125 0.796875 0.515625q0.25 0.296875 0.359375 0.765625q0.046875 0.296875 0.046875 1.0625l0 1.515625q0 1.59375 0.078125 2.015625q0.078125 0.421875 0.28125 0.8125l-1.1875 0q-0.171875 -0.359375 -0.234375 -0.828125zm-0.09375 -2.5625q-0.625 0.265625 -1.859375 0.4375q-0.703125 0.109375 -1.0 0.234375q-0.296875 0.125 -0.453125 0.375q-0.15625 0.234375 -0.15625 0.53125q0 0.453125 0.34375 0.765625q0.34375 0.296875 1.015625 0.296875q0.65625 0 1.171875 -0.28125q0.515625 -0.296875 0.765625 -0.796875q0.171875 -0.375 0.171875 -1.140625l0 -0.421875zm3.1156006 -4.59375l0 -1.328125l1.140625 0l0 1.328125l-1.140625 0zm0 7.984375l0 -6.734375l1.140625 0l0 6.734375l-1.140625 0zm2.92984 0l0 -9.3125l1.140625 0l0 9.3125l-1.140625 0zm11.1171875 0l0 -0.984375q-0.796875 1.140625 -2.140625 1.140625q-0.59375 0 -1.125 -0.234375q-0.515625 -0.234375 -0.765625 -0.578125q-0.25 -0.34375 -0.34375 -0.84375q-0.078125 -0.328125 -0.078125 -1.0625l0 -4.171875l1.140625 0l0 3.734375q0 0.890625 0.078125 1.203125q0.109375 0.453125 0.453125 0.71875q0.34375 0.25 0.859375 0.25q0.515625 0 0.96875 -0.265625q0.453125 -0.265625 0.640625 -0.71875q0.1875 -0.453125 0.1875 -1.3125l0 -3.609375l1.140625 0l0 6.734375l-1.015625 0zm2.5374756 -2.015625l1.125 -0.171875q0.09375 0.671875 0.53125 1.046875q0.4375 0.359375 1.21875 0.359375q0.78125 0 1.15625 -0.3125q0.390625 -0.328125 0.390625 -0.765625q0 -0.390625 -0.34375 -0.609375q-0.234375 -0.15625 -1.171875 -0.390625q-1.25 -0.3125 -1.734375 -0.546875q-0.484375 -0.234375 -0.734375 -0.640625q-0.25 -0.40625 -0.25 -0.90625q0 -0.453125 0.203125 -0.828125q0.203125 -0.390625 0.5625 -0.640625q0.265625 -0.203125 0.71875 -0.328125q0.46875 -0.140625 1.0 -0.140625q0.78125 0 1.375 0.234375q0.609375 0.21875 0.890625 0.609375q0.296875 0.390625 0.40625 1.046875l-1.125 0.15625q-0.078125 -0.53125 -0.4375 -0.8125q-0.359375 -0.296875 -1.03125 -0.296875q-0.78125 0 -1.125 0.265625q-0.34375 0.25 -0.34375 0.609375q0 0.21875 0.140625 0.390625q0.140625 0.1875 0.4375 0.3125q0.171875 0.0625 1.015625 0.28125q1.21875 0.328125 1.6875 0.53125q0.484375 0.203125 0.75 0.609375q0.28125 0.390625 0.28125 0.96875q0 0.578125 -0.34375 1.078125q-0.328125 0.5 -0.953125 0.78125q-0.625 0.28125 -1.421875 0.28125q-1.3125 0 -2.0 -0.546875q-0.6875 -0.546875 -0.875 -1.625zm11.7265625 -0.15625l1.1875 0.140625q-0.28125 1.046875 -1.046875 1.625q-0.75 0.5625 -1.921875 0.5625q-1.484375 0 -2.359375 -0.90625q-0.859375 -0.921875 -0.859375 -2.5625q0 -1.703125 0.875 -2.640625q0.890625 -0.9375 2.28125 -0.9375q1.359375 0 2.203125 0.921875q0.859375 0.921875 0.859375 2.578125q0 0.109375 0 0.3125l-5.03125 0q0.0625 1.109375 0.625 1.703125q0.5625 0.59375 1.40625 0.59375q0.640625 0 1.078125 -0.328125q0.453125 -0.34375 0.703125 -1.0625zm-3.75 -1.84375l3.765625 0q-0.078125 -0.859375 -0.4375 -1.28125q-0.546875 -0.65625 -1.40625 -0.65625q-0.796875 0 -1.328125 0.53125q-0.53125 0.515625 -0.59375 1.40625zm6.5374756 4.015625l0 -6.734375l1.03125 0l0 1.015625q0.390625 -0.71875 0.71875 -0.9375q0.34375 -0.234375 0.734375 -0.234375q0.578125 0 1.171875 0.359375l-0.390625 1.0625q-0.421875 -0.25 -0.828125 -0.25q-0.375 0 -0.6875 0.234375q-0.296875 0.21875 -0.421875 0.625q-0.1875 0.609375 -0.1875 1.328125l0 3.53125l-1.140625 0z" fill-rule="nonzero"></path><path fill="#000000" d="m247.5137 197.89157l-2.0625 -6.734375l1.1875 0l1.078125 3.890625l0.390625 1.4375q0.03125 -0.109375 0.359375 -1.390625l1.0625 -3.9375l1.171875 0l1.015625 3.90625l0.34375 1.28125l0.375 -1.296875l1.15625 -3.890625l1.109375 0l-2.109375 6.734375l-1.171875 0l-1.078125 -4.03125l-0.265625 -1.15625l-1.359375 5.1875l-1.203125 0zm8.390778 -7.984375l0 -1.328125l1.140625 0l0 1.328125l-1.140625 0zm0 7.984375l0 -6.734375l1.140625 0l0 6.734375l-1.140625 0zm5.46109 -1.015625l0.15625 1.0q-0.484375 0.109375 -0.859375 0.109375q-0.625 0 -0.96875 -0.203125q-0.34375 -0.203125 -0.484375 -0.515625q-0.140625 -0.328125 -0.140625 -1.34375l0 -3.890625l-0.828125 0l0 -0.875l0.828125 0l0 -1.671875l1.140625 -0.6875l0 2.359375l1.15625 0l0 0.875l-1.15625 0l0 3.953125q0 0.484375 0.0625 0.625q0.0625 0.140625 0.1875 0.21875q0.140625 0.078125 0.390625 0.078125q0.203125 0 0.515625 -0.03125zm1.2029724 1.015625l0 -9.3125l1.140625 0l0 3.34375q0.796875 -0.921875 2.015625 -0.921875q0.75 0 1.296875 0.296875q0.5625 0.296875 0.796875 0.8125q0.234375 0.515625 0.234375 1.515625l0 4.265625l-1.140625 0l0 -4.265625q0 -0.859375 -0.375 -1.25q-0.359375 -0.390625 -1.046875 -0.390625q-0.5 0 -0.953125 0.265625q-0.453125 0.25 -0.640625 0.703125q-0.1875 0.453125 -0.1875 1.25l0 3.6875l-1.140625 0zm11.0998535 0l0 -6.734375l1.03125 0l0 1.015625q0.390625 -0.71875 0.71875 -0.9375q0.34375 -0.234375 0.734375 -0.234375q0.578125 0 1.171875 0.359375l-0.390625 1.0625q-0.421875 -0.25 -0.828125 -0.25q-0.375 0 -0.6875 0.234375q-0.296875 0.21875 -0.421875 0.625q-0.1875 0.609375 -0.1875 1.328125l0 3.53125l-1.140625 0zm9.0633545 -2.171875l1.1875 0.140625q-0.28125 1.046875 -1.046875 1.625q-0.75 0.5625 -1.921875 0.5625q-1.484375 0 -2.359375 -0.90625q-0.859375 -0.921875 -0.859375 -2.5625q0 -1.703125 0.875 -2.640625q0.890625 -0.9375 2.28125 -0.9375q1.359375 0 2.203125 0.921875q0.859375 0.921875 0.859375 2.578125q0 0.109375 0 0.3125l-5.03125 0q0.0625 1.109375 0.625 1.703125q0.5625 0.59375 1.40625 0.59375q0.640625 0 1.078125 -0.328125q0.453125 -0.34375 0.703125 -1.0625zm-3.75 -1.84375l3.765625 0q-0.078125 -0.859375 -0.4375 -1.28125q-0.546875 -0.65625 -1.40625 -0.65625q-0.796875 0 -1.328125 0.53125q-0.53125 0.515625 -0.59375 1.40625zm6.0999756 2.0l1.125 -0.171875q0.09375 0.671875 0.53125 1.046875q0.4375 0.359375 1.21875 0.359375q0.78125 0 1.15625 -0.3125q0.390625 -0.328125 0.390625 -0.765625q0 -0.390625 -0.34375 -0.609375q-0.234375 -0.15625 -1.171875 -0.390625q-1.25 -0.3125 -1.734375 -0.546875q-0.484375 -0.234375 -0.734375 -0.640625q-0.25 -0.40625 -0.25 -0.90625q0 -0.453125 0.203125 -0.828125q0.203125 -0.390625 0.5625 -0.640625q0.265625 -0.203125 0.71875 -0.328125q0.46875 -0.140625 1.0 -0.140625q0.78125 0 1.375 0.234375q0.609375 0.21875 0.890625 0.609375q0.296875 0.390625 0.40625 1.046875l-1.125 0.15625q-0.078125 -0.53125 -0.4375 -0.8125q-0.359375 -0.296875 -1.03125 -0.296875q-0.78125 0 -1.125 0.265625q-0.34375 0.25 -0.34375 0.609375q0 0.21875 0.140625 0.390625q0.140625 0.1875 0.4375 0.3125q0.171875 0.0625 1.015625 0.28125q1.21875 0.328125 1.6875 0.53125q0.484375 0.203125 0.75 0.609375q0.28125 0.390625 0.28125 0.96875q0 0.578125 -0.34375 1.078125q-0.328125 0.5 -0.953125 0.78125q-0.625 0.28125 -1.421875 0.28125q-1.3125 0 -2.0 -0.546875q-0.6875 -0.546875 -0.875 -1.625zm11.5390625 2.015625l0 -0.984375q-0.796875 1.140625 -2.140625 1.140625q-0.59375 0 -1.125 -0.234375q-0.515625 -0.234375 -0.765625 -0.578125q-0.25 -0.34375 -0.34375 -0.84375q-0.078125 -0.328125 -0.078125 -1.0625l0 -4.171875l1.140625 0l0 3.734375q0 0.890625 0.078125 1.203125q0.109375 0.453125 0.453125 0.71875q0.34375 0.25 0.859375 0.25q0.515625 0 0.96875 -0.265625q0.453125 -0.265625 0.640625 -0.71875q0.1875 -0.453125 0.1875 -1.3125l0 -3.609375l1.140625 0l0 6.734375l-1.015625 0zm2.9593506 0l0 -9.3125l1.140625 0l0 9.3125l-1.140625 0zm5.49234 -1.015625l0.15625 1.0q-0.484375 0.109375 -0.859375 0.109375q-0.625 0 -0.96875 -0.203125q-0.34375 -0.203125 -0.484375 -0.515625q-0.140625 -0.328125 -0.140625 -1.34375l0 -3.890625l-0.828125 0l0 -0.875l0.828125 0l0 -1.671875l1.140625 -0.6875l0 2.359375l1.15625 0l0 0.875l-1.15625 0l0 3.953125q0 0.484375 0.0625 0.625q0.0625 0.140625 0.1875 0.21875q0.140625 0.078125 0.390625 0.078125q0.203125 0 0.515625 -0.03125zm0.7498779 -1.0l1.125 -0.171875q0.09375 0.671875 0.53125 1.046875q0.4375 0.359375 1.21875 0.359375q0.78125 0 1.15625 -0.3125q0.390625 -0.328125 0.390625 -0.765625q0 -0.390625 -0.34375 -0.609375q-0.234375 -0.15625 -1.171875 -0.390625q-1.25 -0.3125 -1.734375 -0.546875q-0.484375 -0.234375 -0.734375 -0.640625q-0.25 -0.40625 -0.25 -0.90625q0 -0.453125 0.203125 -0.828125q0.203125 -0.390625 0.5625 -0.640625q0.265625 -0.203125 0.71875 -0.328125q0.46875 -0.140625 1.0 -0.140625q0.78125 0 1.375 0.234375q0.609375 0.21875 0.890625 0.609375q0.296875 0.390625 0.40625 1.046875l-1.125 0.15625q-0.078125 -0.53125 -0.4375 -0.8125q-0.359375 -0.296875 -1.03125 -0.296875q-0.78125 0 -1.125 0.265625q-0.34375 0.25 -0.34375 0.609375q0 0.21875 0.140625 0.390625q0.140625 0.1875 0.4375 0.3125q0.171875 0.0625 1.015625 0.28125q1.21875 0.328125 1.6875 0.53125q0.484375 0.203125 0.75 0.609375q0.28125 0.390625 0.28125 0.96875q0 0.578125 -0.34375 1.078125q-0.328125 0.5 -0.953125 0.78125q-0.625 0.28125 -1.421875 0.28125q-1.3125 0 -2.0 -0.546875q-0.6875 -0.546875 -0.875 -1.625z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m236.41933 363.72363l77.133865 0l0 29.070862l-77.133865 0z" fill-rule="nonzero"></path><path fill="#000000" d="m246.41933 375.05908l0 -9.3125l3.515625 0q0.921875 0 1.40625 0.09375q0.6875 0.109375 1.15625 0.4375q0.46875 0.3125 0.75 0.890625q0.28125 0.578125 0.28125 1.28125q0 1.1875 -0.765625 2.015625q-0.75 0.8125 -2.71875 0.8125l-2.390625 0l0 3.78125l-1.234375 0zm1.234375 -4.875l2.40625 0q1.1875 0 1.6875 -0.4375q0.515625 -0.453125 0.515625 -1.265625q0 -0.578125 -0.296875 -0.984375q-0.296875 -0.421875 -0.78125 -0.5625q-0.3125 -0.078125 -1.15625 -0.078125l-2.375 0l0 3.328125zm12.12413 2.703125l1.1875 0.140625q-0.28125 1.046875 -1.046875 1.625q-0.75 0.5625 -1.921875 0.5625q-1.484375 0 -2.359375 -0.90625q-0.859375 -0.921875 -0.859375 -2.5625q0 -1.703125 0.875 -2.640625q0.890625 -0.9375 2.28125 -0.9375q1.359375 0 2.203125 0.921875q0.859375 0.921875 0.859375 2.578125q0 0.109375 0 0.3125l-5.03125 0q0.0625 1.109375 0.625 1.703125q0.5625 0.59375 1.40625 0.59375q0.640625 0 1.078125 -0.328125q0.453125 -0.34375 0.703125 -1.0625zm-3.75 -1.84375l3.765625 0q-0.078125 -0.859375 -0.4375 -1.28125q-0.546875 -0.65625 -1.40625 -0.65625q-0.796875 0 -1.328125 0.53125q-0.53125 0.515625 -0.59375 1.40625zm6.5374756 4.015625l0 -6.734375l1.03125 0l0 1.015625q0.390625 -0.71875 0.71875 -0.9375q0.34375 -0.234375 0.734375 -0.234375q0.578125 0 1.171875 0.359375l-0.390625 1.0625q-0.421875 -0.25 -0.828125 -0.25q-0.375 0 -0.6875 0.234375q-0.296875 0.21875 -0.421875 0.625q-0.1875 0.609375 -0.1875 1.328125l0 3.53125l-1.140625 0zm4.7196045 0l0 -5.859375l-1.0 0l0 -0.875l1.0 0l0 -0.71875q0 -0.6875 0.125 -1.015625q0.171875 -0.4375 0.578125 -0.71875q0.421875 -0.28125 1.171875 -0.28125q0.484375 0 1.0625 0.125l-0.171875 0.984375q-0.359375 -0.0625 -0.671875 -0.0625q-0.515625 0 -0.734375 0.234375q-0.21875 0.21875 -0.21875 0.828125l0 0.625l1.3125 0l0 0.875l-1.3125 0l0 5.859375l-1.140625 0z" fill-rule="nonzero"></path><path fill="#000000" d="m248.7787 390.04346l0.15625 1.0q-0.484375 0.109375 -0.859375 0.109375q-0.625 0 -0.96875 -0.203125q-0.34375 -0.203125 -0.484375 -0.515625q-0.140625 -0.328125 -0.140625 -1.34375l0 -3.890625l-0.828125 0l0 -0.875l0.828125 0l0 -1.671875l1.140625 -0.6875l0 2.359375l1.15625 0l0 0.875l-1.15625 0l0 3.953125q0 0.484375 0.0625 0.625q0.0625 0.140625 0.1875 0.21875q0.140625 0.078125 0.390625 0.078125q0.203125 0 0.515625 -0.03125zm5.5936127 0.1875q-0.625 0.53125 -1.21875 0.765625q-0.578125 0.21875 -1.25 0.21875q-1.125 0 -1.71875 -0.546875q-0.59375 -0.546875 -0.59375 -1.390625q0 -0.484375 0.21875 -0.890625q0.234375 -0.421875 0.59375 -0.671875q0.375 -0.25 0.828125 -0.375q0.328125 -0.078125 1.015625 -0.171875q1.375 -0.15625 2.03125 -0.390625q0.015625 -0.234375 0.015625 -0.296875q0 -0.703125 -0.328125 -0.984375q-0.4375 -0.390625 -1.296875 -0.390625q-0.8125 0 -1.203125 0.28125q-0.375 0.28125 -0.5625 1.0l-1.109375 -0.140625q0.140625 -0.71875 0.484375 -1.15625q0.359375 -0.453125 1.015625 -0.6875q0.671875 -0.234375 1.53125 -0.234375q0.875 0 1.40625 0.203125q0.546875 0.203125 0.796875 0.515625q0.25 0.296875 0.359375 0.765625q0.046875 0.296875 0.046875 1.0625l0 1.515625q0 1.59375 0.078125 2.015625q0.078125 0.421875 0.28125 0.8125l-1.1875 0q-0.171875 -0.359375 -0.234375 -0.828125zm-0.09375 -2.5625q-0.625 0.265625 -1.859375 0.4375q-0.703125 0.109375 -1.0 0.234375q-0.296875 0.125 -0.453125 0.375q-0.15625 0.234375 -0.15625 0.53125q0 0.453125 0.34375 0.765625q0.34375 0.296875 1.015625 0.296875q0.65625 0 1.171875 -0.28125q0.515625 -0.296875 0.765625 -0.796875q0.171875 -0.375 0.171875 -1.140625l0 -0.421875zm2.6624756 1.375l1.125 -0.171875q0.09375 0.671875 0.53125 1.046875q0.4375 0.359375 1.21875 0.359375q0.78125 0 1.15625 -0.3125q0.390625 -0.328125 0.390625 -0.765625q0 -0.390625 -0.34375 -0.609375q-0.234375 -0.15625 -1.171875 -0.390625q-1.25 -0.3125 -1.734375 -0.546875q-0.484375 -0.234375 -0.734375 -0.640625q-0.25 -0.40625 -0.25 -0.90625q0 -0.453125 0.203125 -0.828125q0.203125 -0.390625 0.5625 -0.640625q0.265625 -0.203125 0.71875 -0.328125q0.46875 -0.140625 1.0 -0.140625q0.78125 0 1.375 0.234375q0.609375 0.21875 0.890625 0.609375q0.296875 0.390625 0.40625 1.046875l-1.125 0.15625q-0.078125 -0.53125 -0.4375 -0.8125q-0.359375 -0.296875 -1.03125 -0.296875q-0.78125 0 -1.125 0.265625q-0.34375 0.25 -0.34375 0.609375q0 0.21875 0.140625 0.390625q0.140625 0.1875 0.4375 0.3125q0.171875 0.0625 1.015625 0.28125q1.21875 0.328125 1.6875 0.53125q0.484375 0.203125 0.75 0.609375q0.28125 0.390625 0.28125 0.96875q0 0.578125 -0.34375 1.078125q-0.328125 0.5 -0.953125 0.78125q-0.625 0.28125 -1.421875 0.28125q-1.3125 0 -2.0 -0.546875q-0.6875 -0.546875 -0.875 -1.625zm7.1171875 2.015625l0 -9.3125l1.140625 0l0 5.3125l2.703125 -2.734375l1.484375 0l-2.578125 2.5l2.84375 4.234375l-1.40625 0l-2.234375 -3.453125l-0.8125 0.78125l0 2.671875l-1.140625 0zm6.2109375 -2.015625l1.125 -0.171875q0.09375 0.671875 0.53125 1.046875q0.4375 0.359375 1.21875 0.359375q0.78125 0 1.15625 -0.3125q0.390625 -0.328125 0.390625 -0.765625q0 -0.390625 -0.34375 -0.609375q-0.234375 -0.15625 -1.171875 -0.390625q-1.25 -0.3125 -1.734375 -0.546875q-0.484375 -0.234375 -0.734375 -0.640625q-0.25 -0.40625 -0.25 -0.90625q0 -0.453125 0.203125 -0.828125q0.203125 -0.390625 0.5625 -0.640625q0.265625 -0.203125 0.71875 -0.328125q0.46875 -0.140625 1.0 -0.140625q0.78125 0 1.375 0.234375q0.609375 0.21875 0.890625 0.609375q0.296875 0.390625 0.40625 1.046875l-1.125 0.15625q-0.078125 -0.53125 -0.4375 -0.8125q-0.359375 -0.296875 -1.03125 -0.296875q-0.78125 0 -1.125 0.265625q-0.34375 0.25 -0.34375 0.609375q0 0.21875 0.140625 0.390625q0.140625 0.1875 0.4375 0.3125q0.171875 0.0625 1.015625 0.28125q1.21875 0.328125 1.6875 0.53125q0.484375 0.203125 0.75 0.609375q0.28125 0.390625 0.28125 0.96875q0 0.578125 -0.34375 1.078125q-0.328125 0.5 -0.953125 0.78125q-0.625 0.28125 -1.421875 0.28125q-1.3125 0 -2.0 -0.546875q-0.6875 -0.546875 -0.875 -1.625z" fill-rule="nonzero"></path><path fill="#cfe2f3" d="m486.90552 474.5963l0 0c0 -14.516235 11.767761 -26.283966 26.283997 -26.283966l368.21942 0c6.9709473 0 13.656372 2.7691956 18.585571 7.698395c4.929199 4.929199 7.6984253 11.614624 7.6984253 18.585571l0 105.13281c0 14.516235 -11.767761 26.283997 -26.283997 26.283997l-368.21942 0l0 0c-14.516235 0 -26.283997 -11.767761 -26.283997 -26.283997z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m486.90552 474.5963l0 0c0 -14.516235 11.767761 -26.283966 26.283997 -26.283966l368.21942 0c6.9709473 0 13.656372 2.7691956 18.585571 7.698395c4.929199 4.929199 7.6984253 11.614624 7.6984253 18.585571l0 105.13281c0 14.516235 -11.767761 26.283997 -26.283997 26.283997l-368.21942 0l0 0c-14.516235 0 -26.283997 -11.767761 -26.283997 -26.283997z" fill-rule="nonzero"></path><path fill="#000000" d="m508.96323 474.1544l0 -1.078125l3.9374695 -0.015625l0 3.453125q-0.9062195 0.71875 -1.8749695 1.09375q-0.953125 0.359375 -1.96875 0.359375q-1.375 0 -2.5 -0.578125q-1.125 -0.59375 -1.703125 -1.703125q-0.5625 -1.109375 -0.5625 -2.484375q0 -1.359375 0.5625 -2.53125q0.578125 -1.1875 1.640625 -1.75q1.078125 -0.578125 2.453125 -0.578125q1.015625 0 1.828125 0.328125q0.8125 0.328125 1.2812195 0.921875q0.46875 0.578125 0.703125 1.515625l-1.1093445 0.296875q-0.203125 -0.703125 -0.515625 -1.109375q-0.3125 -0.40625 -0.890625 -0.640625q-0.578125 -0.25 -1.28125 -0.25q-0.84375 0 -1.46875 0.265625q-0.609375 0.25 -0.984375 0.671875q-0.375 0.40625 -0.59375 0.90625q-0.34375 0.875 -0.34375 1.875q0 1.25 0.421875 2.09375q0.421875 0.828125 1.234375 1.234375q0.828125 0.40625 1.75 0.40625q0.796875 0 1.5625 -0.296875q0.765625 -0.3125 1.15625 -0.671875l0 -1.734375l-2.734375 0zm12.648285 0.390625l1.234375 0.3125q-0.390625 1.515625 -1.40625 2.3125q-1.0 0.796875 -2.453125 0.796875q-1.5 0 -2.453125 -0.609375q-0.9375 -0.609375 -1.4375 -1.765625q-0.484375 -1.171875 -0.484375 -2.5q0 -1.453125 0.5625 -2.53125q0.5625 -1.09375 1.578125 -1.65625q1.03125 -0.5625 2.265625 -0.5625q1.390625 0 2.34375 0.71875q0.953125 0.703125 1.328125 2.0l-1.21875 0.28125q-0.328125 -1.015625 -0.9375 -1.46875q-0.609375 -0.46875 -1.546875 -0.46875q-1.078125 0 -1.796875 0.515625q-0.71875 0.515625 -1.015625 1.375q-0.28125 0.859375 -0.28125 1.78125q0 1.1875 0.34375 2.078125q0.34375 0.890625 1.0625 1.328125q0.734375 0.4375 1.59375 0.4375q1.03125 0 1.75 -0.59375q0.71875 -0.609375 0.96875 -1.78125zm3.015808 3.265625l0 -9.3125l6.71875 0l0 1.109375l-5.484375 0l0 2.84375l5.140625 0l0 1.09375l-5.140625 0l0 3.171875l5.703125 0l0 1.09375l-6.9375 0z" fill-rule="nonzero"></path><path fill="#cfe2f3" d="m521.5387 518.0489l57.905457 0l0 52.299194l-57.905457 0z" fill-rule="nonzero"></path><path fill="#a5b4c2" d="m579.44415 518.0489l17.433105 -17.433075l0 52.299225l-17.433105 17.433044z" fill-rule="nonzero"></path><path fill="#d8e7f5" d="m521.5387 518.0489l17.433044 -17.433075l57.905518 0l-17.433105 17.433075z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m521.5387 518.0489l17.433044 -17.433075l57.905518 0l0 52.299225l-17.433105 17.433044l-57.905457 0zm0 0l57.905457 0l17.433105 -17.433075m-17.433105 17.433075l0 52.299194" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m521.5387 518.0489l17.433044 -17.433075l57.905518 0l0 52.299225l-17.433105 17.433044l-57.905457 0zm0 0l57.905457 0l17.433105 -17.433075m-17.433105 17.433075l0 52.299194" fill-rule="nonzero"></path><path fill="#000000" d="m549.2488 536.58325l1.234375 0.3125q-0.390625 1.515625 -1.40625 2.3125q-1.0 0.796875 -2.453125 0.796875q-1.5 0 -2.453125 -0.609375q-0.9375 -0.609375 -1.4375 -1.765625q-0.484375 -1.171875 -0.484375 -2.5q0 -1.453125 0.5625 -2.53125q0.5625 -1.09375 1.578125 -1.65625q1.03125 -0.5625 2.265625 -0.5625q1.390625 0 2.34375 0.71875q0.953125 0.703125 1.328125 2.0l-1.21875 0.28125q-0.328125 -1.015625 -0.9375 -1.46875q-0.609375 -0.46875 -1.546875 -0.46875q-1.078125 0 -1.796875 0.515625q-0.71875 0.515625 -1.015625 1.375q-0.28125 0.859375 -0.28125 1.78125q0 1.1875 0.34375 2.078125q0.34375 0.890625 1.0625 1.328125q0.734375 0.4375 1.59375 0.4375q1.03125 0 1.75 -0.59375q0.71875 -0.609375 0.96875 -1.78125zm5.359558 3.265625l0 -8.203125l-3.0625 0l0 -1.109375l7.375 0l0 1.109375l-3.078125 0l0 8.203125l-1.234375 0z" fill-rule="nonzero"></path><path fill="#000000" d="m541.44196 555.8489l0 -9.3125l3.484375 0q1.078125 0 1.71875 0.296875q0.640625 0.28125 1.0 0.875q0.375 0.578125 0.375 1.21875q0 0.59375 -0.328125 1.125q-0.328125 0.515625 -0.96875 0.84375q0.84375 0.25 1.296875 0.84375q0.453125 0.59375 0.453125 1.40625q0 0.65625 -0.28125 1.21875q-0.28125 0.5625 -0.6875 0.875q-0.40625 0.296875 -1.015625 0.453125q-0.609375 0.15625 -1.5 0.15625l-3.546875 0zm1.234375 -5.390625l2.015625 0q0.8125 0 1.171875 -0.109375q0.46875 -0.140625 0.703125 -0.46875q0.234375 -0.328125 0.234375 -0.8125q0 -0.46875 -0.21875 -0.8125q-0.21875 -0.359375 -0.640625 -0.484375q-0.40625 -0.125 -1.40625 -0.125l-1.859375 0l0 2.8125zm0 4.296875l2.3125 0q0.59375 0 0.84375 -0.046875q0.421875 -0.078125 0.703125 -0.25q0.28125 -0.1875 0.46875 -0.515625q0.1875 -0.34375 0.1875 -0.796875q0 -0.515625 -0.265625 -0.890625q-0.265625 -0.390625 -0.75 -0.546875q-0.46875 -0.15625 -1.359375 -0.15625l-2.140625 0l0 3.203125zm7.1397705 -2.28125q0 -1.875 1.03125 -2.765625q0.875 -0.75 2.125 -0.75q1.390625 0 2.265625 0.90625q0.890625 0.90625 0.890625 2.515625q0 1.296875 -0.390625 2.046875q-0.390625 0.75 -1.140625 1.171875q-0.75 0.40625 -1.625 0.40625q-1.421875 0 -2.296875 -0.90625q-0.859375 -0.90625 -0.859375 -2.625zm1.171875 0q0 1.296875 0.5625 1.953125q0.5625 0.640625 1.421875 0.640625q0.84375 0 1.40625 -0.640625q0.578125 -0.65625 0.578125 -1.984375q0 -1.25 -0.578125 -1.890625q-0.5625 -0.65625 -1.40625 -0.65625q-0.859375 0 -1.421875 0.640625q-0.5625 0.640625 -0.5625 1.9375zm9.162476 2.359375l0.15625 1.0q-0.484375 0.109375 -0.859375 0.109375q-0.625 0 -0.96875 -0.203125q-0.34375 -0.203125 -0.484375 -0.515625q-0.140625 -0.328125 -0.140625 -1.34375l0 -3.890625l-0.828125 0l0 -0.875l0.828125 0l0 -1.671875l1.140625 -0.6875l0 2.359375l1.15625 0l0 0.875l-1.15625 0l0 3.953125q0 0.484375 0.0625 0.625q0.0625 0.140625 0.1875 0.21875q0.140625 0.078125 0.390625 0.078125q0.203125 0 0.515625 -0.03125z" fill-rule="nonzero"></path><path fill="#cfe2f3" d="m605.7506 518.0489l57.905518 0l0 52.299194l-57.905518 0z" fill-rule="nonzero"></path><path fill="#a5b4c2" d="m663.6561 518.0489l17.433044 -17.433075l0 52.299225l-17.433044 17.433044z" fill-rule="nonzero"></path><path fill="#d8e7f5" d="m605.7506 518.0489l17.433044 -17.433075l57.905518 0l-17.433044 17.433075z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m605.7506 518.0489l17.433044 -17.433075l57.905518 0l0 52.299225l-17.433044 17.433044l-57.905518 0zm0 0l57.905518 0l17.433044 -17.433075m-17.433044 17.433075l0 52.299194" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m605.7506 518.0489l17.433044 -17.433075l57.905518 0l0 52.299225l-17.433044 17.433044l-57.905518 0zm0 0l57.905518 0l17.433044 -17.433075m-17.433044 17.433075l0 52.299194" fill-rule="nonzero"></path><path fill="#000000" d="m633.4607 536.58325l1.234375 0.3125q-0.390625 1.515625 -1.40625 2.3125q-1.0 0.796875 -2.453125 0.796875q-1.5 0 -2.453125 -0.609375q-0.9375 -0.609375 -1.4375 -1.765625q-0.484375 -1.171875 -0.484375 -2.5q0 -1.453125 0.5625 -2.53125q0.5625 -1.09375 1.578125 -1.65625q1.03125 -0.5625 2.265625 -0.5625q1.390625 0 2.34375 0.71875q0.953125 0.703125 1.328125 2.0l-1.21875 0.28125q-0.328125 -1.015625 -0.9375 -1.46875q-0.609375 -0.46875 -1.546875 -0.46875q-1.078125 0 -1.796875 0.515625q-0.71875 0.515625 -1.015625 1.375q-0.28125 0.859375 -0.28125 1.78125q0 1.1875 0.34375 2.078125q0.34375 0.890625 1.0625 1.328125q0.734375 0.4375 1.59375 0.4375q1.03125 0 1.75 -0.59375q0.71875 -0.609375 0.96875 -1.78125zm5.359558 3.265625l0 -8.203125l-3.0625 0l0 -1.109375l7.375 0l0 1.109375l-3.078125 0l0 8.203125l-1.234375 0z" fill-rule="nonzero"></path><path fill="#000000" d="m625.6539 555.8489l0 -9.3125l3.484375 0q1.078125 0 1.71875 0.296875q0.640625 0.28125 1.0 0.875q0.375 0.578125 0.375 1.21875q0 0.59375 -0.328125 1.125q-0.328125 0.515625 -0.96875 0.84375q0.84375 0.25 1.296875 0.84375q0.453125 0.59375 0.453125 1.40625q0 0.65625 -0.28125 1.21875q-0.28125 0.5625 -0.6875 0.875q-0.40625 0.296875 -1.015625 0.453125q-0.609375 0.15625 -1.5 0.15625l-3.546875 0zm1.234375 -5.390625l2.015625 0q0.8125 0 1.171875 -0.109375q0.46875 -0.140625 0.703125 -0.46875q0.234375 -0.328125 0.234375 -0.8125q0 -0.46875 -0.21875 -0.8125q-0.21875 -0.359375 -0.640625 -0.484375q-0.40625 -0.125 -1.40625 -0.125l-1.859375 0l0 2.8125zm0 4.296875l2.3125 0q0.59375 0 0.84375 -0.046875q0.421875 -0.078125 0.703125 -0.25q0.28125 -0.1875 0.46875 -0.515625q0.1875 -0.34375 0.1875 -0.796875q0 -0.515625 -0.265625 -0.890625q-0.265625 -0.390625 -0.75 -0.546875q-0.46875 -0.15625 -1.359375 -0.15625l-2.140625 0l0 3.203125zm7.1397705 -2.28125q0 -1.875 1.03125 -2.765625q0.875 -0.75 2.125 -0.75q1.390625 0 2.265625 0.90625q0.890625 0.90625 0.890625 2.515625q0 1.296875 -0.390625 2.046875q-0.390625 0.75 -1.140625 1.171875q-0.75 0.40625 -1.625 0.40625q-1.421875 0 -2.296875 -0.90625q-0.859375 -0.90625 -0.859375 -2.625zm1.171875 0q0 1.296875 0.5625 1.953125q0.5625 0.640625 1.421875 0.640625q0.84375 0 1.40625 -0.640625q0.578125 -0.65625 0.578125 -1.984375q0 -1.25 -0.578125 -1.890625q-0.5625 -0.65625 -1.40625 -0.65625q-0.859375 0 -1.421875 0.640625q-0.5625 0.640625 -0.5625 1.9375zm9.162476 2.359375l0.15625 1.0q-0.484375 0.109375 -0.859375 0.109375q-0.625 0 -0.96875 -0.203125q-0.34375 -0.203125 -0.484375 -0.515625q-0.140625 -0.328125 -0.140625 -1.34375l0 -3.890625l-0.828125 0l0 -0.875l0.828125 0l0 -1.671875l1.140625 -0.6875l0 2.359375l1.15625 0l0 0.875l-1.15625 0l0 3.953125q0 0.484375 0.0625 0.625q0.0625 0.140625 0.1875 0.21875q0.140625 0.078125 0.390625 0.078125q0.203125 0 0.515625 -0.03125z" fill-rule="nonzero"></path><path fill="#cfe2f3" d="m689.9644 518.0489l57.905518 0l0 52.299194l-57.905518 0z" fill-rule="nonzero"></path><path fill="#a5b4c2" d="m747.86993 518.0489l17.433044 -17.433075l0 52.299225l-17.433044 17.433044z" fill-rule="nonzero"></path><path fill="#d8e7f5" d="m689.9644 518.0489l17.433044 -17.433075l57.905518 0l-17.433044 17.433075z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m689.9644 518.0489l17.433044 -17.433075l57.905518 0l0 52.299225l-17.433044 17.433044l-57.905518 0zm0 0l57.905518 0l17.433044 -17.433075m-17.433044 17.433075l0 52.299194" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m689.9644 518.0489l17.433044 -17.433075l57.905518 0l0 52.299225l-17.433044 17.433044l-57.905518 0zm0 0l57.905518 0l17.433044 -17.433075m-17.433044 17.433075l0 52.299194" fill-rule="nonzero"></path><path fill="#000000" d="m717.67456 536.58325l1.234375 0.3125q-0.390625 1.515625 -1.40625 2.3125q-1.0 0.796875 -2.453125 0.796875q-1.5 0 -2.453125 -0.609375q-0.9375 -0.609375 -1.4375 -1.765625q-0.484375 -1.171875 -0.484375 -2.5q0 -1.453125 0.5625 -2.53125q0.5625 -1.09375 1.578125 -1.65625q1.03125 -0.5625 2.265625 -0.5625q1.390625 0 2.34375 0.71875q0.953125 0.703125 1.328125 2.0l-1.21875 0.28125q-0.328125 -1.015625 -0.9375 -1.46875q-0.609375 -0.46875 -1.546875 -0.46875q-1.078125 0 -1.796875 0.515625q-0.71875 0.515625 -1.015625 1.375q-0.28125 0.859375 -0.28125 1.78125q0 1.1875 0.34375 2.078125q0.34375 0.890625 1.0625 1.328125q0.734375 0.4375 1.59375 0.4375q1.03125 0 1.75 -0.59375q0.71875 -0.609375 0.96875 -1.78125zm5.359497 3.265625l0 -8.203125l-3.0625 0l0 -1.109375l7.375 0l0 1.109375l-3.078125 0l0 8.203125l-1.234375 0z" fill-rule="nonzero"></path><path fill="#000000" d="m709.8677 555.8489l0 -9.3125l3.484375 0q1.078125 0 1.71875 0.296875q0.640625 0.28125 1.0 0.875q0.375 0.578125 0.375 1.21875q0 0.59375 -0.328125 1.125q-0.328125 0.515625 -0.96875 0.84375q0.84375 0.25 1.296875 0.84375q0.453125 0.59375 0.453125 1.40625q0 0.65625 -0.28125 1.21875q-0.28125 0.5625 -0.6875 0.875q-0.40625 0.296875 -1.015625 0.453125q-0.609375 0.15625 -1.5 0.15625l-3.546875 0zm1.234375 -5.390625l2.015625 0q0.8125 0 1.171875 -0.109375q0.46875 -0.140625 0.703125 -0.46875q0.234375 -0.328125 0.234375 -0.8125q0 -0.46875 -0.21875 -0.8125q-0.21875 -0.359375 -0.640625 -0.484375q-0.40625 -0.125 -1.40625 -0.125l-1.859375 0l0 2.8125zm0 4.296875l2.3125 0q0.59375 0 0.84375 -0.046875q0.421875 -0.078125 0.703125 -0.25q0.28125 -0.1875 0.46875 -0.515625q0.1875 -0.34375 0.1875 -0.796875q0 -0.515625 -0.265625 -0.890625q-0.265625 -0.390625 -0.75 -0.546875q-0.46875 -0.15625 -1.359375 -0.15625l-2.140625 0l0 3.203125zm7.1397705 -2.28125q0 -1.875 1.03125 -2.765625q0.875 -0.75 2.125 -0.75q1.390625 0 2.265625 0.90625q0.890625 0.90625 0.890625 2.515625q0 1.296875 -0.390625 2.046875q-0.390625 0.75 -1.140625 1.171875q-0.75 0.40625 -1.625 0.40625q-1.421875 0 -2.296875 -0.90625q-0.859375 -0.90625 -0.859375 -2.625zm1.171875 0q0 1.296875 0.5625 1.953125q0.5625 0.640625 1.421875 0.640625q0.84375 0 1.40625 -0.640625q0.578125 -0.65625 0.578125 -1.984375q0 -1.25 -0.578125 -1.890625q-0.5625 -0.65625 -1.40625 -0.65625q-0.859375 0 -1.421875 0.640625q-0.5625 0.640625 -0.5625 1.9375zm9.162476 2.359375l0.15625 1.0q-0.484375 0.109375 -0.859375 0.109375q-0.625 0 -0.96875 -0.203125q-0.34375 -0.203125 -0.484375 -0.515625q-0.140625 -0.328125 -0.140625 -1.34375l0 -3.890625l-0.828125 0l0 -0.875l0.828125 0l0 -1.671875l1.140625 -0.6875l0 2.359375l1.15625 0l0 0.875l-1.15625 0l0 3.953125q0 0.484375 0.0625 0.625q0.0625 0.140625 0.1875 0.21875q0.140625 0.078125 0.390625 0.078125q0.203125 0 0.515625 -0.03125z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m765.3343 509.33316l45.921265 0l0 40.661407l-45.921265 0z" fill-rule="nonzero"></path><path fill="#000000" d="m778.06866 549.05316l0 -3.203125l3.203125 0l0 3.203125l-3.203125 0zm10.671875 0l0 -3.203125l3.203125 0l0 3.203125l-3.203125 0zm10.65625 0l0 -3.203125l3.21875 0l0 3.203125l-3.21875 0z" fill-rule="nonzero"></path><path fill="#cfe2f3" d="m805.9162 518.0489l57.905518 0l0 52.299194l-57.905518 0z" fill-rule="nonzero"></path><path fill="#a5b4c2" d="m863.8217 518.0489l17.433044 -17.433075l0 52.299225l-17.433044 17.433044z" fill-rule="nonzero"></path><path fill="#d8e7f5" d="m805.9162 518.0489l17.433044 -17.433075l57.905518 0l-17.433044 17.433075z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m805.9162 518.0489l17.433044 -17.433075l57.905518 0l0 52.299225l-17.433044 17.433044l-57.905518 0zm0 0l57.905518 0l17.433044 -17.433075m-17.433044 17.433075l0 52.299194" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m805.9162 518.0489l17.433044 -17.433075l57.905518 0l0 52.299225l-17.433044 17.433044l-57.905518 0zm0 0l57.905518 0l17.433044 -17.433075m-17.433044 17.433075l0 52.299194" fill-rule="nonzero"></path><path fill="#000000" d="m833.62634 536.58325l1.234375 0.3125q-0.390625 1.515625 -1.40625 2.3125q-1.0 0.796875 -2.453125 0.796875q-1.5 0 -2.453125 -0.609375q-0.9375 -0.609375 -1.4375 -1.765625q-0.484375 -1.171875 -0.484375 -2.5q0 -1.453125 0.5625 -2.53125q0.5625 -1.09375 1.578125 -1.65625q1.03125 -0.5625 2.265625 -0.5625q1.390625 0 2.34375 0.71875q0.953125 0.703125 1.328125 2.0l-1.21875 0.28125q-0.328125 -1.015625 -0.9375 -1.46875q-0.609375 -0.46875 -1.546875 -0.46875q-1.078125 0 -1.796875 0.515625q-0.71875 0.515625 -1.015625 1.375q-0.28125 0.859375 -0.28125 1.78125q0 1.1875 0.34375 2.078125q0.34375 0.890625 1.0625 1.328125q0.734375 0.4375 1.59375 0.4375q1.03125 0 1.75 -0.59375q0.71875 -0.609375 0.96875 -1.78125zm5.359497 3.265625l0 -8.203125l-3.0625 0l0 -1.109375l7.375 0l0 1.109375l-3.078125 0l0 8.203125l-1.234375 0z" fill-rule="nonzero"></path><path fill="#000000" d="m825.81946 555.8489l0 -9.3125l3.484375 0q1.078125 0 1.71875 0.296875q0.640625 0.28125 1.0 0.875q0.375 0.578125 0.375 1.21875q0 0.59375 -0.328125 1.125q-0.328125 0.515625 -0.96875 0.84375q0.84375 0.25 1.296875 0.84375q0.453125 0.59375 0.453125 1.40625q0 0.65625 -0.28125 1.21875q-0.28125 0.5625 -0.6875 0.875q-0.40625 0.296875 -1.015625 0.453125q-0.609375 0.15625 -1.5 0.15625l-3.546875 0zm1.234375 -5.390625l2.015625 0q0.8125 0 1.171875 -0.109375q0.46875 -0.140625 0.703125 -0.46875q0.234375 -0.328125 0.234375 -0.8125q0 -0.46875 -0.21875 -0.8125q-0.21875 -0.359375 -0.640625 -0.484375q-0.40625 -0.125 -1.40625 -0.125l-1.859375 0l0 2.8125zm0 4.296875l2.3125 0q0.59375 0 0.84375 -0.046875q0.421875 -0.078125 0.703125 -0.25q0.28125 -0.1875 0.46875 -0.515625q0.1875 -0.34375 0.1875 -0.796875q0 -0.515625 -0.265625 -0.890625q-0.265625 -0.390625 -0.75 -0.546875q-0.46875 -0.15625 -1.359375 -0.15625l-2.140625 0l0 3.203125zm7.1397705 -2.28125q0 -1.875 1.03125 -2.765625q0.875 -0.75 2.125 -0.75q1.390625 0 2.265625 0.90625q0.890625 0.90625 0.890625 2.515625q0 1.296875 -0.390625 2.046875q-0.390625 0.75 -1.140625 1.171875q-0.75 0.40625 -1.625 0.40625q-1.421875 0 -2.296875 -0.90625q-0.859375 -0.90625 -0.859375 -2.625zm1.171875 0q0 1.296875 0.5625 1.953125q0.5625 0.640625 1.421875 0.640625q0.84375 0 1.40625 -0.640625q0.578125 -0.65625 0.578125 -1.984375q0 -1.25 -0.578125 -1.890625q-0.5625 -0.65625 -1.40625 -0.65625q-0.859375 0 -1.421875 0.640625q-0.5625 0.640625 -0.5625 1.9375zm9.162476 2.359375l0.15625 1.0q-0.484375 0.109375 -0.859375 0.109375q-0.625 0 -0.96875 -0.203125q-0.34375 -0.203125 -0.484375 -0.515625q-0.140625 -0.328125 -0.140625 -1.34375l0 -3.890625l-0.828125 0l0 -0.875l0.828125 0l0 -1.671875l1.140625 -0.6875l0 2.359375l1.15625 0l0 0.875l-1.15625 0l0 3.953125q0 0.484375 0.0625 0.625q0.0625 0.140625 0.1875 0.21875q0.140625 0.078125 0.390625 0.078125q0.203125 0 0.515625 -0.03125z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m616.3502 575.53314l159.77948 0l0 34.86615l-159.77948 0z" fill-rule="nonzero"></path><path fill="#000000" d="m631.8971 596.23944l0 1.09375l-6.15625 0q-0.015625 -0.40625 0.140625 -0.796875q0.234375 -0.625 0.75 -1.234375q0.515625 -0.609375 1.5 -1.40625q1.515625 -1.25 2.046875 -1.96875q0.53125 -0.734375 0.53125 -1.375q0 -0.6875 -0.484375 -1.140625q-0.484375 -0.46875 -1.265625 -0.46875q-0.828125 0 -1.328125 0.5q-0.484375 0.484375 -0.5 1.359375l-1.171875 -0.125q0.125 -1.3125 0.90625 -2.0q0.78125 -0.6875 2.109375 -0.6875q1.34375 0 2.125 0.75q0.78125 0.734375 0.78125 1.828125q0 0.5625 -0.234375 1.109375q-0.21875 0.53125 -0.75 1.140625q-0.53125 0.59375 -1.765625 1.625q-1.03125 0.859375 -1.328125 1.171875q-0.28125 0.3125 -0.46875 0.625l4.5625 0zm1.4124756 -3.5q0 -1.640625 0.328125 -2.640625q0.34375 -1.015625 1.015625 -1.5625q0.671875 -0.546875 1.6875 -0.546875q0.75 0 1.3125 0.3125q0.5625 0.296875 0.921875 0.859375q0.375 0.5625 0.578125 1.390625q0.21875 0.8125 0.21875 2.1875q0 1.640625 -0.34375 2.65625q-0.328125 1.0 -1.0 1.546875q-0.671875 0.546875 -1.6875 0.546875q-1.34375 0 -2.125 -0.96875q-0.90625 -1.15625 -0.90625 -3.78125zm1.171875 0q0 2.296875 0.53125 3.0625q0.53125 0.75 1.328125 0.75q0.78125 0 1.3125 -0.75q0.546875 -0.765625 0.546875 -3.0625q0 -2.296875 -0.546875 -3.046875q-0.53125 -0.75 -1.328125 -0.75q-0.78125 0 -1.265625 0.65625q-0.578125 0.859375 -0.578125 3.140625zm6.2406006 0q0 -1.640625 0.328125 -2.640625q0.34375 -1.015625 1.015625 -1.5625q0.671875 -0.546875 1.6875 -0.546875q0.75 0 1.3125 0.3125q0.5625 0.296875 0.921875 0.859375q0.375 0.5625 0.578125 1.390625q0.21875 0.8125 0.21875 2.1875q0 1.640625 -0.34375 2.65625q-0.328125 1.0 -1.0 1.546875q-0.671875 0.546875 -1.6875 0.546875q-1.34375 0 -2.125 -0.96875q-0.90625 -1.15625 -0.90625 -3.78125zm1.171875 0q0 2.296875 0.53125 3.0625q0.53125 0.75 1.328125 0.75q0.78125 0 1.3125 -0.75q0.546875 -0.765625 0.546875 -3.0625q0 -2.296875 -0.546875 -3.046875q-0.53125 -0.75 -1.328125 -0.75q-0.78125 0 -1.265625 0.65625q-0.578125 0.859375 -0.578125 3.140625zm8.943726 3.09375l0 -2.5625l-2.53125 0l0 -1.0625l2.53125 0l0 -2.53125l1.078125 0l0 2.53125l2.546875 0l0 1.0625l-2.546875 0l0 2.5625l-1.078125 0zm14.783264 0.40625l0 1.09375l-6.15625 0q-0.015625 -0.40625 0.140625 -0.796875q0.234375 -0.625 0.75 -1.234375q0.515625 -0.609375 1.5 -1.40625q1.515625 -1.25 2.046875 -1.96875q0.53125 -0.734375 0.53125 -1.375q0 -0.6875 -0.484375 -1.140625q-0.484375 -0.46875 -1.265625 -0.46875q-0.828125 0 -1.328125 0.5q-0.484375 0.484375 -0.5 1.359375l-1.171875 -0.125q0.125 -1.3125 0.90625 -2.0q0.78125 -0.6875 2.109375 -0.6875q1.34375 0 2.125 0.75q0.78125 0.734375 0.78125 1.828125q0 0.5625 -0.234375 1.109375q-0.21875 0.53125 -0.75 1.140625q-0.53125 0.59375 -1.765625 1.625q-1.03125 0.859375 -1.328125 1.171875q-0.28125 0.3125 -0.46875 0.625l4.5625 0zm6.1156006 -1.375l1.125 0.140625q-0.171875 1.171875 -0.9375 1.828125q-0.765625 0.65625 -1.859375 0.65625q-1.390625 0 -2.234375 -0.90625q-0.828125 -0.90625 -0.828125 -2.59375q0 -1.09375 0.359375 -1.90625q0.359375 -0.828125 1.09375 -1.234375q0.734375 -0.40625 1.609375 -0.40625q1.09375 0 1.796875 0.5625q0.703125 0.546875 0.890625 1.5625l-1.109375 0.171875q-0.15625 -0.671875 -0.5625 -1.015625q-0.390625 -0.34375 -0.96875 -0.34375q-0.859375 0 -1.40625 0.625q-0.53125 0.609375 -0.53125 1.953125q0 1.359375 0.515625 1.984375q0.515625 0.609375 1.359375 0.609375q0.671875 0 1.125 -0.40625q0.453125 -0.421875 0.5625 -1.28125zm1.8515625 -0.90625q0 -1.875 1.03125 -2.765625q0.875 -0.75 2.125 -0.75q1.390625 0 2.265625 0.90625q0.890625 0.90625 0.890625 2.515625q0 1.296875 -0.390625 2.046875q-0.390625 0.75 -1.140625 1.171875q-0.75 0.40625 -1.625 0.40625q-1.421875 0 -2.296875 -0.90625q-0.859375 -0.90625 -0.859375 -2.625zm1.171875 0q0 1.296875 0.5625 1.953125q0.5625 0.640625 1.421875 0.640625q0.84375 0 1.40625 -0.640625q0.578125 -0.65625 0.578125 -1.984375q0 -1.25 -0.578125 -1.890625q-0.5625 -0.65625 -1.40625 -0.65625q-0.859375 0 -1.421875 0.640625q-0.5625 0.640625 -0.5625 1.9375zm6.6468506 3.375l0 -6.734375l1.03125 0l0 1.015625q0.390625 -0.71875 0.71875 -0.9375q0.34375 -0.234375 0.734375 -0.234375q0.578125 0 1.171875 0.359375l-0.390625 1.0625q-0.421875 -0.25 -0.828125 -0.25q-0.375 0 -0.6875 0.234375q-0.296875 0.21875 -0.421875 0.625q-0.1875 0.609375 -0.1875 1.328125l0 3.53125l-1.140625 0zm9.0633545 -2.171875l1.1875 0.140625q-0.28125 1.046875 -1.046875 1.625q-0.75 0.5625 -1.921875 0.5625q-1.484375 0 -2.359375 -0.90625q-0.859375 -0.921875 -0.859375 -2.5625q0 -1.703125 0.875 -2.640625q0.890625 -0.9375 2.28125 -0.9375q1.359375 0 2.203125 0.921875q0.859375 0.921875 0.859375 2.578125q0 0.109375 0 0.3125l-5.03125 0q0.0625 1.109375 0.625 1.703125q0.5625 0.59375 1.40625 0.59375q0.640625 0 1.078125 -0.328125q0.453125 -0.34375 0.703125 -1.0625zm-3.75 -1.84375l3.765625 0q-0.078125 -0.859375 -0.4375 -1.28125q-0.546875 -0.65625 -1.40625 -0.65625q-0.796875 0 -1.328125 0.53125q-0.53125 0.515625 -0.59375 1.40625zm10.2248535 4.015625l0 -9.3125l1.140625 0l0 9.3125l-1.140625 0zm2.9923096 -7.984375l0 -1.328125l1.140625 0l0 1.328125l-1.140625 0zm0 7.984375l0 -6.734375l1.140625 0l0 6.734375l-1.140625 0zm2.9611206 0l0 -6.734375l1.03125 0l0 0.953125q0.734375 -1.109375 2.140625 -1.109375q0.609375 0 1.109375 0.21875q0.515625 0.21875 0.765625 0.578125q0.265625 0.34375 0.359375 0.84375q0.0625 0.3125 0.0625 1.109375l0 4.140625l-1.140625 0l0 -4.09375q0 -0.703125 -0.140625 -1.046875q-0.125 -0.34375 -0.46875 -0.546875q-0.328125 -0.21875 -0.78125 -0.21875q-0.734375 0 -1.265625 0.46875q-0.53125 0.453125 -0.53125 1.75l0 3.6875l-1.140625 0zm11.834351 0l0 -0.984375q-0.796875 1.140625 -2.140625 1.140625q-0.59375 0 -1.125 -0.234375q-0.515625 -0.234375 -0.765625 -0.578125q-0.25 -0.34375 -0.34375 -0.84375q-0.078125 -0.328125 -0.078125 -1.0625l0 -4.171875l1.140625 0l0 3.734375q0 0.890625 0.078125 1.203125q0.109375 0.453125 0.453125 0.71875q0.34375 0.25 0.859375 0.25q0.515625 0 0.96875 -0.265625q0.453125 -0.265625 0.640625 -0.71875q0.1875 -0.453125 0.1875 -1.3125l0 -3.609375l1.140625 0l0 6.734375l-1.015625 0zm2.2249756 0l2.46875 -3.5l-2.28125 -3.234375l1.421875 0l1.046875 1.578125q0.28125 0.453125 0.46875 0.75q0.265625 -0.421875 0.5 -0.734375l1.140625 -1.59375l1.375 0l-2.34375 3.171875l2.515625 3.5625l-1.40625 0l-1.375 -2.09375l-0.375 -0.5625l-1.765625 2.65625l-1.390625 0zm13.929565 0l-3.59375 -9.3125l1.328125 0l2.421875 6.765625q0.28125 0.8125 0.484375 1.53125q0.21875 -0.765625 0.5 -1.53125l2.515625 -6.765625l1.25 0l-3.640625 9.3125l-1.265625 0zm6.2022095 0l0 -9.3125l1.84375 0l2.203125 6.59375q0.3125 0.921875 0.453125 1.375q0.15625 -0.5 0.484375 -1.484375l2.234375 -6.484375l1.65625 0l0 9.3125l-1.1875 0l0 -7.78125l-2.703125 7.78125l-1.109375 0l-2.6875 -7.921875l0 7.921875l-1.1875 0zm10.539978 -2.015625l1.125 -0.171875q0.09375 0.671875 0.53125 1.046875q0.4375 0.359375 1.21875 0.359375q0.78125 0 1.15625 -0.3125q0.390625 -0.328125 0.390625 -0.765625q0 -0.390625 -0.34375 -0.609375q-0.234375 -0.15625 -1.171875 -0.390625q-1.25 -0.3125 -1.734375 -0.546875q-0.484375 -0.234375 -0.734375 -0.640625q-0.25 -0.40625 -0.25 -0.90625q0 -0.453125 0.203125 -0.828125q0.203125 -0.390625 0.5625 -0.640625q0.265625 -0.203125 0.71875 -0.328125q0.46875 -0.140625 1.0 -0.140625q0.78125 0 1.375 0.234375q0.609375 0.21875 0.890625 0.609375q0.296875 0.390625 0.40625 1.046875l-1.125 0.15625q-0.078125 -0.53125 -0.4375 -0.8125q-0.359375 -0.296875 -1.03125 -0.296875q-0.78125 0 -1.125 0.265625q-0.34375 0.25 -0.34375 0.609375q0 0.21875 0.140625 0.390625q0.140625 0.1875 0.4375 0.3125q0.171875 0.0625 1.015625 0.28125q1.21875 0.328125 1.6875 0.53125q0.484375 0.203125 0.75 0.609375q0.28125 0.390625 0.28125 0.96875q0 0.578125 -0.34375 1.078125q-0.328125 0.5 -0.953125 0.78125q-0.625 0.28125 -1.421875 0.28125q-1.3125 0 -2.0 -0.546875q-0.6875 -0.546875 -0.875 -1.625z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m697.29926 448.31235l-129.38586 52.31494" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m697.2992 448.31235l-118.2608 47.816742" fill-rule="evenodd"></path><path fill="#000000" stroke="#000000" stroke-width="2.0" stroke-linecap="butt" d="m577.8001 493.0665l-7.1760864 6.464813l9.65271 -0.33963013z" fill-rule="evenodd"></path><path fill="#000000" fill-opacity="0.0" d="m697.29926 448.31235l-45.165405 52.31494" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m697.2992 448.31235l-37.323486 43.23175" fill-rule="evenodd"></path><path fill="#000000" stroke="#000000" stroke-width="2.0" stroke-linecap="butt" d="m657.4752 489.38528l-3.430664 9.02887l8.431702 -4.7113037z" fill-rule="evenodd"></path><path fill="#000000" fill-opacity="0.0" d="m697.29926 448.31235l39.055115 52.31494" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m697.2992 448.31235l31.876465 42.699005" fill-rule="evenodd"></path><path fill="#000000" stroke="#000000" stroke-width="2.0" stroke-linecap="butt" d="m726.5285 492.98755l8.076721 5.296814l-2.7824097 -9.249237z" fill-rule="evenodd"></path><path fill="#000000" fill-opacity="0.0" d="m697.29926 448.31235l154.99213 52.31494" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m697.2992 448.31235l143.62231 48.477264" fill-rule="evenodd"></path><path fill="#000000" stroke="#000000" stroke-width="2.0" stroke-linecap="butt" d="m839.86505 499.9196l9.656006 -0.22735596l-7.54303 -6.032593z" fill-rule="evenodd"></path><path fill="#000000" fill-opacity="0.0" d="m315.98163 353.16797l97.25983 0l0 53.19687l-97.25983 0z" fill-rule="nonzero"></path><path fill="#000000" d="m325.966 376.5664l0 -9.3125l1.265625 0l4.890625 7.3125l0 -7.3125l1.1875 0l0 9.3125l-1.265625 0l-4.890625 -7.3125l0 7.3125l-1.1875 0zm9.078278 -3.375q0 -1.875 1.03125 -2.765625q0.875 -0.75 2.125 -0.75q1.390625 0 2.265625 0.90625q0.890625 0.90625 0.890625 2.515625q0 1.296875 -0.390625 2.046875q-0.390625 0.75 -1.140625 1.171875q-0.75 0.40625 -1.625 0.40625q-1.421875 0 -2.296875 -0.90625q-0.859375 -0.90625 -0.859375 -2.625zm1.171875 0q0 1.296875 0.5625 1.953125q0.5625 0.640625 1.421875 0.640625q0.84375 0 1.40625 -0.640625q0.578125 -0.65625 0.578125 -1.984375q0 -1.25 -0.578125 -1.890625q-0.5625 -0.65625 -1.40625 -0.65625q-0.859375 0 -1.421875 0.640625q-0.5625 0.640625 -0.5625 1.9375zm6.6624756 3.375l0 -6.734375l1.03125 0l0 0.953125q0.734375 -1.109375 2.140625 -1.109375q0.609375 0 1.109375 0.21875q0.515625 0.21875 0.765625 0.578125q0.265625 0.34375 0.359375 0.84375q0.0625 0.3125 0.0625 1.109375l0 4.140625l-1.140625 0l0 -4.09375q0 -0.703125 -0.140625 -1.046875q-0.125 -0.34375 -0.46875 -0.546875q-0.328125 -0.21875 -0.78125 -0.21875q-0.734375 0 -1.265625 0.46875q-0.53125 0.453125 -0.53125 1.75l0 3.6875l-1.140625 0zm11.256073 0l0 -9.3125l3.515625 0q0.921875 0 1.40625 0.09375q0.6875 0.109375 1.15625 0.4375q0.46875 0.3125 0.75 0.890625q0.28125 0.578125 0.28125 1.28125q0 1.1875 -0.765625 2.015625q-0.75 0.8125 -2.71875 0.8125l-2.390625 0l0 3.78125l-1.234375 0zm1.234375 -4.875l2.40625 0q1.1875 0 1.6875 -0.4375q0.515625 -0.453125 0.515625 -1.265625q0 -0.578125 -0.296875 -0.984375q-0.296875 -0.421875 -0.78125 -0.5625q-0.3125 -0.078125 -1.15625 -0.078125l-2.375 0l0 3.328125zm12.1241455 2.703125l1.1875 0.140625q-0.28125 1.046875 -1.046875 1.625q-0.75 0.5625 -1.921875 0.5625q-1.484375 0 -2.359375 -0.90625q-0.859375 -0.921875 -0.859375 -2.5625q0 -1.703125 0.875 -2.640625q0.890625 -0.9375 2.28125 -0.9375q1.359375 0 2.203125 0.921875q0.859375 0.921875 0.859375 2.578125q0 0.109375 0 0.3125l-5.03125 0q0.0625 1.109375 0.625 1.703125q0.5625 0.59375 1.40625 0.59375q0.640625 0 1.078125 -0.328125q0.453125 -0.34375 0.703125 -1.0625zm-3.75 -1.84375l3.765625 0q-0.078125 -0.859375 -0.4375 -1.28125q-0.546875 -0.65625 -1.40625 -0.65625q-0.796875 0 -1.328125 0.53125q-0.53125 0.515625 -0.59375 1.40625zm6.5374756 4.015625l0 -6.734375l1.03125 0l0 1.015625q0.390625 -0.71875 0.71875 -0.9375q0.34375 -0.234375 0.734375 -0.234375q0.578125 0 1.171875 0.359375l-0.390625 1.0625q-0.421875 -0.25 -0.828125 -0.25q-0.375 0 -0.6875 0.234375q-0.296875 0.21875 -0.421875 0.625q-0.1875 0.609375 -0.1875 1.328125l0 3.53125l-1.140625 0zm4.7196045 0l0 -5.859375l-1.0 0l0 -0.875l1.0 0l0 -0.71875q0 -0.6875 0.125 -1.015625q0.171875 -0.4375 0.578125 -0.71875q0.421875 -0.28125 1.171875 -0.28125q0.484375 0 1.0625 0.125l-0.171875 0.984375q-0.359375 -0.0625 -0.671875 -0.0625q-0.515625 0 -0.734375 0.234375q-0.21875 0.21875 -0.21875 0.828125l0 0.625l1.3125 0l0 0.875l-1.3125 0l0 5.859375l-1.140625 0z" fill-rule="nonzero"></path><path fill="#000000" d="m339.44995 391.55078l0.15625 1.0q-0.484375 0.109375 -0.859375 0.109375q-0.625 0 -0.96875 -0.203125q-0.34375 -0.203125 -0.484375 -0.515625q-0.140625 -0.328125 -0.140625 -1.34375l0 -3.890625l-0.828125 0l0 -0.875l0.828125 0l0 -1.671875l1.140625 -0.6875l0 2.359375l1.15625 0l0 0.875l-1.15625 0l0 3.953125q0 0.484375 0.0625 0.625q0.0625 0.140625 0.1875 0.21875q0.140625 0.078125 0.390625 0.078125q0.203125 0 0.515625 -0.03125zm5.593628 0.1875q-0.625 0.53125 -1.21875 0.765625q-0.578125 0.21875 -1.25 0.21875q-1.125 0 -1.71875 -0.546875q-0.59375 -0.546875 -0.59375 -1.390625q0 -0.484375 0.21875 -0.890625q0.234375 -0.421875 0.59375 -0.671875q0.375 -0.25 0.828125 -0.375q0.328125 -0.078125 1.015625 -0.171875q1.375 -0.15625 2.03125 -0.390625q0.015625 -0.234375 0.015625 -0.296875q0 -0.703125 -0.328125 -0.984375q-0.4375 -0.390625 -1.296875 -0.390625q-0.8125 0 -1.203125 0.28125q-0.375 0.28125 -0.5625 1.0l-1.109375 -0.140625q0.140625 -0.71875 0.484375 -1.15625q0.359375 -0.453125 1.015625 -0.6875q0.671875 -0.234375 1.53125 -0.234375q0.875 0 1.40625 0.203125q0.546875 0.203125 0.796875 0.515625q0.25 0.296875 0.359375 0.765625q0.046875 0.296875 0.046875 1.0625l0 1.515625q0 1.59375 0.078125 2.015625q0.078125 0.421875 0.28125 0.8125l-1.1875 0q-0.171875 -0.359375 -0.234375 -0.828125zm-0.09375 -2.5625q-0.625 0.265625 -1.859375 0.4375q-0.703125 0.109375 -1.0 0.234375q-0.296875 0.125 -0.453125 0.375q-0.15625 0.234375 -0.15625 0.53125q0 0.453125 0.34375 0.765625q0.34375 0.296875 1.015625 0.296875q0.65625 0 1.171875 -0.28125q0.515625 -0.296875 0.765625 -0.796875q0.171875 -0.375 0.171875 -1.140625l0 -0.421875zm2.6624756 1.375l1.125 -0.171875q0.09375 0.671875 0.53125 1.046875q0.4375 0.359375 1.21875 0.359375q0.78125 0 1.15625 -0.3125q0.390625 -0.328125 0.390625 -0.765625q0 -0.390625 -0.34375 -0.609375q-0.234375 -0.15625 -1.171875 -0.390625q-1.25 -0.3125 -1.734375 -0.546875q-0.484375 -0.234375 -0.734375 -0.640625q-0.25 -0.40625 -0.25 -0.90625q0 -0.453125 0.203125 -0.828125q0.203125 -0.390625 0.5625 -0.640625q0.265625 -0.203125 0.71875 -0.328125q0.46875 -0.140625 1.0 -0.140625q0.78125 0 1.375 0.234375q0.609375 0.21875 0.890625 0.609375q0.296875 0.390625 0.40625 1.046875l-1.125 0.15625q-0.078125 -0.53125 -0.4375 -0.8125q-0.359375 -0.296875 -1.03125 -0.296875q-0.78125 0 -1.125 0.265625q-0.34375 0.25 -0.34375 0.609375q0 0.21875 0.140625 0.390625q0.140625 0.1875 0.4375 0.3125q0.171875 0.0625 1.015625 0.28125q1.21875 0.328125 1.6875 0.53125q0.484375 0.203125 0.75 0.609375q0.28125 0.390625 0.28125 0.96875q0 0.578125 -0.34375 1.078125q-0.328125 0.5 -0.953125 0.78125q-0.625 0.28125 -1.421875 0.28125q-1.3125 0 -2.0 -0.546875q-0.6875 -0.546875 -0.875 -1.625zm7.1171875 2.015625l0 -9.3125l1.140625 0l0 5.3125l2.703125 -2.734375l1.484375 0l-2.578125 2.5l2.84375 4.234375l-1.40625 0l-2.234375 -3.453125l-0.8125 0.78125l0 2.671875l-1.140625 0zm6.2109375 -2.015625l1.125 -0.171875q0.09375 0.671875 0.53125 1.046875q0.4375 0.359375 1.21875 0.359375q0.78125 0 1.15625 -0.3125q0.390625 -0.328125 0.390625 -0.765625q0 -0.390625 -0.34375 -0.609375q-0.234375 -0.15625 -1.171875 -0.390625q-1.25 -0.3125 -1.734375 -0.546875q-0.484375 -0.234375 -0.734375 -0.640625q-0.25 -0.40625 -0.25 -0.90625q0 -0.453125 0.203125 -0.828125q0.203125 -0.390625 0.5625 -0.640625q0.265625 -0.203125 0.71875 -0.328125q0.46875 -0.140625 1.0 -0.140625q0.78125 0 1.375 0.234375q0.609375 0.21875 0.890625 0.609375q0.296875 0.390625 0.40625 1.046875l-1.125 0.15625q-0.078125 -0.53125 -0.4375 -0.8125q-0.359375 -0.296875 -1.03125 -0.296875q-0.78125 0 -1.125 0.265625q-0.34375 0.25 -0.34375 0.609375q0 0.21875 0.140625 0.390625q0.140625 0.1875 0.4375 0.3125q0.171875 0.0625 1.015625 0.28125q1.21875 0.328125 1.6875 0.53125q0.484375 0.203125 0.75 0.609375q0.28125 0.390625 0.28125 0.96875q0 0.578125 -0.34375 1.078125q-0.328125 0.5 -0.953125 0.78125q-0.625 0.28125 -1.421875 0.28125q-1.3125 0 -2.0 -0.546875q-0.6875 -0.546875 -0.875 -1.625z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m764.1947 448.68927l-117.51184 -76.031494" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m764.19464 448.68927l-107.43671 -69.51279" fill-rule="evenodd"></path><path fill="#000000" stroke="#000000" stroke-width="2.0" stroke-linecap="butt" d="m658.5524 376.4029l-9.414795 -2.1568604l5.8257446 7.7039795z" fill-rule="evenodd"></path><path fill="#cfe2f3" d="m4.8923883 235.822l0 0c0 -13.342072 10.815888 -24.157959 24.157963 -24.157959l96.62895 0l0 0c6.407089 0 12.551758 2.5451965 17.08226 7.075699c4.5305023 4.5305023 7.075699 10.675171 7.075699 17.08226l0 175.21162c0 13.342072 -10.815887 24.157959 -24.157959 24.157959l-96.62895 0c-13.342075 0 -24.157963 -10.815887 -24.157963 -24.157959z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m4.8923883 235.822l0 0c0 -13.342072 10.815888 -24.157959 24.157963 -24.157959l96.62895 0l0 0c6.407089 0 12.551758 2.5451965 17.08226 7.075699c4.5305023 4.5305023 7.075699 10.675171 7.075699 17.08226l0 175.21162c0 13.342072 -10.815887 24.157959 -24.157959 24.157959l-96.62895 0c-13.342075 0 -24.157963 -10.815887 -24.157963 -24.157959z" fill-rule="nonzero"></path><path fill="#000000" d="m26.327389 236.88342l0 -1.078125l3.9375 -0.015625l0 3.453125q-0.90625 0.71875 -1.875 1.09375q-0.953125 0.359375 -1.96875 0.359375q-1.375 0 -2.5 -0.578125q-1.125 -0.59375 -1.703125 -1.703125q-0.5625 -1.109375 -0.5625 -2.484375q0 -1.359375 0.5625 -2.53125q0.578125 -1.1875 1.640625 -1.75q1.078125 -0.578125 2.453125 -0.578125q1.015625 0 1.828125 0.328125q0.8125 0.328125 1.28125 0.921875q0.46875 0.578125 0.703125 1.515625l-1.109375 0.296875q-0.203125 -0.703125 -0.515625 -1.109375q-0.3125 -0.40625 -0.890625 -0.640625q-0.578125 -0.25 -1.28125 -0.25q-0.84375 0 -1.46875 0.265625q-0.609375 0.25 -0.984375 0.671875q-0.375 0.40625 -0.59375 0.90625q-0.34375 0.875 -0.34375 1.875q0 1.25 0.421875 2.09375q0.421875 0.828125 1.234375 1.234375q0.828125 0.40625 1.75 0.40625q0.796875 0 1.5625 -0.296875q0.765625 -0.3125 1.15625 -0.671875l0 -1.734375l-2.734375 0zm12.6483 0.390625l1.234375 0.3125q-0.390625 1.515625 -1.40625 2.3125q-1.0 0.796875 -2.453125 0.796875q-1.5 0 -2.453125 -0.609375q-0.9375 -0.609375 -1.4375 -1.765625q-0.484375 -1.171875 -0.484375 -2.5q0 -1.453125 0.5625 -2.53125q0.5625 -1.09375 1.578125 -1.65625q1.03125 -0.5625 2.265625 -0.5625q1.390625 0 2.34375 0.71875q0.953125 0.703125 1.328125 2.0l-1.21875 0.28125q-0.328125 -1.015625 -0.9375 -1.46875q-0.609375 -0.46875 -1.546875 -0.46875q-1.078125 0 -1.796875 0.515625q-0.71875 0.515625 -1.015625 1.375q-0.28125 0.859375 -0.28125 1.78125q0 1.1875 0.34375 2.078125q0.34375 0.890625 1.0625 1.328125q0.734375 0.4375 1.59375 0.4375q1.03125 0 1.75 -0.59375q0.71875 -0.609375 0.96875 -1.78125zm3.0157776 3.265625l0 -9.3125l6.71875 0l0 1.109375l-5.484375 0l0 2.84375l5.140625 0l0 1.09375l-5.140625 0l0 3.171875l5.703125 0l0 1.09375l-6.9375 0z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m12.902574 389.92126l166.83464 0l0 41.13385l-166.83464 0z" fill-rule="nonzero"></path><path fill="#000000" d="m22.449448 412.85068l1.1875 -0.109375q0.140625 0.890625 0.625 1.328125q0.484375 0.4375 1.171875 0.4375q0.828125 0 1.390625 -0.625q0.578125 -0.625 0.578125 -1.640625q0 -0.984375 -0.546875 -1.546875q-0.546875 -0.5625 -1.4375 -0.5625q-0.5625 0 -1.015625 0.25q-0.4375 0.25 -0.6875 0.640625l-1.0625 -0.140625l0.890625 -4.765625l4.625 0l0 1.078125l-3.703125 0l-0.5 2.5q0.828125 -0.578125 1.75 -0.578125q1.21875 0 2.046875 0.84375q0.84375 0.84375 0.84375 2.171875q0 1.265625 -0.734375 2.1875q-0.890625 1.125 -2.4375 1.125q-1.265625 0 -2.078125 -0.703125q-0.796875 -0.71875 -0.90625 -1.890625zm11.115463 -0.015625l1.140625 -0.15625q0.203125 0.96875 0.671875 1.40625q0.46875 0.421875 1.15625 0.421875q0.796875 0 1.34375 -0.546875q0.5625 -0.5625 0.5625 -1.390625q0 -0.796875 -0.515625 -1.296875q-0.5 -0.515625 -1.296875 -0.515625q-0.328125 0 -0.8125 0.125l0.125 -1.0q0.125 0.015625 0.1875 0.015625q0.734375 0 1.3125 -0.375q0.59375 -0.390625 0.59375 -1.1875q0 -0.625 -0.4375 -1.03125q-0.421875 -0.421875 -1.09375 -0.421875q-0.671875 0 -1.109375 0.421875q-0.4375 0.421875 -0.578125 1.25l-1.140625 -0.203125q0.21875 -1.140625 0.953125 -1.765625q0.75 -0.640625 1.84375 -0.640625q0.765625 0 1.40625 0.328125q0.640625 0.328125 0.984375 0.890625q0.34375 0.5625 0.34375 1.203125q0 0.59375 -0.328125 1.09375q-0.328125 0.5 -0.953125 0.78125q0.8125 0.203125 1.265625 0.796875q0.46875 0.59375 0.46875 1.5q0 1.21875 -0.890625 2.078125q-0.890625 0.84375 -2.25 0.84375q-1.21875 0 -2.03125 -0.734375q-0.8125 -0.734375 -0.921875 -1.890625zm13.412476 1.359375l0 1.09375l-6.15625 0q-0.015625 -0.40625 0.140625 -0.796875q0.234375 -0.625 0.75 -1.234375q0.515625 -0.609375 1.5 -1.40625q1.515625 -1.25 2.046875 -1.96875q0.53125 -0.734375 0.53125 -1.375q0 -0.6875 -0.484375 -1.140625q-0.484375 -0.46875 -1.265625 -0.46875q-0.828125 0 -1.328125 0.5q-0.484375 0.484375 -0.5 1.359375l-1.171875 -0.125q0.125 -1.3125 0.90625 -2.0q0.78125 -0.6875 2.109375 -0.6875q1.34375 0 2.125 0.75q0.78125 0.734375 0.78125 1.828125q0 0.5625 -0.234375 1.109375q-0.21875 0.53125 -0.75 1.140625q-0.53125 0.59375 -1.765625 1.625q-1.03125 0.859375 -1.328125 1.171875q-0.28125 0.3125 -0.46875 0.625l4.5625 0zm6.1156006 -1.375l1.125 0.140625q-0.171875 1.171875 -0.9375 1.828125q-0.765625 0.65625 -1.859375 0.65625q-1.390625 0 -2.234375 -0.90625q-0.828125 -0.90625 -0.828125 -2.59375q0 -1.09375 0.359375 -1.90625q0.359375 -0.828125 1.09375 -1.234375q0.734375 -0.40625 1.609375 -0.40625q1.09375 0 1.796875 0.5625q0.703125 0.546875 0.890625 1.5625l-1.109375 0.171875q-0.15625 -0.671875 -0.5625 -1.015625q-0.390625 -0.34375 -0.96875 -0.34375q-0.859375 0 -1.40625 0.625q-0.53125 0.609375 -0.53125 1.953125q0 1.359375 0.515625 1.984375q0.515625 0.609375 1.359375 0.609375q0.671875 0 1.125 -0.40625q0.453125 -0.421875 0.5625 -1.28125zm1.8515625 -0.90625q0 -1.875 1.03125 -2.765625q0.875 -0.75 2.125 -0.75q1.390625 0 2.265625 0.90625q0.890625 0.90625 0.890625 2.515625q0 1.296875 -0.390625 2.046875q-0.390625 0.75 -1.140625 1.171875q-0.75 0.40625 -1.625 0.40625q-1.421875 0 -2.296875 -0.90625q-0.859375 -0.90625 -0.859375 -2.625zm1.171875 0q0 1.296875 0.5625 1.953125q0.5625 0.640625 1.421875 0.640625q0.84375 0 1.40625 -0.640625q0.578125 -0.65625 0.578125 -1.984375q0 -1.25 -0.578125 -1.890625q-0.5625 -0.65625 -1.40625 -0.65625q-0.859375 0 -1.421875 0.640625q-0.5625 0.640625 -0.5625 1.9375zm6.6468506 3.375l0 -6.734375l1.03125 0l0 1.015625q0.390625 -0.71875 0.71875 -0.9375q0.34375 -0.234375 0.734375 -0.234375q0.578125 0 1.171875 0.359375l-0.390625 1.0625q-0.421875 -0.25 -0.828125 -0.25q-0.375 0 -0.6875 0.234375q-0.296875 0.21875 -0.421875 0.625q-0.1875 0.609375 -0.1875 1.328125l0 3.53125l-1.140625 0zm9.06337 -2.171875l1.1875 0.140625q-0.28125 1.046875 -1.046875 1.625q-0.75 0.5625 -1.921875 0.5625q-1.484375 0 -2.359375 -0.90625q-0.859375 -0.921875 -0.859375 -2.5625q0 -1.703125 0.875 -2.640625q0.890625 -0.9375 2.28125 -0.9375q1.359375 0 2.203125 0.921875q0.859375 0.921875 0.859375 2.578125q0 0.109375 0 0.3125l-5.03125 0q0.0625 1.109375 0.625 1.703125q0.5625 0.59375 1.40625 0.59375q0.640625 0 1.078125 -0.328125q0.453125 -0.34375 0.703125 -1.0625zm-3.75 -1.84375l3.765625 0q-0.078125 -0.859375 -0.4375 -1.28125q-0.546875 -0.65625 -1.40625 -0.65625q-0.796875 0 -1.328125 0.53125q-0.53125 0.515625 -0.59375 1.40625zm10.224838 4.015625l0 -9.3125l1.140625 0l0 9.3125l-1.140625 0zm2.99234 -7.984375l0 -1.328125l1.140625 0l0 1.328125l-1.140625 0zm0 7.984375l0 -6.734375l1.140625 0l0 6.734375l-1.140625 0zm2.96109 0l0 -6.734375l1.03125 0l0 0.953125q0.734375 -1.109375 2.140625 -1.109375q0.609375 0 1.109375 0.21875q0.515625 0.21875 0.765625 0.578125q0.265625 0.34375 0.359375 0.84375q0.0625 0.3125 0.0625 1.109375l0 4.140625l-1.140625 0l0 -4.09375q0 -0.703125 -0.140625 -1.046875q-0.125 -0.34375 -0.46875 -0.546875q-0.328125 -0.21875 -0.78125 -0.21875q-0.734375 0 -1.265625 0.46875q-0.53125 0.453125 -0.53125 1.75l0 3.6875l-1.140625 0zm11.834351 0l0 -0.984375q-0.796875 1.140625 -2.140625 1.140625q-0.59375 0 -1.125 -0.234375q-0.515625 -0.234375 -0.765625 -0.578125q-0.25 -0.34375 -0.34375 -0.84375q-0.078125 -0.328125 -0.078125 -1.0625l0 -4.171875l1.140625 0l0 3.734375q0 0.890625 0.078125 1.203125q0.109375 0.453125 0.453125 0.71875q0.34375 0.25 0.859375 0.25q0.515625 0 0.96875 -0.265625q0.453125 -0.265625 0.640625 -0.71875q0.1875 -0.453125 0.1875 -1.3125l0 -3.609375l1.140625 0l0 6.734375l-1.015625 0zm2.2249756 0l2.46875 -3.5l-2.28125 -3.234375l1.421875 0l1.046875 1.578125q0.28125 0.453125 0.46875 0.75q0.265625 -0.421875 0.5 -0.734375l1.140625 -1.59375l1.375 0l-2.34375 3.171875l2.515625 3.5625l-1.40625 0l-1.375 -2.09375l-0.375 -0.5625l-1.765625 2.65625l-1.390625 0zm13.92955 0l-3.59375 -9.3125l1.328125 0l2.421875 6.765625q0.28125 0.8125 0.484375 1.53125q0.21875 -0.765625 0.5 -1.53125l2.515625 -6.765625l1.25 0l-3.640625 9.3125l-1.265625 0zm6.2022552 0l0 -9.3125l1.84375 0l2.203125 6.59375q0.3125 0.921875 0.453125 1.375q0.15625 -0.5 0.484375 -1.484375l2.234375 -6.484375l1.65625 0l0 9.3125l-1.1875 0l0 -7.78125l-2.703125 7.78125l-1.109375 0l-2.6875 -7.921875l0 7.921875l-1.1875 0zm10.539932 -2.015625l1.125 -0.171875q0.09375 0.671875 0.53125 1.046875q0.4375 0.359375 1.21875 0.359375q0.78125 0 1.15625 -0.3125q0.390625 -0.328125 0.390625 -0.765625q0 -0.390625 -0.34375 -0.609375q-0.234375 -0.15625 -1.171875 -0.390625q-1.25 -0.3125 -1.734375 -0.546875q-0.484375 -0.234375 -0.734375 -0.640625q-0.25 -0.40625 -0.25 -0.90625q0 -0.453125 0.203125 -0.828125q0.203125 -0.390625 0.5625 -0.640625q0.265625 -0.203125 0.71875 -0.328125q0.46875 -0.140625 1.0 -0.140625q0.78125 0 1.375 0.234375q0.609375 0.21875 0.890625 0.609375q0.296875 0.390625 0.40625 1.046875l-1.125 0.15625q-0.078125 -0.53125 -0.4375 -0.8125q-0.359375 -0.296875 -1.03125 -0.296875q-0.78125 0 -1.125 0.265625q-0.34375 0.25 -0.34375 0.609375q0 0.21875 0.140625 0.390625q0.140625 0.1875 0.4375 0.3125q0.171875 0.0625 1.015625 0.28125q1.21875 0.328125 1.6875 0.53125q0.484375 0.203125 0.75 0.609375q0.28125 0.390625 0.28125 0.96875q0 0.578125 -0.34375 1.078125q-0.328125 0.5 -0.953125 0.78125q-0.625 0.28125 -1.421875 0.28125q-1.3125 0 -2.0 -0.546875q-0.6875 -0.546875 -0.875 -1.625z" fill-rule="nonzero"></path><path fill="#cfe2f3" d="m39.678505 261.03l57.90551 0l0 52.299225l-57.90551 0z" fill-rule="nonzero"></path><path fill="#a5b4c2" d="m97.584015 261.03l17.433075 -17.43306l0 52.29921l-17.433075 17.433075z" fill-rule="nonzero"></path><path fill="#d8e7f5" d="m39.678505 261.03l17.433071 -17.43306l57.905514 0l-17.433075 17.43306z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m39.678505 261.03l17.433071 -17.43306l57.905514 0l0 52.29921l-17.433075 17.433075l-57.90551 0zm0 0l57.90551 0l17.433075 -17.43306m-17.433075 17.43306l0 52.299225" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m39.678505 261.03l17.433071 -17.43306l57.905514 0l0 52.29921l-17.433075 17.433075l-57.90551 0zm0 0l57.90551 0l17.433075 -17.43306m-17.433075 17.43306l0 52.299225" fill-rule="nonzero"></path><path fill="#000000" d="m67.38863 279.5644l1.234375 0.3125q-0.390625 1.515625 -1.40625 2.3125q-1.0 0.796875 -2.453125 0.796875q-1.5000038 0 -2.4531288 -0.609375q-0.9375 -0.609375 -1.4375 -1.765625q-0.484375 -1.171875 -0.484375 -2.5q0 -1.453125 0.5625 -2.53125q0.5625 -1.09375 1.578125 -1.65625q1.03125 -0.5625 2.2656288 -0.5625q1.390625 0 2.34375 0.71875q0.953125 0.703125 1.328125 2.0l-1.21875 0.28125q-0.328125 -1.015625 -0.9375 -1.46875q-0.609375 -0.46875 -1.546875 -0.46875q-1.0781288 0 -1.7968788 0.515625q-0.71875 0.515625 -1.015625 1.375q-0.28125 0.859375 -0.28125 1.78125q0 1.1875 0.34375 2.078125q0.34375 0.890625 1.0625 1.328125q0.734375 0.4375 1.5937538 0.4375q1.03125 0 1.75 -0.59375q0.71875 -0.609375 0.96875 -1.78125zm5.3595276 3.265625l0 -8.203125l-3.0625 0l0 -1.109375l7.375 0l0 1.109375l-3.078125 0l0 8.203125l-1.234375 0z" fill-rule="nonzero"></path><path fill="#000000" d="m59.581776 298.83002l0 -9.3125l3.484375 0q1.0781288 0 1.7187538 0.296875q0.640625 0.28125 1.0 0.875q0.375 0.578125 0.375 1.21875q0 0.59375 -0.328125 1.125q-0.328125 0.515625 -0.96875 0.84375q0.84375 0.25 1.296875 0.84375q0.453125 0.59375 0.453125 1.40625q0 0.65625 -0.28125 1.21875q-0.28125 0.5625 -0.6875 0.875q-0.40625 0.296875 -1.015625 0.453125q-0.609375 0.15625 -1.5000038 0.15625l-3.546875 0zm1.234375 -5.390625l2.015625 0q0.8125 0 1.1718788 -0.109375q0.46875 -0.140625 0.703125 -0.46875q0.234375 -0.328125 0.234375 -0.8125q0 -0.46875 -0.21875 -0.8125q-0.21875 -0.359375 -0.640625 -0.484375q-0.4062538 -0.125 -1.4062538 -0.125l-1.859375 0l0 2.8125zm0 4.296875l2.3125 0q0.59375 0 0.84375 -0.046875q0.4218788 -0.078125 0.7031288 -0.25q0.28125 -0.1875 0.46875 -0.515625q0.1875 -0.34375 0.1875 -0.796875q0 -0.515625 -0.265625 -0.890625q-0.265625 -0.390625 -0.75 -0.546875q-0.4687538 -0.15625 -1.3593788 -0.15625l-2.140625 0l0 3.203125zm7.139759 -2.28125q0 -1.875 1.03125 -2.765625q0.875 -0.75 2.125 -0.75q1.390625 0 2.265625 0.90625q0.890625 0.90625 0.890625 2.515625q0 1.296875 -0.390625 2.046875q-0.390625 0.75 -1.140625 1.171875q-0.75 0.40625 -1.625 0.40625q-1.421875 0 -2.296875 -0.90625q-0.859375 -0.90625 -0.859375 -2.625zm1.171875 0q0 1.296875 0.5625 1.953125q0.5625 0.640625 1.421875 0.640625q0.84375 0 1.40625 -0.640625q0.578125 -0.65625 0.578125 -1.984375q0 -1.25 -0.578125 -1.890625q-0.5625 -0.65625 -1.40625 -0.65625q-0.859375 0 -1.421875 0.640625q-0.5625 0.640625 -0.5625 1.9375zm9.162476 2.359375l0.15625 1.0q-0.484375 0.109375 -0.859375 0.109375q-0.625 0 -0.96875 -0.203125q-0.34375 -0.203125 -0.484375 -0.515625q-0.140625 -0.328125 -0.140625 -1.34375l0 -3.890625l-0.828125 0l0 -0.875l0.828125 0l0 -1.671875l1.140625 -0.6875l0 2.359375l1.15625 0l0 0.875l-1.15625 0l0 3.953125q0 0.484375 0.0625 0.625q0.0625 0.140625 0.1875 0.21875q0.140625 0.078125 0.390625 0.078125q0.203125 0 0.515625 -0.03125z" fill-rule="nonzero"></path><path fill="#cfe2f3" d="m39.678505 339.83127l57.90551 0l0 52.299225l-57.90551 0z" fill-rule="nonzero"></path><path fill="#a5b4c2" d="m97.584015 339.83127l17.433075 -17.433044l0 52.299194l-17.433075 17.433075z" fill-rule="nonzero"></path><path fill="#d8e7f5" d="m39.678505 339.83127l17.433071 -17.433044l57.905514 0l-17.433075 17.433044z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m39.678505 339.83127l17.433071 -17.433044l57.905514 0l0 52.299194l-17.433075 17.433075l-57.90551 0zm0 0l57.90551 0l17.433075 -17.433044m-17.433075 17.433044l0 52.299225" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m39.678505 339.83127l17.433071 -17.433044l57.905514 0l0 52.299194l-17.433075 17.433075l-57.90551 0zm0 0l57.90551 0l17.433075 -17.433044m-17.433075 17.433044l0 52.299225" fill-rule="nonzero"></path><path fill="#000000" d="m67.38863 358.36566l1.234375 0.3125q-0.390625 1.515625 -1.40625 2.3125q-1.0 0.796875 -2.453125 0.796875q-1.5000038 0 -2.4531288 -0.609375q-0.9375 -0.609375 -1.4375 -1.765625q-0.484375 -1.171875 -0.484375 -2.5q0 -1.453125 0.5625 -2.53125q0.5625 -1.09375 1.578125 -1.65625q1.03125 -0.5625 2.2656288 -0.5625q1.390625 0 2.34375 0.71875q0.953125 0.703125 1.328125 2.0l-1.21875 0.28125q-0.328125 -1.015625 -0.9375 -1.46875q-0.609375 -0.46875 -1.546875 -0.46875q-1.0781288 0 -1.7968788 0.515625q-0.71875 0.515625 -1.015625 1.375q-0.28125 0.859375 -0.28125 1.78125q0 1.1875 0.34375 2.078125q0.34375 0.890625 1.0625 1.328125q0.734375 0.4375 1.5937538 0.4375q1.03125 0 1.75 -0.59375q0.71875 -0.609375 0.96875 -1.78125zm5.3595276 3.265625l0 -8.203125l-3.0625 0l0 -1.109375l7.375 0l0 1.109375l-3.078125 0l0 8.203125l-1.234375 0z" fill-rule="nonzero"></path><path fill="#000000" d="m59.581776 377.6313l0 -9.3125l3.484375 0q1.0781288 0 1.7187538 0.296875q0.640625 0.28125 1.0 0.875q0.375 0.578125 0.375 1.21875q0 0.59375 -0.328125 1.125q-0.328125 0.515625 -0.96875 0.84375q0.84375 0.25 1.296875 0.84375q0.453125 0.59375 0.453125 1.40625q0 0.65625 -0.28125 1.21875q-0.28125 0.5625 -0.6875 0.875q-0.40625 0.296875 -1.015625 0.453125q-0.609375 0.15625 -1.5000038 0.15625l-3.546875 0zm1.234375 -5.390625l2.015625 0q0.8125 0 1.1718788 -0.109375q0.46875 -0.140625 0.703125 -0.46875q0.234375 -0.328125 0.234375 -0.8125q0 -0.46875 -0.21875 -0.8125q-0.21875 -0.359375 -0.640625 -0.484375q-0.4062538 -0.125 -1.4062538 -0.125l-1.859375 0l0 2.8125zm0 4.296875l2.3125 0q0.59375 0 0.84375 -0.046875q0.4218788 -0.078125 0.7031288 -0.25q0.28125 -0.1875 0.46875 -0.515625q0.1875 -0.34375 0.1875 -0.796875q0 -0.515625 -0.265625 -0.890625q-0.265625 -0.390625 -0.75 -0.546875q-0.4687538 -0.15625 -1.3593788 -0.15625l-2.140625 0l0 3.203125zm7.139759 -2.28125q0 -1.875 1.03125 -2.765625q0.875 -0.75 2.125 -0.75q1.390625 0 2.265625 0.90625q0.890625 0.90625 0.890625 2.515625q0 1.296875 -0.390625 2.046875q-0.390625 0.75 -1.140625 1.171875q-0.75 0.40625 -1.625 0.40625q-1.421875 0 -2.296875 -0.90625q-0.859375 -0.90625 -0.859375 -2.625zm1.171875 0q0 1.296875 0.5625 1.953125q0.5625 0.640625 1.421875 0.640625q0.84375 0 1.40625 -0.640625q0.578125 -0.65625 0.578125 -1.984375q0 -1.25 -0.578125 -1.890625q-0.5625 -0.65625 -1.40625 -0.65625q-0.859375 0 -1.421875 0.640625q-0.5625 0.640625 -0.5625 1.9375zm9.162476 2.359375l0.15625 1.0q-0.484375 0.109375 -0.859375 0.109375q-0.625 0 -0.96875 -0.203125q-0.34375 -0.203125 -0.484375 -0.515625q-0.140625 -0.328125 -0.140625 -1.34375l0 -3.890625l-0.828125 0l0 -0.875l0.828125 0l0 -1.671875l1.140625 -0.6875l0 2.359375l1.15625 0l0 0.875l-1.15625 0l0 3.953125q0 0.484375 0.0625 0.625q0.0625 0.140625 0.1875 0.21875q0.140625 0.078125 0.390625 0.078125q0.203125 0 0.515625 -0.03125z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m149.83727 323.42783l-34.83464 -53.66928" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m149.83727 323.42783l-31.568031 -48.636475" fill-rule="evenodd"></path><path fill="#000000" stroke="#000000" stroke-width="1.0" stroke-linecap="butt" d="m119.65471 273.8921l-3.8561707 -2.907318l1.0852127 4.705841z" fill-rule="evenodd"></path><path fill="#000000" fill-opacity="0.0" d="m149.83727 323.42783l-34.83464 25.13385" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m149.83727 323.42783l-29.96894 21.623138" fill-rule="evenodd"></path><path fill="#000000" stroke="#000000" stroke-width="1.0" stroke-linecap="butt" d="m118.90187 343.71152l-2.7137146 3.9947815l4.6466217 -1.3158264z" fill-rule="evenodd"></path><path fill="#000000" fill-opacity="0.0" d="m163.30446 282.6824l85.543304 0l0 34.86615l-85.543304 0z" fill-rule="nonzero"></path><path fill="#000000" d="m179.94508 301.64987l1.234375 0.3125q-0.390625 1.515625 -1.40625 2.3125q-1.0 0.796875 -2.453125 0.796875q-1.5 0 -2.453125 -0.609375q-0.9375 -0.609375 -1.4375 -1.765625q-0.484375 -1.171875 -0.484375 -2.5q0 -1.453125 0.5625 -2.53125q0.5625 -1.09375 1.578125 -1.65625q1.03125 -0.5625 2.265625 -0.5625q1.390625 0 2.34375 0.71875q0.953125 0.703125 1.328125 2.0l-1.21875 0.28125q-0.328125 -1.015625 -0.9375 -1.46875q-0.609375 -0.46875 -1.546875 -0.46875q-1.078125 0 -1.796875 0.515625q-0.71875 0.515625 -1.015625 1.375q-0.28125 0.859375 -0.28125 1.78125q0 1.1875 0.34375 2.078125q0.34375 0.890625 1.0625 1.328125q0.734375 0.4375 1.59375 0.4375q1.03125 0 1.75 -0.59375q0.71875 -0.609375 0.96875 -1.78125zm2.8439026 3.265625l0 -9.3125l1.140625 0l0 3.34375q0.796875 -0.921875 2.015625 -0.921875q0.75 0 1.296875 0.296875q0.5625 0.296875 0.796875 0.8125q0.234375 0.515625 0.234375 1.515625l0 4.265625l-1.140625 0l0 -4.265625q0 -0.859375 -0.375 -1.25q-0.359375 -0.390625 -1.046875 -0.390625q-0.5 0 -0.953125 0.265625q-0.453125 0.25 -0.640625 0.703125q-0.1875 0.453125 -0.1875 1.25l0 3.6875l-1.140625 0zm7.3968506 0l0 -6.734375l1.03125 0l0 1.015625q0.390625 -0.71875 0.71875 -0.9375q0.34375 -0.234375 0.734375 -0.234375q0.578125 0 1.171875 0.359375l-0.390625 1.0625q-0.421875 -0.25 -0.828125 -0.25q-0.375 0 -0.6875 0.234375q-0.296875 0.21875 -0.421875 0.625q-0.1875 0.609375 -0.1875 1.328125l0 3.53125l-1.140625 0zm4.0321198 -3.375q0 -1.875 1.03125 -2.765625q0.875 -0.75 2.125 -0.75q1.390625 0 2.265625 0.90625q0.890625 0.90625 0.890625 2.515625q0 1.296875 -0.390625 2.046875q-0.390625 0.75 -1.140625 1.171875q-0.75 0.40625 -1.625 0.40625q-1.421875 0 -2.296875 -0.90625q-0.859375 -0.90625 -0.859375 -2.625zm1.171875 0q0 1.296875 0.5625 1.953125q0.5625 0.640625 1.421875 0.640625q0.84375 0 1.40625 -0.640625q0.578125 -0.65625 0.578125 -1.984375q0 -1.25 -0.578125 -1.890625q-0.5625 -0.65625 -1.40625 -0.65625q-0.859375 0 -1.421875 0.640625q-0.5625 0.640625 -0.5625 1.9375zm6.6624756 3.375l0 -6.734375l1.015625 0l0 0.9375q0.328125 -0.5 0.84375 -0.796875q0.53125 -0.296875 1.203125 -0.296875q0.75 0 1.21875 0.3125q0.484375 0.3125 0.6875 0.859375q0.796875 -1.171875 2.078125 -1.171875q1.0 0 1.53125 0.5625q0.546875 0.546875 0.546875 1.703125l0 4.625l-1.125 0l0 -4.25q0 -0.6875 -0.109375 -0.984375q-0.109375 -0.296875 -0.40625 -0.484375q-0.296875 -0.1875 -0.6875 -0.1875q-0.71875 0 -1.1875 0.484375q-0.46875 0.46875 -0.46875 1.5l0 3.921875l-1.140625 0l0 -4.375q0 -0.765625 -0.28125 -1.140625q-0.28125 -0.390625 -0.90625 -0.390625q-0.484375 0 -0.890625 0.265625q-0.40625 0.25 -0.59375 0.734375q-0.1875 0.484375 -0.1875 1.40625l0 3.5l-1.140625 0zm11.102432 -7.984375l0 -1.328125l1.140625 0l0 1.328125l-1.140625 0zm0 7.984375l0 -6.734375l1.140625 0l0 6.734375l-1.140625 0zm7.382965 0l0 -0.984375q-0.796875 1.140625 -2.140625 1.140625q-0.59375 0 -1.125 -0.234375q-0.515625 -0.234375 -0.765625 -0.578125q-0.25 -0.34375 -0.34375 -0.84375q-0.078125 -0.328125 -0.078125 -1.0625l0 -4.171875l1.140625 0l0 3.734375q0 0.890625 0.078125 1.203125q0.109375 0.453125 0.453125 0.71875q0.34375 0.25 0.859375 0.25q0.515625 0 0.96875 -0.265625q0.453125 -0.265625 0.640625 -0.71875q0.1875 -0.453125 0.1875 -1.3125l0 -3.609375l1.140625 0l0 6.734375l-1.015625 0zm2.9906006 0l0 -6.734375l1.015625 0l0 0.9375q0.328125 -0.5 0.84375 -0.796875q0.53125 -0.296875 1.203125 -0.296875q0.75 0 1.21875 0.3125q0.484375 0.3125 0.6875 0.859375q0.796875 -1.171875 2.078125 -1.171875q1.0 0 1.53125 0.5625q0.546875 0.546875 0.546875 1.703125l0 4.625l-1.125 0l0 -4.25q0 -0.6875 -0.109375 -0.984375q-0.109375 -0.296875 -0.40625 -0.484375q-0.296875 -0.1875 -0.6875 -0.1875q-0.71875 0 -1.1875 0.484375q-0.46875 0.46875 -0.46875 1.5l0 3.921875l-1.140625 0l0 -4.375q0 -0.765625 -0.28125 -1.140625q-0.28125 -0.390625 -0.90625 -0.390625q-0.484375 0 -0.890625 0.265625q-0.40625 0.25 -0.59375 0.734375q-0.1875 0.484375 -0.1875 1.40625l0 3.5l-1.140625 0z" fill-rule="nonzero"></path><path fill="#000000" d="m177.9137 320.9155l-1.0625 0l0 -9.3125l1.15625 0l0 3.328125q0.71875 -0.90625 1.84375 -0.90625q0.625 0 1.171875 0.25q0.5625 0.25 0.921875 0.703125q0.359375 0.453125 0.5625 1.09375q0.203125 0.640625 0.203125 1.375q0 1.734375 -0.859375 2.6875q-0.859375 0.9375 -2.0625 0.9375q-1.1875 0 -1.875 -1.0l0 0.84375zm-0.015625 -3.421875q0 1.21875 0.34375 1.75q0.53125 0.890625 1.453125 0.890625q0.75 0 1.296875 -0.65625q0.546875 -0.65625 0.546875 -1.9375q0 -1.328125 -0.53125 -1.953125q-0.515625 -0.625 -1.265625 -0.625q-0.75 0 -1.296875 0.65625q-0.546875 0.640625 -0.546875 1.875zm10.803101 3.421875l0 -0.984375q-0.796875 1.140625 -2.140625 1.140625q-0.59375 0 -1.125 -0.234375q-0.515625 -0.234375 -0.765625 -0.578125q-0.25 -0.34375 -0.34375 -0.84375q-0.078125 -0.328125 -0.078125 -1.0625l0 -4.171875l1.140625 0l0 3.734375q0 0.890625 0.078125 1.203125q0.109375 0.453125 0.453125 0.71875q0.34375 0.25 0.859375 0.25q0.515625 0 0.96875 -0.265625q0.453125 -0.265625 0.640625 -0.71875q0.1875 -0.453125 0.1875 -1.3125l0 -3.609375l1.140625 0l0 6.734375l-1.015625 0zm2.9906006 -7.984375l0 -1.328125l1.140625 0l0 1.328125l-1.140625 0zm0 7.984375l0 -6.734375l1.140625 0l0 6.734375l-1.140625 0zm2.92984 0l0 -9.3125l1.140625 0l0 9.3125l-1.140625 0zm7.36734 0l0 -0.84375q-0.640625 1.0 -1.890625 1.0q-0.796875 0 -1.484375 -0.4375q-0.671875 -0.453125 -1.046875 -1.25q-0.375 -0.796875 -0.375 -1.828125q0 -1.015625 0.34375 -1.828125q0.34375 -0.828125 1.015625 -1.265625q0.671875 -0.4375 1.5 -0.4375q0.609375 0 1.078125 0.265625q0.484375 0.25 0.78125 0.65625l0 -3.34375l1.140625 0l0 9.3125l-1.0625 0zm-3.609375 -3.359375q0 1.296875 0.53125 1.9375q0.546875 0.640625 1.296875 0.640625q0.75 0 1.265625 -0.609375q0.53125 -0.625 0.53125 -1.875q0 -1.390625 -0.53125 -2.03125q-0.53125 -0.65625 -1.3125 -0.65625q-0.765625 0 -1.28125 0.625q-0.5 0.625 -0.5 1.96875zm12.849838 2.34375l0.15625 1.0q-0.484375 0.109375 -0.859375 0.109375q-0.625 0 -0.96875 -0.203125q-0.34375 -0.203125 -0.484375 -0.515625q-0.140625 -0.328125 -0.140625 -1.34375l0 -3.890625l-0.828125 0l0 -0.875l0.828125 0l0 -1.671875l1.140625 -0.6875l0 2.359375l1.15625 0l0 0.875l-1.15625 0l0 3.953125q0 0.484375 0.0625 0.625q0.0625 0.140625 0.1875 0.21875q0.140625 0.078125 0.390625 0.078125q0.203125 0 0.515625 -0.03125zm5.5936127 0.1875q-0.625 0.53125 -1.21875 0.765625q-0.578125 0.21875 -1.25 0.21875q-1.125 0 -1.71875 -0.546875q-0.59375 -0.546875 -0.59375 -1.390625q0 -0.484375 0.21875 -0.890625q0.234375 -0.421875 0.59375 -0.671875q0.375 -0.25 0.828125 -0.375q0.328125 -0.078125 1.015625 -0.171875q1.375 -0.15625 2.03125 -0.390625q0.015625 -0.234375 0.015625 -0.296875q0 -0.703125 -0.328125 -0.984375q-0.4375 -0.390625 -1.296875 -0.390625q-0.8125 0 -1.203125 0.28125q-0.375 0.28125 -0.5625 1.0l-1.109375 -0.140625q0.140625 -0.71875 0.484375 -1.15625q0.359375 -0.453125 1.015625 -0.6875q0.671875 -0.234375 1.53125 -0.234375q0.875 0 1.40625 0.203125q0.546875 0.203125 0.796875 0.515625q0.25 0.296875 0.359375 0.765625q0.046875 0.296875 0.046875 1.0625l0 1.515625q0 1.59375 0.078125 2.015625q0.078125 0.421875 0.28125 0.8125l-1.1875 0q-0.171875 -0.359375 -0.234375 -0.828125zm-0.09375 -2.5625q-0.625 0.265625 -1.859375 0.4375q-0.703125 0.109375 -1.0 0.234375q-0.296875 0.125 -0.453125 0.375q-0.15625 0.234375 -0.15625 0.53125q0 0.453125 0.34375 0.765625q0.34375 0.296875 1.015625 0.296875q0.65625 0 1.171875 -0.28125q0.515625 -0.296875 0.765625 -0.796875q0.171875 -0.375 0.171875 -1.140625l0 -0.421875zm2.6624756 1.375l1.125 -0.171875q0.09375 0.671875 0.53125 1.046875q0.4375 0.359375 1.21875 0.359375q0.78125 0 1.15625 -0.3125q0.390625 -0.328125 0.390625 -0.765625q0 -0.390625 -0.34375 -0.609375q-0.234375 -0.15625 -1.171875 -0.390625q-1.25 -0.3125 -1.734375 -0.546875q-0.484375 -0.234375 -0.734375 -0.640625q-0.25 -0.40625 -0.25 -0.90625q0 -0.453125 0.203125 -0.828125q0.203125 -0.390625 0.5625 -0.640625q0.265625 -0.203125 0.71875 -0.328125q0.46875 -0.140625 1.0 -0.140625q0.78125 0 1.375 0.234375q0.609375 0.21875 0.890625 0.609375q0.296875 0.390625 0.40625 1.046875l-1.125 0.15625q-0.078125 -0.53125 -0.4375 -0.8125q-0.359375 -0.296875 -1.03125 -0.296875q-0.78125 0 -1.125 0.265625q-0.34375 0.25 -0.34375 0.609375q0 0.21875 0.140625 0.390625q0.140625 0.1875 0.4375 0.3125q0.171875 0.0625 1.015625 0.28125q1.21875 0.328125 1.6875 0.53125q0.484375 0.203125 0.75 0.609375q0.28125 0.390625 0.28125 0.96875q0 0.578125 -0.34375 1.078125q-0.328125 0.5 -0.953125 0.78125q-0.625 0.28125 -1.421875 0.28125q-1.3125 0 -2.0 -0.546875q-0.6875 -0.546875 -0.875 -1.625zm7.1171875 2.015625l0 -9.3125l1.140625 0l0 5.3125l2.703125 -2.734375l1.484375 0l-2.578125 2.5l2.84375 4.234375l-1.40625 0l-2.234375 -3.453125l-0.8125 0.78125l0 2.671875l-1.140625 0z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m320.2782 349.60104l-92.157486 104.09448" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m320.2782 349.60104l-84.20303 95.10971" fill-rule="evenodd"></path><path fill="#000000" stroke="#000000" stroke-width="2.0" stroke-linecap="butt" d="m233.60176 442.52097l-3.5429382 8.985413l8.489761 -4.6058655z" fill-rule="evenodd"></path><path fill="#000000" fill-opacity="0.0" d="m321.86615 349.60367l375.4331 98.70868" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m321.86615 349.60367l363.8275 95.65732" fill-rule="evenodd"></path><path fill="#000000" stroke="#000000" stroke-width="2.0" stroke-linecap="butt" d="m684.85364 448.4559l9.617859 -0.8870239l-7.937866 -5.5027466z" fill-rule="evenodd"></path><path fill="#000000" fill-opacity="0.0" d="m251.09613 323.14536l-101.25984 0.28347778" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m251.09613 323.14536l-89.25989 0.24987793" fill-rule="evenodd"></path><path fill="#000000" stroke="#000000" stroke-width="2.0" stroke-linecap="butt" d="m161.827 320.0918l-9.06691 3.3288574l9.085403 3.2780457z" fill-rule="evenodd"></path></g></svg>
+
diff --git a/src/third_party/skia/site/dev/testing/ct-system-diagram.txt b/src/third_party/skia/site/dev/testing/ct-system-diagram.txt
new file mode 100644
index 0000000..d659ee7
--- /dev/null
+++ b/src/third_party/skia/site/dev/testing/ct-system-diagram.txt
@@ -0,0 +1,2 @@
+Source for ct-system-diagram.svg is
+https://docs.google.com/document/d/1CUbitfUZxpHhvwX_1xgPa-bWSyLkVt1O_I_-jgSJe98/edit?usp=sharing
diff --git a/src/third_party/skia/site/dev/testing/ct.md b/src/third_party/skia/site/dev/testing/ct.md
new file mode 100644
index 0000000..cba6f7b
--- /dev/null
+++ b/src/third_party/skia/site/dev/testing/ct.md
@@ -0,0 +1,105 @@
+Cluster Telemetry
+=================
+
+### Contents ###
+
+* [Overview](#overview)
+* [Framework Usage](#framework_usage)
+* [System Architecture](#system_architecture)
+ + [System Diagram](#system_diagram)
+ + [Detailed explanation of steps](#detailed_explanation)
+* [Code](#code)
+* [Contact Us](#contact_us)
+
+<a name="overview"></a>
+Overview
+--------
+
+Cluster Telemetry allows you to run [telemetry](https://www.chromium.org/developers/telemetry)'s benchmarks, lua scripts and other tasks using multiple repository patches through Alexa's [top 1 million](http://s3.amazonaws.com/alexa-static/top-1m.csv.zip) web pages.
+Developers can use the framework to measure the performance of their patch against the top subset of the internet on both Desktop and Android.
+tl;dr documentation is [here](https://www.chromium.org/developers/cluster-telemetry).
+
+SKP files are a binary format for the draw commands Chromium sends to Skia for rasterization. The goal of the project started off with wanting to collect a large repository of 10k SKP files. This repository, after incremental changes in approaches, has since grown to ~910k and now supports running all telemetry benchmarks. The top level feature request of this project was [skia:1268](https://bug.skia.org/1268).
+
+A web application has been created on Google Compute Engine that automates the process of capturing new archives and running telemetry benchmarks at a click of a button; results are emailed to the requester and the web application contains complete history of runs with links to results. You can run telemetry benchmarks at http://ct.skia.org.
+
+The framework also contains the ability to run lua scripts on the SKP repository to scrape web pages. It only takes a few minutes to run a lua scraping script on ~910k SKP files.
+
+Most users will use these three features:
+
+* Chromium Perf. Documentation [here](https://docs.google.com/document/d/1GhqosQcwsy6F-eBAmFn_ITDF7_Iv_rY9FhCKwAnk9qQ/). Webpage [here](https://ct.skia.org/chromium_perf/).
+* Chromium Analysis. Documentation [here](https://docs.google.com/document/d/1ziof4lNwDFXyerVbEocdF3_DdUHVnD3FKYB9rShztuE/). Webpage [here](https://ct.skia.org/chromium_analysis/).
+* Run Lua Scripts on SKP repositories. Documentation about lua bindings is [here](https://skia.org/user/special/lua). Webpage [here](https://ct.skia.org/lua_script/).
+
+Note: The top 1M web pages includes potentially offensive content. Please use caution when visiting page links from the framework.
+
+
+<a name="framework_usage"></a>
+Framework Usage
+---------------
+
+The Chromium Perf page in CT has been used to gather perf data over the top 10k web pages for the following Chromium projects:
+
+* Slimming paint
+* Performance data for layer squashing and compositing overlap map
+* SkPaint in Graphics Context
+* Culling
+* New paint dictionary
+
+blink-dev threads discussing how to make Chrome faster using the results gathered from CT:
+
+* [Main thread attribution for top million sites](https://groups.google.com/a/chromium.org/d/msg/blink-dev/-R47hzmkdig/xILVgczlKgQJ)
+* [Layout time for top 10k sites](https://groups.google.com/a/chromium.org/d/msg/blink-dev/fkRYGcIQN1g/_uYcAt6G8XsJ)
+* [Perf profile for top million sites](https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/8qd5SmLF5n0)
+
+Documents detailing data generated by the framework:
+
+* [Loading measurement: alexa top 1,000](https://docs.google.com/a/chromium.org/document/d/1ca_Q7xePmCRqaYnHe7vkpCmKNFNLdDXvzgtUPt9iG8w/edit)
+* [Loading measurement: alexa top million](https://docs.google.com/a/google.com/document/d/1hDDUUNE5OUV8eCjtOj7Ow6EZ2DSBCTjQirnA3Rp5pOg/edit)
+* [Loading measurement: alexa top million netsim](https://docs.google.com/a/google.com/document/d/1cpLSSYpqi4SprkJcVxbS7af6avKM0qc-imxvkexmCZs/edit)
+* [Perf profile - alexa top million sites](https://docs.google.com/a/google.com/document/d/1di__87watociuZj_dm22Cn72UM2xsZBXixbl8TCFQmw/edit)
+
+The framework has also been used to run multiple lua scripts to scrape the SKP repositories for the the following:
+chars-vs-glyphs, bitmap transform types, gradient color counter, 3 color gradient checks, etc.
+This has been very useful for the Skia team to help determine which parts of the library to optimize and focus on.
+
+All runs are recorded [here](https://ct.skia.org/history/).
+
+
+<a name="system_architecture"></a>
+System Architecture
+-------------------
+
+<a name="system_diagram"></a>
+### System Diagram
+
+
+
+
+<a name="detailed_explanation"></a>
+### Detailed explanation of steps
+
+1. User submits a Lua script task, a Performance task, an Analysis task, or an Admin task (build chrome, recreate pagesets, recreate webpage archives, capture SKPs) using the GCE web application [here](http://ct.skia.org).
+
+2. Each task is exposed by the web application in JSON. The CT master polls the web application and picks up new tasks. It has the ability to run tasks in parallel.
+
+3. The master triggers swarming tasks using the master scripts [here](https://skia.googlesource.com/buildbot/+/master/ct/go/master_scripts/). The master scripts then check to see when the tasks are done.
+
+4. Swarming bots in the CT pool execute the task using the worker scripts [here](https://skia.googlesource.com/buildbot/+/master/ct/go/worker_scripts/). All generated artifacts (CSV files, logs, SKP files, archives, etc) are then copied to Google Storage.
+
+5. Once swarming tasks complete, master scripts read the generated artifacts from Google Storage and consolidate them (if required).
+
+6. The master scripts then email results of the task to the user who requested it. The scripts also update the status of the task to completed on the web application.
+
+
+<a name="code"></a>
+Code
+----
+
+Cluster Telemetry is primarily written in Go with a few python scripts. The framework lives in [master/ct](https://skia.googlesource.com/buildbot/+/master/ct).
+
+<a name="contact_us"></a>
+Contact Us
+----------
+
+If you have questions, please email <cluster-telemetry@chromium.org> or contact rmistry@ directly.
diff --git a/src/third_party/skia/site/dev/testing/download.md b/src/third_party/skia/site/dev/testing/download.md
new file mode 100644
index 0000000..ef56f9f
--- /dev/null
+++ b/src/third_party/skia/site/dev/testing/download.md
@@ -0,0 +1,32 @@
+Downloading Isolates
+====================
+
+The intermediate and final build products from running tests are all stored in
+[Isolate](https://github.com/luci/luci-py/blob/master/appengine/isolate/doc/Design.md),
+and can be downloaded to the desktop for inspection and debugging.
+
+First install the client:
+
+ git clone https://github.com/luci/client-py.git
+
+Add the checkout location to your $PATH.
+
+To download the isolated files for a test first visit
+the build status page and find the "isolated output" link:
+
+<img src="Status.png" style="margin-left:30px" width=576 height=271 >
+
+
+Follow that link to find the hash of the isolated outputs:
+
+
+<img src="Isolate.png" style="margin-left:30px" width=451 height=301 >
+
+Then run `isolateserver.py` with --isolated set to that hash:
+
+ $ isolateserver.py \
+ download \
+ --isolate-server=https://isolateserver.appspot.com \
+ --isolated=5b85b7c382ee2a34530e33c7db20a07515ff9481 \
+ --target=./download/
+
diff --git a/src/third_party/skia/site/dev/testing/fonts.md b/src/third_party/skia/site/dev/testing/fonts.md
new file mode 100644
index 0000000..cf1eec6
--- /dev/null
+++ b/src/third_party/skia/site/dev/testing/fonts.md
@@ -0,0 +1,118 @@
+Fonts and GM Tests
+==================
+
+Overview
+--------
+
+Each test in the gm directory draws a reference image. Their primary purpose is
+to detect when images change unexpectedly, indicating that a rendering bug has
+been introduced.
+
+The gm tests have a secondary purpose: they detect when rendering is different
+across platforms and configurations.
+
+The dm \(Diamond Master\) tool supports flags that minimize or eliminate the
+differences introduced by the font scaler native to each platform.
+
+
+Portable fonts
+--------------
+
+The most portable font format uses Skia to draw characters directly from paths,
+and contains a idealized set of font metrics. This does not exercise platform
+specific fonts at all, but does support specifying the font name, font size,
+font style, and attributes like fakeBold. The paths are generated on a reference
+platform \(currently a Mac\) and are stored as data in
+'tools/test_font_data.cpp' .
+
+To use portable fonts, pass '\-\-portableFonts' to dm.
+
+
+Resource fonts
+--------------
+
+The '\-\-resourceFonts' flag directs dm to use font files present in the resources
+directory. By using the same font set on all buildbots, the generated gm images
+become more uniform across platforms.
+
+Today, the set of fonts used by gm, and present in my resources directory,
+include:
+
+ * Courier New Bold Italic.ttf
+ * Courier New Bold.ttf
+ * Courier New Italic.ttf
+ * Courier New.ttf
+ * LiberationSans-Bold.ttf
+ * LiberationSans-BoldItalic.ttf
+ * LiberationSans-Italic.ttf
+ * LiberationSans-Regular.ttf
+ * Papyrus.ttc
+ * Pro W4.otf
+ * Times New Roman Bold Italic.ttf
+ * Times New Roman Bold.ttf
+ * Times New Roman Italic.ttf
+ * Times New Roman.ttf
+
+
+System fonts
+------------
+
+If neither '\-\-portableFonts' nor '\-\-resourceFonts' is specified, dm uses the fonts
+present on the system. Also, if '\-\-portableFonts' or '\-\-resourceFonts' is specified
+and the desired font is not available, the native font lookup algorithm is
+invoked.
+
+
+GM font selection
+-----------------
+
+Each gm specifies the typeface to use when drawing text. For now, to set the
+portable typeface on the paint, call:
+
+~~~~
+sk_tool_utils::set_portable_typeface(SkPaint* , const char* name = nullptr,
+SkTypeface::Style style = SkTypeface::kNormal );
+~~~~
+
+To create a portable typeface, use:
+
+~~~~
+SkTypeface* typeface = sk_tool_utils::create_portable_typeface(const char* name,
+SkTypeface::Style style);
+~~~~
+
+Eventually, both 'set_portable_typeface()' and 'create_portable_typeface()' will be
+removed. Instead, a test-wide 'SkFontMgr' will be selected to choose portable
+fonts or resource fonts.
+
+
+Adding new fonts and glyphs to a GM
+-----------------------------------
+
+If a font is missing from the portable data or the resource directory, the
+system font is used instead. If a glyph is missing from the portable data, the
+first character, usually a space, is drawn instead.
+
+Running dm with '\-\-portableFonts' and '\-\-reportUsedChars' generates
+'tools/test_font_data_chars.cpp', which describes the fonts and characters used by
+all gm tests. Subsequently running the 'create_test_font' tool generates new paths
+and writes them into 'tools/test_font_data.cpp' .
+
+
+Future work
+-----------
+
+The font set used by gm tests today is arbitrary and not intended to be
+cross-platform. By choosing fonts without licensing issues, all bots can freely
+contain the same fonts. By narrowing the font selection, the size of the test
+font data will be more manageable.
+
+Adding support for selecting from multiple font managers at runtime permits
+removing manual typeface selection in the gm tests. Today, options to dm like
+'\-\-pipe' fail with '\-\-portableFonts' because we're hard-coded to using the default
+font manage when pictures are serialized.
+
+Some gm tests explicitly always want to use system fonts and system metrics;
+other gm tests use text only to label the drawing; yet other gm tests use text
+to generate paths for testing. Additional discrimination is needed to
+distinguish these cases.
diff --git a/src/third_party/skia/site/dev/testing/index.md b/src/third_party/skia/site/dev/testing/index.md
new file mode 100644
index 0000000..fb90ec1
--- /dev/null
+++ b/src/third_party/skia/site/dev/testing/index.md
@@ -0,0 +1,16 @@
+Testing
+=======
+
+Skia relies heavily on our suite of unit and Golden Master \(GM\) tests, which
+are served by our Diamond Master \(DM\) test tool, for correctness testing.
+Tests are executed by our trybots, for every commit, across most of our
+supported platforms and configurations.
+Skia [Gold](https://gold.skia.org) is a web interface for triaging these results.
+
+We also have a robust set of performance tests, served by the nanobench tool and
+accessible via the Skia [Perf](https://perf.skia.org) web interface.
+
+Cluster Telemetry is a powerful framework that helps us capture and benchmark
+SKP files, a binary format for draw commands, across up to one million websites.
+
+See the individual subpages for more details on our various test tools.
diff --git a/src/third_party/skia/site/dev/testing/ios.md b/src/third_party/skia/site/dev/testing/ios.md
new file mode 100644
index 0000000..e6535e1
--- /dev/null
+++ b/src/third_party/skia/site/dev/testing/ios.md
@@ -0,0 +1,39 @@
+Testing on iOS
+==============
+Before setting Skia up for automated testing from the command line, please
+follow the instructions to run Skia tests (*dm*, *nano-bench*) with the
+mainstream iOS tool chain. See the [quick start guide for ios](../../user/quick/ios).
+
+iOS doesn't lend itself well to compiling and running from the command line.
+Below are instructions on how to install a set of tools that make this possible.
+To see how they are used in automated testing please see the bash scripts
+used by the buildbot recipes: <https://github.com/google/skia/tree/master/platform_tools/ios/bin>.
+
+Installation
+------------
+The key tools are
+
+* libimobiledevice <http://www.libimobiledevice.org/>, <https://github.com/libimobiledevice/libimobiledevice>
+
+* ios-deploy <https://github.com/phonegap/ios-deploy>
+
+Follow these steps to install them:
+
+* Install Brew at <http://brew.sh/>
+* Install *libimobiledevice*
+ (Note: All these are part of the *libimobiledevice* project but packaged/developed
+ under different names. The *cask* extension to *brew* is necessary to install
+ *osxfuse* and *ifuse*, which allows to mount the application directory on an iOS device).
+```
+brew install libimobiledevice
+brew install ideviceinstaller
+brew install caskroom/cask/brew-cask
+brew install Caskroom/cask/osxfuse
+brew install ifuse
+```
+* Install node.js and ios-deploy
+```
+$ brew update
+$ brew install node
+$ npm install ios-deploy
+```
diff --git a/src/third_party/skia/site/dev/testing/skiagold.md b/src/third_party/skia/site/dev/testing/skiagold.md
new file mode 100644
index 0000000..e8568c4
--- /dev/null
+++ b/src/third_party/skia/site/dev/testing/skiagold.md
@@ -0,0 +1,170 @@
+Skia Gold
+=========
+
+Overview
+--------
+
+Gold is a web application that compares the images produced by our bots against
+known baseline images.
+Key features:
+
+* Baselines are managed in Gold outside of Git, but in lockstep with Git commits.
+* Each commit creates >500k images.
+* Deviations from the baseline are triaged after a CL lands and images are triaged
+ as either `positive` or `negative`. If a CL causes Skia to break it is reverted
+ or an additional CL is landed to fix the problem.
+* We test across a range of dimensions, e.g.:
+
+ - OS (Windows, Linux, Mac, Android, iOS)
+ - Architectures (Intel, ARM)
+ - Backends (CPU, OpenGL, Vulkan etc.)
+ - etc.
+
+* Written in Go, Polymer and deployed on the Google Cloud. The code
+ is in the [Skia Infra Repository](https://github.com/google/skia-buildbot).
+
+Recommended Workflows
+---------------------
+### How to best use Gold for commonly faced problems ###
+
+These instructions will refer to various views which are accessible via the left
+navigation on [gold.skia.org](https://gold.skia.org/).
+View access is public, triage access is granted to
+Skia contributors. You must be logged in to triage.
+
+Problem #1: As sheriff, I need to triage and “assign” many incoming new images.
+-------------------------------------------------------------------------------
+Solution today:
+
+* Access the By Blame view to see digests needing triage and associated
+ owners/CLs
+ + Only untriaged digests will be shown by default
+ + Blame is not sorted in any particular order
+ + Digests are clustered by runs and the most minimal set of blame
+
+<img src=BlameView.png style="margin-left:30px" align="left" width="800"/> <br clear="left">
+
+* Select digests for triage
+ + Digests will be listed in order with largest difference first
+ + Click to open the digest view with detailed information
+
+<img src=Digests.png style="margin-left:40px" align="left" width="780"/> <br clear="left">
+
+* Open bugs for identified owner(s)
+ + The digest detail view has a link to open a bug from the UI
+ + Via the Gold UI or when manually entering a bug, copy the full URL of
+ single digest into a bug report
+ + The URL reference to the digest in Issue Tracker will link the bug to
+ the digest in Gold
+
+<img src="IssueHighlight.png" style="margin-left:60px" align="left" width="720" border=1/> <br clear="left">
+
+<br>
+
+Future improvements:
+
+* Smarter, more granular blamelist
+
+<br>
+
+Problem #2: As a developer, I need to land a CL that may change many images.
+----------------------------------------------------------------------------
+To find your results:
+
+* Immediately following commit, access the By Blame view to find untriaged
+ digest groupings associated with your ID
+* Click on one of the clusters including your CL to triage
+* Return to the By Blame view to walk through all untriaged digests involving
+ your change
+* Note: It is not yet implemented in the UI but possible to filter the view
+ by CL. Delete hashes in the URL to only include the hash for your CL.
+
+<img src=BlameView.png style="margin-left:30px" align="left" width="800"/> <br clear="left">
+
+To rebaseline images:
+
+* Access the Ignores view and create a new, short-interval (hours) ignore for
+ the most affected configuration(s)
+
+<img src=Ignores.png style="margin-left:30px" align="left" width="800"/> <br clear="left">
+
+
+* Click on the Ignore to bring up a search view filtered by the affected
+ configuration(s)
+* Mark untriaged images as positive (or negative if appropriate)
+* Follow one of two options for handling former positives:
+ + Leave former positives as-is and let them fall off with time if there is
+ low risk of recurrence
+ + Mark former positives as negative if needed to verify the change moving
+ forward
+
+Future improvements:
+
+* Trybot support prior to commit, with view limited to your CL
+* Pre-triage prior to commit that will persist when the CL lands
+
+<br>
+
+Problem #3: As a developer or infrastructure engineer, I need to add a new or updated config.
+---------------------------------------------------------------------------------------------
+(ie: new bot, test mode, environment change)
+
+Solution today:
+
+* Follow the process for rebaselining images:
+ + Wait for the bot/test/config to be committed and show up in the Gold UI
+ + Access the Ignores view and create a short-interval ignore for the
+ configuration(s)
+ + Triage the ignores for that config to identify positive images
+ + Delete the ignore
+
+Future improvements:
+
+* Introduction of a new or updated test can make use of try jobs and pre-triage.
+* New configs may be able to use these features as well.
+
+<br>
+
+Problem #4: As a developer, I need to analyze the details of a particular image digest.
+---------------------------------------------------------------------------------------
+Solution:
+
+* Access the By Test view
+
+<img src=ByTest.png style="margin-left:30px" align="left" width="800"/> <br clear="left">
+
+* Click the magnifier to filter by configuration
+* Access the Cluster view to see the distribution of digest results
+ + Use control-click to select and do a direct compare between data points
+ + Click on configurations under “parameters” to highlight data points and
+ compare
+
+<img src=ClusterConfig.png style="margin-left:30px" align="left" width="800"/> <br clear="left">
+
+* Access the Grid view to see NxN diffs
+
+<img src=Grid.png style="margin-left:30px" align="left" width="800"/> <br clear="left">
+
+* Access the Dot diagram to see history of commits for the trace
+ + Each dot represents a commit
+ + Each line represents a configuration
+ + Dot colors distinguish between digests
+
+<img src=DotDiagram.png style="margin-left:30px" align="left" width="800"/> <br clear="left">
+
+<br>
+
+Future improvements:
+
+* Large diff display of image vs image
+
+<br>
+
+Problem #5: As a developer, I need to find results for a particular configuration.
+----------------------------------------------------------------------------------
+Solution:
+
+* Access the Search view
+* Select any parameters desired to search across tests
+
+<img src=Search.png style="margin-left:30px" align="left" width="800"/> <br clear="left">
diff --git a/src/third_party/skia/site/dev/testing/skialab.md b/src/third_party/skia/site/dev/testing/skialab.md
new file mode 100644
index 0000000..5ddb0de
--- /dev/null
+++ b/src/third_party/skia/site/dev/testing/skialab.md
@@ -0,0 +1,225 @@
+SkiaLab
+=======
+
+Overview
+--------
+
+Skia's buildbots are hosted in three places:
+
+* Google Compute Engine. This is the preferred location for bots which don't
+ need to run on physical hardware, ie. anything that doesn't require a GPU,
+ stable performance numbers, or a specific hardware configuration. Most of our
+ compile bots live here, along with some non-GPU test bots on Linux and
+ Windows.
+* Chrome Golo. This is the preferred location for bots which require specific
+ hardware or OS configurations that are not supported by GCE. We have several
+ Mac, Linux, and Windows bots in the Golo.
+* The local SkiaLab in Chapel Hill. Anything we can't get in GCE or the Golo
+ lives here. This includes newer or uncommon GPUs and all Android, ChromeOS,
+ and iOS devices.
+
+This page covers the local SkiaLab in Chapel Hill.
+
+
+Layout
+------
+
+The SkiaLab consists of three wireframe racks which hold machines connected to
+two KVM switches. Each KVM switch has a monitor, mouse, and keyboard and is the
+primary mode of access to the lab machines. In general, the machines are on the
+same rack as the KVM switch used to access them. The switch nearest the door
+(labeled "DOOR"), is connected to machines on its own rack as well as a smaller
+rack closer to the door.
+
+Each machine is labeled with its hostname and the number or letter used to
+access it on the KVM switch. Android devices are located on the rack nearest
+the interior of the office (the KVM switch is labeled "OFFICE"). They are
+labeled with their serial number and the name of the buildslave they are
+associated with. Each device connects to a host machine, either directly or
+by way of a powered USB hub.
+
+**Disclaimer: Please ONLY make changes on a lab machine as a last resort, as it
+is disruptive to the running bots and can leave the machines in a dirty state.
+If you must make changes, such as cloning a copy of Skia to run tests and debug
+failures, be sure to clean up after yourself. If a permanent change needs to be
+made on the machine (such as a driver update), please contact an infra team
+member.**
+
+
+Common Tasks
+------------
+
+### Locating the host machine for a failing bot
+
+Sometimes failures can only be reproduced on a particular hardware
+configuration. In these cases, it is sometimes necessary to log into the host
+machine where a failing bot is running in order to debug the failure.
+
+From the [Status](https://status.skia.org/) page:
+
+1. Click on the box associated with a failed build.
+2. A popup will appear with some information about the build, including the
+ builder and buildslave. Click the "Lookup" link next to "Host machine". This
+ will bring you to the [SkiaLab Hosts](https://status.skia.org/hosts) page,
+ which contains information about the machines in the lab, pre-filtered to
+ select the machine which runs the buildslave in question.
+3. The information box will display the hostname of the machine as well as the
+ KVM switch and number used to access the machine, if the machine is in the
+ SkiaLab.
+4. Walk over to the lab. While standing at the KVM switch indicated by the host
+ information page, double tap \<ctrl\> and then press the number or letter from
+ the information page. It may be necessary to move or click the mouse to wake
+ the machine up.
+5. Log in to the machine if necessary. The password is stored in
+ [Valentine](https://valentine/) as "Chapel Hill buildbot slave password".
+
+### Rebooting a problematic Android device
+
+Follow the same process as above, with some slight changes:
+
+1. On the [Status](https://status.skia.org/) page, click the box for the failed
+ build.
+2. Click the "Lookup" link for the host machine. Remember the name of the
+ buildslave which ran the build.
+3. The hosts page will display the information used to access the host machine
+ for the device as well as the serial number for the device next to the name
+ of its buildsave.
+4. Walk over to the lab and find the Android device with the serial number from
+ the hosts page. Hold the power and volume-up buttons until the device
+ reboots.
+5. Access the host machine for the device, per the above instructions. Use the
+ `which_devices.py` script to verify that the device has re-attached. From
+ the home directory:
+
+ $ python buildbot/scripts/which_devices.py
+
+
+Maintenance Tasks
+-----------------
+
+### Bringing up a new buildbot host machine
+
+This assumes that we're just adding a host machine for a new buildbot slave,
+and doesn't cover how to make changes to the buildbot code to change the
+behavior of the builder itself.
+
+1. Obtain the machine itself and place it on the racks in the lab. Connect
+ power, ethernet, and KVM cables.
+2. If we already have a disk image appropriate for this machine, follow the
+ instructions for flashing a disk image to a machine below. Otherwise, follow
+ the instructions for bringing up a new machine from scratch.
+3. Power on the machine. Be sure to kill any buildbot processes that start up,
+ eg. `killall python` on Linux and Mac, and just close any cmd instances which
+ pop up on Windows.
+4. Set the hostname for the machine.
+5. Ensure that the machine is labeled with its hostname and KVM number.
+6. Add the new slave to the slaves.cfg file on the appropriate master, eg.
+ https://chromium.googlesource.com/chromium/tools/build/+/master/masters/master.client.skia/slaves.cfg,
+ and upload the change for code review.
+7. Add an entry for the new host machine to the slave_hosts_cfg.py file in the
+ Skia infra repo: https://skia.googlesource.com/buildbot/+/master/site_config/slave_hosts_cfg.py,
+ and upload it for review.
+8. Commit the change to add the slave to the master. Once it lands, commit the
+ slave_hosts_cfg.py change immediately afterward.
+9. Restart the build master. Either ask borenet@ to do this or file a
+ [ticket](https://code.google.com/p/chromium/issues/entry?template=Build%20Infrastructure&labels=Infra-Labs,Restrict-View-Google,Infra-Troopers&summary=Restart%20request%20for%20[%20name%20]&comment=Please%20provide%20the%20reason%20for%20restart.%0A%0ASet%20to%20Pri-0%20if%20immediate%20restarted%20is%20required,%20otherwise%20please%20set%20to%20Pri-1%20and%20the%20restart%20will%20happen%20when%20the%20trooper%20gets%20a%20free%20moment.) for a trooper to do it.
+10. Reboot the machine and monitor the build master to ensure that it connects.
+ This can take some time, since the bot needs to sync Chrome.
+
+
+### Bringing up a new Android bot
+
+1. Locate or add a host machine. We generally want to keep the number of
+ devices attached to each host below 5 or so. If a new host machine is
+ required, follow the above instructions for bringing up a new buildbot
+ host machine, with the exception that the slave corresponds to the Android
+ device, not the host machine itself.
+2. Ensure that the buildslave is not yet running:
+
+ $ killall python
+
+3. Disable MTP and PTP on the device. Some devices require one or the other to
+ be enabled; in that case, select PTP and choose to 'do nothing' when
+ attaching to the host machine.
+4. Connect the device to the host machine, either through a powered USB hub or
+ directly to the machine.
+5. Make sure that the device is in developer mode and that USB debugging is
+ enabled.
+6. Authorize the device for USB debugging on the host machine by checking the
+ "always allow" box on dialog box which appears on the Android device after
+ plugging it into the host.
+7. Ensure that the device appears as "connected" when you run the
+ `which_devices.py` script:
+
+ $ python buildbot/scripts/which_devices.py
+
+8. Reboot the machine to start the buildslave.
+
+
+### Bringing up a new machine from scratch
+
+TODO(borenet): Migrate from Google Docs.
+
+OS-specific instructions are available in a
+[Google Doc](https://docs.google.com/document/d/1X7Hvsj33AlBmj-KEWfFbmdCArUJJAICLkB7ipDcxRV8/edit)
+
+
+### Flashing a disk image to a machine
+
+1. Find the USB key labeled, "Clonezilla" in the SkiaLab and insert it into the
+ machine.
+2. Turn on the machine and load the boot menu. For Shuttle machines, press
+ \<del\> or \<esc\>. Mac machines require that you plug in the Mac keyboard and
+ press the \<option\> key at boot. Boot from the USB key. It's typically UEFI
+ and named something like "FlashBlu" or "Kanguru".
+3. At the Clonezilla menu, choose the "to RAM" option.
+4. Choose your preferred language.
+5. "Don't touch keymap".
+6. "Start Clonezilla".
+7. "device-image".
+8. "local_dev".
+9. Unplug the flash drive and plug in the external hard drive labeled, "Disk
+ images." Wait for the "Attached Enclosure device" message to appear, then
+ hit \<enter\>.
+10. Select the external drive to use for /home/partimag, something like,
+ "1000GB_ntfs_My_Passport".
+11. Select the bot_img directory.
+12. Hit \<enter\> to continue.
+13. "Beginner"
+14. "restoredisk"
+15. Select the image to use. Make sure that it's compatible with this machine.
+16. Choose the hard drive in the machine. It should be the only option.
+17. "y" and "y"
+18. Choose "reboot" after flashing the image to the machine.
+19. Set the hostname of the machine so that it doesn't conflict with any
+ existing machines.
+
+### Capturing a disk image
+
+1. Make sure that the machine is in a clean state: no pre-existing buildslave
+ checkouts, extra software, etc.
+2. Find the USB key labeled, "Clonezilla" in the SkiaLab and insert it into the
+ machine.
+3. Turn on the machine and load the boot menu. For Shuttle machines, press
+ \<del\> or \<esc\>. Mac machines require that you plug in the Mac keyboard and
+ press the \<option\> key at boot. Boot from the USB key. It's typically UEFI
+ and named something like "FlashBlu" or "Kanguru".
+4. At the Clonezilla menu, choose the "to RAM" option.
+5. Choose your preferred language.
+6. "Don't touch keymap".
+7. "Start Clonezilla".
+8. "device-image".
+9. "local_dev"
+10. Unplug the flash drive and plug in the external hard drive labeled, "Disk
+ images." Wait for the "Attached Enclosure device" message to appear, then
+ hit \<enter\>.
+11. Select the external drive to use for /home/partimag, something like,
+ "1000GB_ntfs_My_Passport".
+12. Select the bot_img directory.
+13. "Beginner"
+14. "savedisk"
+15. Choose a name for the disk image. The convention is:
+ `skiabot-<hardware type>-<OS>-<disk image revision #>`
+12. Choose the hard drive in the machine. It should be the only option.
+13. "y"
+14. Choose "reboot" or "shut down" when finished.
diff --git a/src/third_party/skia/site/dev/testing/skiaperf.md b/src/third_party/skia/site/dev/testing/skiaperf.md
new file mode 100644
index 0000000..921df2e
--- /dev/null
+++ b/src/third_party/skia/site/dev/testing/skiaperf.md
@@ -0,0 +1,40 @@
+Skia Perf
+=========
+
+[Skia Perf](https://perf.skia.org) is a Polymer-based web application for
+analyzing and viewing performance metrics produced by Skia's testing
+infrastructure.
+
+<img src=Perf.png style="margin-left:30px" align="left" width="800"/> <br clear="left">
+
+Skia tests across a large number of platforms and configurations, and each
+commit to Skia generates 240,000 individual values are sent to Perf,
+consisting mostly of performance benchmark results, but also including memory
+and coverage data.
+
+Perf includes tools for analyzing such a large corpus of data, the most
+powerful is [k-means clustering](https://perf.skia.org/t/). This tool groups
+large sets of performance metrics together based on how they change over time,
+and highlights sets of metrics that have performance regressions.
+
+<img src=Cluster.png style="margin-left:30px" align="left" width="500"/> <br clear="left">
+
+Calculations
+------------
+
+Skia Perf has the ability to perform calculations over the test data
+allowing you to build up interesting queries.
+
+This query displays [the ratio of playback time in ms to the number of ops for desk\_wowwiki.skp](https://perf.skia.org/#1876):
+
+ ratio(
+ ave(fill(filter("name=desk_wowwiki.skp&sub_result=min_ms"))),
+ ave(fill(filter("name=desk_wowwiki.skp&sub_result=ops")))
+ )
+
+You can also use the data to answer questions like [how many tests were run per commit](https://perf.skia.org/#1878).
+
+ count(filter(""))
+
+See Skia Perf for the [full list of functions available](https://perf.skia.org/help).
+
diff --git a/src/third_party/skia/site/dev/testing/testing.md b/src/third_party/skia/site/dev/testing/testing.md
new file mode 100644
index 0000000..d58abfb
--- /dev/null
+++ b/src/third_party/skia/site/dev/testing/testing.md
@@ -0,0 +1,191 @@
+Correctness Testing
+===================
+
+Skia correctness testing is primarily served by a tool named DM.
+This is a quickstart to building and running DM.
+
+<!--?prettify lang=sh?-->
+
+ python tools/git-sync-deps
+ bin/gn gen out/Debug
+ ninja -C out/Debug dm
+ out/Debug/dm -v -w dm_output
+
+When you run this, you may notice your CPU peg to 100% for a while, then taper
+off to 1 or 2 active cores as the run finishes. This is intentional. DM is
+very multithreaded, but some of the work, particularly GPU-backed work, is
+still forced to run on a single thread. You can use `--threads N` to limit DM to
+N threads if you like. This can sometimes be helpful on machines that have
+relatively more CPU available than RAM.
+
+As DM runs, you ought to see a giant spew of output that looks something like this.
+~~~
+Skipping nonrendering: Don't understand 'nonrendering'.
+Skipping angle: Don't understand 'angle'.
+Skipping nvprmsaa4: Could not create a surface.
+492 srcs * 3 sinks + 382 tests == 1858 tasks
+
+( 25MB 1857) 1.36ms 8888 image mandrill_132x132_12x12.astc-5-subsets
+( 25MB 1856) 1.41ms 8888 image mandrill_132x132_6x6.astc-5-subsets
+( 25MB 1855) 1.35ms 8888 image mandrill_132x130_6x5.astc-5-subsets
+( 25MB 1854) 1.41ms 8888 image mandrill_132x130_12x10.astc-5-subsets
+( 25MB 1853) 151µs 8888 image mandrill_130x132_10x6.astc-5-subsets
+( 25MB 1852) 154µs 8888 image mandrill_130x130_5x5.astc-5-subsets
+ ...
+( 748MB 5) 9.43ms unit test GLInterfaceValidation
+( 748MB 4) 30.3ms unit test HalfFloatTextureTest
+( 748MB 3) 31.2ms unit test FloatingPointTextureTest
+( 748MB 2) 32.9ms unit test DeferredCanvas_GPU
+( 748MB 1) 49.4ms unit test ClipCache
+( 748MB 0) 37.2ms unit test Blur
+~~~
+Do not panic.
+
+As you become more familiar with DM, this spew may be a bit annoying. If you
+remove -v from the command line, DM will spin its progress on a single line
+rather than print a new line for each status update.
+
+Don't worry about the "Skipping something: Here's why." lines at startup. DM
+supports many test configurations, which are not all appropriate for all
+machines. These lines are a sort of FYI, mostly in case DM can't run some
+configuration you might be expecting it to run.
+
+Don't worry about the "skps: Couldn't read skps." messages either, you won't
+have those by default and can do without them. If you wish to test with them
+too, you can download them separately.
+
+The next line is an overview of the work DM is about to do.
+~~~
+492 srcs * 3 sinks + 382 tests == 1858 tasks
+~~~
+
+DM has found 382 unit tests (code linked in from tests/), and 492 other drawing
+sources. These drawing sources may be GM integration tests (code linked in
+from gm/), image files (from `--images`, which defaults to "resources") or .skp
+files (from `--skps`, which defaults to "skps"). You can control the types of
+sources DM will use with `--src` (default, "tests gm image skp").
+
+DM has found 3 usable ways to draw those 492 sources. This is controlled by
+`--config`. The defaults are operating system dependent. On Linux they are "8888 gl nonrendering".
+DM has skipped nonrendering leaving two usable configs:
+8888 and gl. These two name different ways to draw using Skia:
+
+ - 8888: draw using the software backend into a 32-bit RGBA bitmap
+ - gl: draw using the OpenGL backend (Ganesh) into a 32-bit RGBA bitmap
+
+Sometimes DM calls these configs, sometimes sinks. Sorry. There are many
+possible configs but generally we pay most attention to 8888 and gl.
+
+DM always tries to draw all sources into all sinks, which is why we multiply
+492 by 3. The unit tests don't really fit into this source-sink model, so they
+stand alone. A couple thousand tasks is pretty normal. Let's look at the
+status line for one of those tasks.
+~~~
+( 25MB 1857) 1.36ms 8888 image mandrill_132x132_12x12.astc-5-subsets
+~~~
+
+This status line tells us several things.
+
+First, it tells us that at the time we wrote the status line, the maximum
+amount of memory DM had ever used was 25MB. Note this is a high water mark,
+not the current memory usage. This is mostly useful for us to track on our
+buildbots, some of which run perilously close to the system memory limit.
+
+Next, the status line tells us that there are 1857 unfinished tasks, either
+currently running or waiting to run. We generally run one task per hardware
+thread available, so on a typical laptop there are probably 4 or 8 running at
+once. Sometimes the counts appear to show up out of order, particularly at DM
+startup; it's harmless, and doesn't affect the correctness of the run.
+
+Next, we see this task took 1.36 milliseconds to run. Generally, the precision
+of this timer is around 1 microsecond. The time is purely there for
+informational purposes, to make it easier for us to find slow tests.
+
+Finally we see the configuration and name of the test we ran. We drew the test
+"mandrill_132x132_12x12.astc-5-subsets", which is an "image" source, into an
+"8888" sink.
+
+When DM finishes running, you should find a directory with file named dm.json,
+and some nested directories filled with lots of images.
+~~~
+$ ls dm_output
+8888 dm.json gl
+
+$ find dm_output -name '*.png'
+dm_output/8888/gm/3x3bitmaprect.png
+dm_output/8888/gm/aaclip.png
+dm_output/8888/gm/aarectmodes.png
+dm_output/8888/gm/alphagradients.png
+dm_output/8888/gm/arcofzorro.png
+dm_output/8888/gm/arithmode.png
+dm_output/8888/gm/astcbitmap.png
+dm_output/8888/gm/bezier_conic_effects.png
+dm_output/8888/gm/bezier_cubic_effects.png
+dm_output/8888/gm/bezier_quad_effects.png
+ ...
+~~~
+
+The directories are nested first by sink type (`--config`), then by source type (`--src`).
+The image from the task we just looked at, "8888 image mandrill_132x132_12x12.astc-5-subsets",
+can be found at dm_output/8888/image/mandrill_132x132_12x12.astc-5-subsets.png.
+
+dm.json is used by our automated testing system, so you can ignore it if you
+like. It contains a listing of each test run and a checksum of the image
+generated for that run.
+
+### Detail <a name="digests"></a>
+Boring technical detail: The checksum is not a checksum of the
+.png file, but rather a checksum of the raw pixels used to create that .png.
+That means it is possible for two different configurations to produce
+the same exact .png, but have their checksums differ.
+
+Unit tests don't generally output anything but a status update when they pass.
+If a test fails, DM will print out its assertion failures, both at the time
+they happen and then again all together after everything is done running.
+These failures are also included in the dm.json file.
+
+DM has a simple facility to compare against the results of a previous run:
+
+<!--?prettify lang=sh?-->
+
+ ninja -C out/Debug dm
+ out/Debug/dm -w good
+
+ # do some work
+
+ ninja -C out/Debug dm
+ out/Debug/dm -r good -w bad
+
+When using `-r`, DM will display a failure for any test that didn't produce the
+same image as the `good` run.
+
+For anything fancier, I suggest using skdiff:
+
+<!--?prettify lang=sh?-->
+
+ ninja -C out/Debug dm
+ out/Debug/dm -w good
+
+ # do some work
+
+ ninja -C out/Debug dm
+ out/Debug/dm -w bad
+
+ ninja -C out/Debug skdiff
+ mkdir diff
+ out/Debug/skdiff good bad diff
+
+ # open diff/index.html in your web browser
+
+That's the basics of DM. DM supports many other modes and flags. Here are a
+few examples you might find handy.
+
+<!--?prettify lang=sh?-->
+
+ out/Debug/dm --help # Print all flags, their defaults, and a brief explanation of each.
+ out/Debug/dm --src tests # Run only unit tests.
+ out/Debug/dm --nocpu # Test only GPU-backed work.
+ out/Debug/dm --nogpu # Test only CPU-backed work.
+ out/Debug/dm --match blur # Run only work with "blur" in its name.
+ out/Debug/dm --dryRun # Don't really do anything, just print out what we'd do.
+
diff --git a/src/third_party/skia/site/dev/testing/tests.md b/src/third_party/skia/site/dev/testing/tests.md
new file mode 100644
index 0000000..c24a173
--- /dev/null
+++ b/src/third_party/skia/site/dev/testing/tests.md
@@ -0,0 +1,129 @@
+Writing Skia Tests
+==================
+
++ [Unit Tests](#test)
++ [Rendering Tests](#gm)
++ [Benchmark Tests](#bench)
+
+We assume you have already synced Skia's dependecies and set up Skia's build system.
+
+<!--?prettify lang=sh?-->
+
+ python tools/git-sync-deps
+ bin/gn gen out/Debug
+ bin/gn gen out/Release --args='is_debug=false'
+
+<span id="test"></span>
+
+Writing a Unit Test
+-------------------
+
+1. Add a file `tests/NewUnitTest.cpp`:
+
+ <!--?prettify lang=cc?-->
+
+ /*
+ * Copyright ........
+ *
+ * Use of this source code is governed by a BSD-style license
+ * that can be found in the LICENSE file.
+ */
+ #include "Test.h"
+ DEF_TEST(NewUnitTest, reporter) {
+ if (1 + 1 != 2) {
+ ERRORF(reporter, "%d + %d != %d", 1, 1, 2);
+ }
+ bool lifeIsGood = true;
+ REPORTER_ASSERT(reporter, lifeIsGood);
+ }
+
+2. Add `NewUnitTest.cpp` to `gn/tests.gni`.
+
+3. Recompile and run test:
+
+ <!--?prettify lang=sh?-->
+
+ ninja -C out/Debug dm
+ out/Debug/dm --match NewUnitTest
+
+<span id="gm"></span>
+
+Writing a Rendering Test
+------------------------
+
+1. Add a file `gm/newgmtest.cpp`:
+
+ <!--?prettify lang=cc?-->
+
+ /*
+ * Copyright ........
+ *
+ * Use of this source code is governed by a BSD-style license
+ * that can be found in the LICENSE file.
+ */
+ #include "gm.h"
+ DEF_SIMPLE_GM(newgmtest, canvas, 128, 128) {
+ canvas->clear(SK_ColorWHITE);
+ SkPaint p;
+ p.setStrokeWidth(2);
+ canvas->drawLine(16, 16, 112, 112, p);
+ }
+
+2. Add `newgmtest.cpp` to `gn/gm.gni`.
+
+3. Recompile and run test:
+
+ <!--?prettify lang=sh?-->
+
+ ninja -C out/Debug dm
+ out/Debug/dm --match newgmtest
+
+4. Run the GM inside SampleApp:
+
+ <!--?prettify lang=sh?-->
+
+ ninja -C out/Debug SampleApp
+ out/Debug/SampleApp --slide GM:newgmtest
+
+<span id="bench"></span>
+
+Writing a Benchmark Test
+------------------------
+
+1. Add a file `bench/FooBench.cpp`:
+
+ <!--?prettify lang=cc?-->
+
+ /*
+ * Copyright ........
+ *
+ * Use of this source code is governed by a BSD-style license
+ * that can be found in the LICENSE file.
+ */
+ #include "Benchmark.h"
+ #include "SkCanvas.h"
+ namespace {
+ class FooBench : public Benchmark {
+ public:
+ FooBench() {}
+ virtual ~FooBench() {}
+ protected:
+ const char* onGetName() override { return "Foo"; }
+ SkIPoint onGetSize() override { return SkIPoint{100, 100}; }
+ void onDraw(int loops, SkCanvas* canvas) override {
+ while (loops-- > 0) {
+ canvas->drawLine(0.0f, 0.0f, 100.0f, 100.0f, SkPaint());
+ }
+ }
+ };
+ } // namespace
+ DEF_BENCH(return new FooBench;)
+
+2. Add `FooBench.cpp` to `gn/bench.gni`.
+
+3. Recompile and run nanobench:
+
+ <!--?prettify lang=sh?-->
+
+ ninja -C out/Release nanobench
+ out/Release/nanobench --match Foo
diff --git a/src/third_party/skia/site/dev/testing/xsan.md b/src/third_party/skia/site/dev/testing/xsan.md
new file mode 100644
index 0000000..8b71a13
--- /dev/null
+++ b/src/third_party/skia/site/dev/testing/xsan.md
@@ -0,0 +1,65 @@
+MSAN, ASAN, & TSAN
+==================
+
+*Testing Skia with memory, address, and thread santizers.*
+
+Downloading Clang Binaries (Googlers Only)
+------------------------------------------
+
+ CLANGDIR="${HOME}/clang"
+ python infra/bots/assets/clang_linux/download.py -t $CLANGDIR
+
+Building Clang from scratch
+---------------------------
+
+ CLANGDIR="${HOME}/clang"
+
+ python tools/git-sync-deps
+ CC= CXX= infra/bots/assets/clang_linux/create.py -t "$CLANGDIR"
+
+Configure and Compile Skia with MSAN
+------------------------------------
+
+ CLANGDIR="${HOME}/clang"
+ mkdir -p out/msan
+ cat > out/msan/args.gn <<- EOF
+ cc = "${CLANGDIR}/bin/clang"
+ cxx = "${CLANGDIR}/bin/clang++"
+ extra_ldflags = [ "-Wl,-rpath", "-Wl,${CLANGDIR}/msan" ]
+ sanitize = "MSAN"
+ skia_use_fontconfig = false
+ EOF
+ python tools/git-sync-deps
+ bin/gn gen out/msan
+ ninja -C out/msan
+
+Configure and Compile Skia with ASAN
+------------------------------------
+
+ CLANGDIR="${HOME}/clang"
+ mkdir -p out/asan
+ cat > out/asan/args.gn <<- EOF
+ cc = "${CLANGDIR}/bin/clang"
+ cxx = "${CLANGDIR}/bin/clang++"
+ sanitize = "ASAN"
+ EOF
+ python tools/git-sync-deps
+ bin/gn gen out/asan
+ ninja -C out/asan
+
+Configure and Compile Skia with TSAN
+------------------------------------
+
+ CLANGDIR="${HOME}/clang"
+ mkdir -p out/tsan
+ cat > out/tsan/args.gn <<- EOF
+ cc = "${CLANGDIR}/bin/clang"
+ cxx = "${CLANGDIR}/bin/clang++"
+ sanitize = "TSAN"
+ is_debug = false
+ EOF
+ python tools/git-sync-deps
+ bin/gn gen out/tsan
+ ninja -C out/tsan
+
+
diff --git a/src/third_party/skia/site/dev/tools/codesearch.md b/src/third_party/skia/site/dev/tools/codesearch.md
new file mode 100644
index 0000000..82beb2d
--- /dev/null
+++ b/src/third_party/skia/site/dev/tools/codesearch.md
@@ -0,0 +1,41 @@
+Code Search
+===========
+
+There are a number of ways to search the Skia codebase, each with advantages and
+disadvantages.
+
+[cs.skia.org](http://cs.skia.org) redirects to
+[Chromium code search](https://code.google.com/p/chromium/codesearch) restricted
+to the Skia portion of the Chromium tree. You can add a query after the slash;
+e.g. [cs.skia.org/foo](http://cs.skia.org/foo) will search for "foo" within the
+Skia tree. Chromium code search provides cross-references.
+
+For Googlers, there is also the option of [the skia depot](http://cs/#skia/) in
+internal Code Search. In addition to the
+main [skia](http://cs/#skia/skia/) repo, internal Code Search indexes the
+[buildbot](http://cs/#skia/buildbot/), [common](http://cs/#skia/common/),
+and [skia_internal](https://cs/#skia/skia_internal/) repos. However,
+cross-references, history/blame, and code analysis are not available.
+
+The Github mirrors of the [skia](https://github.com/google/skia) and
+[skia-buildbot](https://github.com/google/skia-buildbot) repos are useful for
+investigating history and blame, or for exploring release branches or other
+branches. However, the search functionality is fairly limited, cross-references
+are not available, and in history the original committer's username is replaced
+with that person's Github username.
+
+You can also navigate through the
+[Skia repos on googlesource.com](https://skia.googlesource.com/). All commits
+appear here first.
+
+ Code search option |Search |XRef |History |Repos |Branches |Freshness
+ --------------------|-------|-----|--------|------------------------------|---------|----------------------
+ [cs.skia.org][1] |regexp | yes |yes |skia |master |last DEPS roll
+ [Internal][2] |regexp | no |no |skia buildbot common internal |master |hours
+ [Github][3] |basic | no |yes |skia buildbot |all |hour
+ [googlesource][4] |none | no |yes |all |all |N/A
+
+[1]: http://cs.skia.org/ "Chromium code search"
+[2]: http://cs/#skia/ "Internal Code Search"
+[3]: https://github.com/google/skia "Github mirror of skia"
+[4]: https://skia.googlesource.com/ "Master Skia repos on googlesource.com"
diff --git a/src/third_party/skia/site/dev/tools/debugger.md b/src/third_party/skia/site/dev/tools/debugger.md
new file mode 100644
index 0000000..1c5b7e0
--- /dev/null
+++ b/src/third_party/skia/site/dev/tools/debugger.md
@@ -0,0 +1,29 @@
+Skia Debugger
+=============
+
+Introduction
+------------
+
+The Skia Debugger is a graphical tool used to step through and analyze the
+contents of the Skia picture format. The tool is available online at
+[https://debugger.skia.org](https://debugger.skia.org/) or can be run locally.
+
+Building and running locally
+--------------------
+
+Begin by following the instructions to
+[download and build Skia](../../user/quick), then simply build and run the
+`skiaserve` tool:
+
+<!--?prettify lang=sh?-->
+
+ # Build.
+ ninja -C out/Release skiaserve
+
+ # Run the debugger locally
+ out/Release/skiaserve
+
+After running `skiaserve`, follow the instructions to open the debugger in your
+local browser. By default the address will be `http://127.0.0.1:8888`.
+
+
diff --git a/src/third_party/skia/site/dev/tools/debugger.png b/src/third_party/skia/site/dev/tools/debugger.png
new file mode 100644
index 0000000..3659f75
--- /dev/null
+++ b/src/third_party/skia/site/dev/tools/debugger.png
Binary files differ
diff --git a/src/third_party/skia/site/dev/tools/image.png b/src/third_party/skia/site/dev/tools/image.png
new file mode 100644
index 0000000..24b1dcf
--- /dev/null
+++ b/src/third_party/skia/site/dev/tools/image.png
Binary files differ
diff --git a/src/third_party/skia/site/dev/tools/index.md b/src/third_party/skia/site/dev/tools/index.md
new file mode 100644
index 0000000..5d61dd6
--- /dev/null
+++ b/src/third_party/skia/site/dev/tools/index.md
@@ -0,0 +1,4 @@
+Tools
+=====
+
+Developer tools for working in Skia.
diff --git a/src/third_party/skia/site/dev/tools/markdown.md b/src/third_party/skia/site/dev/tools/markdown.md
new file mode 100644
index 0000000..939e8a3
--- /dev/null
+++ b/src/third_party/skia/site/dev/tools/markdown.md
@@ -0,0 +1,438 @@
+Markdown
+========
+
+This site can handle normal MarkDown and many common extensions. To learn
+how the following is done please see the [source for this page](./markdown.md).
+Any file you put under `/site/` that has the extension `.md` will be processed
+as MarkDown. All other files will be served directly. For example, images
+can be added and they will be served correctly and referenced from within MarkDown files.
+
+When preparing for a code review of site docs you can get a preview of how the
+page will render by visiting the skia.org site and add a query parameter `cl`
+with the value of the Reitveld issue id:
+
+ https://skia.org/path/to/markdown-file?cl=REITVELD_ISSUE_NUMBER
+
+You can also run a local copy of the documentation server, which will allow
+you to preview changes much quicker. You must have [Go](https://golang.org)
+installed on your computer, which you will have if you are running on a Google
+corporate workstation. Run:
+
+ go get -u skia.googlesource.com/buildbot.git/doc/go/docserver
+
+And then **from within** the directory of your local Git checkout of Skia run:
+
+ docserver --preview --local
+
+Then visit http://localhost:8000 to preview your changes. There is no need to
+restart the server for file changes, but you will need to restart it if there
+are changes to the navigation menu, i.e. you add or remove a file and want it
+to appear in the navigation on the right hand side of the page.
+
+If port 8000 is unavailable on your machine you can set the port to use via
+the --port flag:
+
+ docserver --preview --local --port=:8002
+
+METADATA
+--------
+
+By default all files and directories that appear in the same level are sorted
+alphabetically by file name in the navigation menu, with files appearing
+before directories. You can override this default behavior by adding a
+METADATA file to a directory. A METADATA file is a JSON file of the following
+format:
+
+~~~~
+ {
+ "dirOrder": ["sample", "quick", "special"],
+ "fileOrder": ["download", "api"]
+ }
+~~~~
+
+If a file or directory doesn't appear in `dirOrder` or `fileOrder` then it is sorted
+to appear after the members of `dirOrder` or `fileOrder` respectively. All
+files and directories that aren't controlled by a METADATA file are sorted in
+alphabetical order by their filename.
+
+Some Example MarkDown
+---------------------
+
+This is a [link](https://www.google.com). You can also create
+ordered and unordered lists:
+
+1. First
+2. Second:
+ * Fee
+ * Fie
+ * Foe
+ * Fum
+3. Third
+
+Incorporate images:
+
+
+
+Or go old school and use [ASCII art](http://asciiflow.com/):
+
+~~~~
+
+ +----------------+
+ | Should you |
+ +--+ use ASCII art? +--+
+ | +----------------+ |
+ | |
++---v---+ +---v---+
+| | | |
+| Yes | | No |
+| | | |
++-------+ +-------+
+
+~~~~
+
+Format code snippets or other preformatted text. Just surround the code
+with `~~~~`. You can also trigger syntax highlighting by putting in
+the following HTML comment before the code section:
+
+ <!--?prettify?-->
+
+
+<!--?prettify?-->
+~~~~
+class SK_API SkPaint {
+public:
+ SkPaint();
+ SkPaint(const SkPaint& paint);
+ ~SkPaint();
+
+ SkPaint& operator=(const SkPaint&);
+~~~~
+
+
+Tables
+
+ Name | Value | Summary
+ --------|----------|--------
+ A | 27 | yes
+ B | 23 | no
+
+
+There are also inline styles for *emphasis*, **bold**,
+~~strikethrough~~, and `inline code`. Also small fractions,
+such as 1/2 are rendered nicely.
+
+> # There are
+> ## Headers
+> ### Up To
+> #### Six
+> ##### Levels
+> ###### Deep
+
+And you can <b>always</b> use HTML, which is useful for features that can't be
+done in MarkDown, such as iframes, but try to avoid using HTML outside of
+sitations like that.
+<svg viewBox="0 0 24 24" height="24px" width="24px" style="display: inline;">
+ <g>
+ <path d="M1
+ 21h4v-12h-4v12zm22-11c0-1.1-.9-2-2-2h-6.31l.95-4.57.03-.32c0-.41-.17-.79-.44-1.06l-1.06-1.05-6.58
+ 6.59c-.37.36-.59.86-.59 1.41v10c0 1.1.9 2 2 2h9c.83 0 1.54-.5
+ 1.84-1.22l3.02-7.05c.09-.23.14-.47.14-.73v-1.91l-.01-.01.01-.08z"> </path>
+ </g>
+</svg>
+
+Reference
+=========
+
+Below is a longer reference on the MarkDown that docserver accepts.
+
+Paragraphs
+----------
+
+A paragraph is simply one or more consecutive lines of text, separated
+by one or more blank lines. (A blank line is any line that looks like a
+blank line -- a line containing nothing spaces or tabs is considered
+blank.) Normal paragraphs should not be intended with spaces or tabs.
+
+Headers and Blockquotes
+-----------------------
+
+You can create headers by either "underlining" with equal signs (`=`) and hyphens (`-`),
+or,you can put 1-6 hash marks (`#`) at the
+beginning of the line -- the number of hashes equals the resulting
+HTML header level.
+
+Blockquotes are indicated using email-style '`>`' angle brackets.
+
+Markdown:
+
+ A First Level Header
+ ====================
+
+ A Second Level Header
+ ---------------------
+
+ Now is the time for all good men to come to
+ the aid of their country. This is just a
+ regular paragraph.
+
+ The quick brown fox jumped over the lazy
+ dog's back.
+
+ ### Header 3
+
+ > This is a blockquote.
+ >
+ > This is the second paragraph in the blockquote.
+ >
+ > ## This is an H2 in a blockquote
+
+
+Output:
+
+ <h1>A First Level Header</h1>
+
+ <h2>A Second Level Header</h2>
+
+ <p>Now is the time for all good men to come to
+ the aid of their country. This is just a
+ regular paragraph.</p>
+
+ <p>The quick brown fox jumped over the lazy
+ dog's back.</p>
+
+ <h3>Header 3</h3>
+
+ <blockquote>
+ <p>This is a blockquote.</p>
+
+ <p>This is the second paragraph in the blockquote.</p>
+
+ <h2>This is an H2 in a blockquote</h2>
+ </blockquote>
+
+
+
+### Phrase Emphasis ###
+
+Markdown uses asterisks and underscores to indicate spans of emphasis.
+
+Markdown:
+
+ Some of these words *are emphasized*.
+ Some of these words _are emphasized also_.
+
+ Use two asterisks for **strong emphasis**.
+ Or, if you prefer, __use two underscores instead__.
+
+Output:
+
+ <p>Some of these words <em>are emphasized</em>.
+ Some of these words <em>are emphasized also</em>.</p>
+
+ <p>Use two asterisks for <strong>strong emphasis</strong>.
+ Or, if you prefer, <strong>use two underscores instead</strong>.</p>
+
+
+
+## Lists ##
+
+Unordered (bulleted) lists use asterisks, pluses, and hyphens (`*`,
+`+`, and `-`) as list markers. These three markers are
+interchangable; this:
+
+ * Candy.
+ * Gum.
+ * Booze.
+
+this:
+
+ + Candy.
+ + Gum.
+ + Booze.
+
+and this:
+
+ - Candy.
+ - Gum.
+ - Booze.
+
+all produce the same output:
+
+ <ul>
+ <li>Candy.</li>
+ <li>Gum.</li>
+ <li>Booze.</li>
+ </ul>
+
+Ordered (numbered) lists use regular numbers, followed by periods, as
+list markers:
+
+ 1. Red
+ 2. Green
+ 3. Blue
+
+Output:
+
+ <ol>
+ <li>Red</li>
+ <li>Green</li>
+ <li>Blue</li>
+ </ol>
+
+If you put blank lines between items, you'll get `<p>` tags for the
+list item text. You can create multi-paragraph list items by indenting
+the paragraphs by 4 spaces or 1 tab:
+
+ * A list item.
+
+ With multiple paragraphs.
+
+ * Another item in the list.
+
+Output:
+
+ <ul>
+ <li><p>A list item.</p>
+ <p>With multiple paragraphs.</p></li>
+ <li><p>Another item in the list.</p></li>
+ </ul>
+
+
+
+### Links ###
+
+Markdown supports two styles for creating links: *inline* and
+*reference*. With both styles, you use square brackets to delimit the
+text you want to turn into a link.
+
+Inline-style links use parentheses immediately after the link text.
+For example:
+
+ This is an [example link](http://example.com/).
+
+Output:
+
+ <p>This is an <a href="http://example.com/">
+ example link</a>.</p>
+
+Optionally, you may include a title attribute in the parentheses:
+
+ This is an [example link](http://example.com/ "With a Title").
+
+Output:
+
+ <p>This is an <a href="http://example.com/" title="With a Title">
+ example link</a>.</p>
+
+Reference-style links allow you to refer to your links by names, which
+you define elsewhere in your document:
+
+ I get 10 times more traffic from [Google][1] than from
+ [Yahoo][2] or [MSN][3].
+
+ [1]: http://google.com/ "Google"
+ [2]: http://search.yahoo.com/ "Yahoo Search"
+ [3]: http://search.msn.com/ "MSN Search"
+
+Output:
+
+ <p>I get 10 times more traffic from <a href="http://google.com/"
+ title="Google">Google</a> than from <a href="http://search.yahoo.com/"
+ title="Yahoo Search">Yahoo</a> or <a href="http://search.msn.com/"
+ title="MSN Search">MSN</a>.</p>
+
+The title attribute is optional. Link names may contain letters,
+numbers and spaces, but are *not* case sensitive:
+
+ I start my morning with a cup of coffee and
+ [The New York Times][NY Times].
+
+ [ny times]: http://www.nytimes.com/
+
+Output:
+
+ <p>I start my morning with a cup of coffee and
+ <a href="http://www.nytimes.com/">The New York Times</a>.</p>
+
+
+### Images ###
+
+Image syntax is very much like link syntax.
+
+Inline (titles are optional):
+
+ 
+
+Reference-style:
+
+ ![alt text][id]
+
+ [id]: /path/to/img.jpg "Title"
+
+Both of the above examples produce the same output:
+
+ <img src="/path/to/img.jpg" alt="alt text" title="Title" />
+
+
+
+### Code ###
+
+In a regular paragraph, you can create code span by wrapping text in
+backtick quotes. Any ampersands (`&`) and angle brackets (`<` or
+`>`) will automatically be translated into HTML entities. This makes
+it easy to use Markdown to write about HTML example code:
+
+ I strongly recommend against using any `<blink>` tags.
+
+ I wish SmartyPants used named entities like `—`
+ instead of decimal-encoded entites like `—`.
+
+Output:
+
+ <p>I strongly recommend against using any
+ <code><blink></code> tags.</p>
+
+ <p>I wish SmartyPants used named entities like
+ <code>&mdash;</code> instead of decimal-encoded
+ entites like <code>&#8212;</code>.</p>
+
+
+To specify an entire block of pre-formatted code, indent every line of
+the block by 4 spaces or 1 tab. Just like with code spans, `&`, `<`,
+and `>` characters will be escaped automatically.
+
+Markdown:
+
+ If you want your page to validate under XHTML 1.0 Strict,
+ you've got to put paragraph tags in your blockquotes:
+
+ <blockquote>
+ <p>For example.</p>
+ </blockquote>
+
+Output:
+
+ <p>If you want your page to validate under XHTML 1.0 Strict,
+ you've got to put paragraph tags in your blockquotes:</p>
+
+ <pre><code><blockquote>
+ <p>For example.</p>
+ </blockquote>
+ </code></pre>
+
+### Floating Menu ###
+
+To create a floating menu for a single page that always appears
+in the upper right hand corner of the page, use a `div` with a
+class of "float", for example:
+
+ <div class="float">
+ <ul>
+ <li><a href="#SkXfermode">SkXfermode</a></li>
+ <li><a href="#SkShader">SkShader</a></li>
+ <li><a href="#SkMaskFilter">SkMaskFilter</a></li>
+ <li><a href="#SkColorFilter">SkColorFilter</a></li>
+ <li><a href="#SkPathEffect">SkPathEffect</a></li>
+ </ul>
+ </div>
+
diff --git a/src/third_party/skia/site/dev/tools/onlinedebugger.png b/src/third_party/skia/site/dev/tools/onlinedebugger.png
new file mode 100644
index 0000000..d8bfbf0
--- /dev/null
+++ b/src/third_party/skia/site/dev/tools/onlinedebugger.png
Binary files differ
diff --git a/src/third_party/skia/site/favicon.ico b/src/third_party/skia/site/favicon.ico
new file mode 100644
index 0000000..e7440c7
--- /dev/null
+++ b/src/third_party/skia/site/favicon.ico
Binary files differ
diff --git a/src/third_party/skia/site/index.md b/src/third_party/skia/site/index.md
new file mode 100644
index 0000000..7a83f59
--- /dev/null
+++ b/src/third_party/skia/site/index.md
@@ -0,0 +1,71 @@
+Skia Graphics Library
+=====================
+
+Skia is an open source 2D graphics library which provides common APIs that work
+across a variety of hardware and software platforms. It serves as the graphics
+engine for Google Chrome and Chrome OS, Android, Mozilla Firefox and Firefox
+OS, and many other products.
+
+Skia is sponsored and managed by Google, but is available for use by anyone
+under the BSD Free Software License. While engineering of the core components
+is done by the Skia development team, we consider contributions from any
+source.
+
+ * Canonical source tree:
+ [skia.googlesource.com/skia](https://skia.googlesource.com/skia).
+ * Issue tracker:
+ [bug.skia.org](https://bug.skia.org/).
+ * Discussion forum:
+ [skia-discuss@googlegroups.com](https://groups.google.com/forum/#!forum/skia-discuss).
+
+Showcase
+--------
+
+Click on any image below to see the source code that generated the image.
+<table>
+ <tr><th>Shapes</th><th>Bézier Curves</th></tr>
+ <tr>
+ <td>
+ <a href='https://fiddle.skia.org/c/@shapes'><img src='https://fiddle.skia.org/i/@shapes_raster.png'></a>
+ </td>
+ <td>
+ <a href='https://fiddle.skia.org/c/@bezier_curves'><img src='https://fiddle.skia.org/i/@bezier_curves_raster.png'></a>
+ </td>
+ </tr>
+
+ <tr><th>Translations and Rotations</th><th>Text Rendering</th></tr>
+ <tr>
+ <td>
+ <a href='https://fiddle.skia.org/c/@rotations'><img src='https://fiddle.skia.org/i/@rotations_raster.png'></a>
+ </td>
+ <td>
+ <a href='https://fiddle.skia.org/c/@text_rendering'><img src='https://fiddle.skia.org/i/@text_rendering_raster.png'></a>
+ </td>
+ </tr>
+
+ <tr><th>Discrete Path Effects</th><th>Composed Path Effects</th></tr>
+ <tr>
+ <td>
+ <a href='https://fiddle.skia.org/c/@discrete_path'><img src='https://fiddle.skia.org/i/@discrete_path_raster.png'></a>
+ </td>
+ <td>
+ <a href='https://fiddle.skia.org/c/@compose_path'><img src='https://fiddle.skia.org/i/@compose_path_raster.png'></a>
+ </td>
+ </tr>
+ <tr><th>Sum Path Effects</th><th>Shaders</th></tr>
+ <tr>
+ <td>
+ <a href='https://fiddle.skia.org/c/@sum_path_effect'><img src='https://fiddle.skia.org/i/@sum_path_effect_raster.png'></a>
+ </td>
+ <td>
+ <a href='https://fiddle.skia.org/c/@shader'><img src='https://fiddle.skia.org/i/@shader_raster.png'></a>
+ </td>
+ </tr>
+</table>
+
+Roadmap
+-------
+For a look at high level items we have on tap the next 6-12 months, view our
+roadmap [here](https://docs.google.com/document/d/1C9w8qpPpdgNGThqmgNnTToLZ5UYK4TsUGl5X3B_q6oM/edit?usp=sharing).
+Note it is a living document that changes based on the requirements of our users.
+
diff --git a/src/third_party/skia/site/robots.txt b/src/third_party/skia/site/robots.txt
new file mode 100644
index 0000000..eb05362
--- /dev/null
+++ b/src/third_party/skia/site/robots.txt
@@ -0,0 +1,2 @@
+User-agent: *
+Disallow:
diff --git a/src/third_party/skia/site/roles.md b/src/third_party/skia/site/roles.md
new file mode 100644
index 0000000..9cdec69
--- /dev/null
+++ b/src/third_party/skia/site/roles.md
@@ -0,0 +1,67 @@
+Project Roles
+=============
+
+The Skia open source project includes individuals working in a variety of
+roles. Anyone can view the code, use the Skia library, file bugs, and submit
+patches. This page describes in detail the kinds of roles that interested
+parties can assume.
+
+For more information on ways to get involved in Skia development, see the
+[Contributing to Skia page](/dev/contrib/).
+
+<div>
+<style scoped><!--
+#rolestable {border-collapse:collapse;}
+#rolestable tr th, #rolestable tr td {border-right:white 2px solid;padding:0 5px;}
+#rolestable tr td {height:10ex;}
+#rolestable tr td p {margin:5px 0; padding:0;}
+--></style>
+<table id="rolestable">
+ <tr>
+ <th></th>
+ <th>Source Code & Documentation</th>
+ <th>Code Reviews</th>
+ <th>Bug Tracker</th>
+ <th></th>
+ </tr>
+ <tr style="background-color:#e6b8af;color:black;">
+ <th>Committer</th>
+ <td>
+ <p>force-commit</p>
+ </td>
+ <td>
+ <p>approve changes</p>
+ </td>
+ <td></td>
+ </tr>
+ <tr style="background-color:#ffe599;color:black;">
+ <th>Contributor<br>(and above)</th>
+ <td></td>
+ <td>
+ <p>launch try jobs</p>
+ </td>
+ <td>
+ <p>change bug status</p>
+ <p>edit bug labels</p>
+ <p>own bugs</p>
+ </td>
+ </tr>
+ <tr style="background-color:#d0e0e3;color:black;">
+ <th>Developer<br>(and above)</th>
+ <td>
+ <p>download</p>
+ <p>view history</p>
+ </td>
+ <td>
+ <p>commit changes (once approved)</p>
+ <p>upload changes for approval</p>
+ <p>view</p>
+ </td>
+ <td>
+ <p>add comments to existing bugs</p>
+ <p>file new bugs</p>
+ <p>view bugs</p>
+ </td>
+ </tr>
+</table>
+</div>
diff --git a/src/third_party/skia/site/schedule.md b/src/third_party/skia/site/schedule.md
new file mode 100644
index 0000000..2182be4
--- /dev/null
+++ b/src/third_party/skia/site/schedule.md
@@ -0,0 +1,27 @@
+Milestone Schedule
+==================
+
+On a six week cadence aligned with Chromium, Skia cuts milestone branches.
+Clients wishing to stay on a relatively stable level of Skia often utilize these
+branches.
+
+On the branch date, a healthy level of Skia near HEAD is chosen. After this
+point, for the next six weeks, only high priority fixes are checked into the branch.
+After the six week period, when another branch is cut, only critical (typically
+security) fixes will be committed to any previous branch.
+
+Skia 2017 schedule:
+
+ Milestone | Branch Date (beginning of day)
+ ----------|-------------------------------
+ 57 | 01/19/17
+ 58 | 03/02/17
+ 59 | 04/13/17
+ 60 | 05/25/17
+ 61 | 07/20/17
+ 62 | 08/31/17
+ 63 | 10/12/17
+ 64 | 11/30/17
+
+The current milestone is included in the headers in
+[SkMilestone.h](https://skia.googlesource.com/skia/+/master/include/core/SkMilestone.h).
diff --git a/src/third_party/skia/site/user/METADATA b/src/third_party/skia/site/user/METADATA
new file mode 100644
index 0000000..6dd6513
--- /dev/null
+++ b/src/third_party/skia/site/user/METADATA
@@ -0,0 +1,4 @@
+{
+ "dirOrder": ["sample", "quick", "api", "special"],
+ "fileOrder": ["download", "build"]
+}
diff --git a/src/third_party/skia/site/user/api/METADATA b/src/third_party/skia/site/user/api/METADATA
new file mode 100644
index 0000000..27625c5
--- /dev/null
+++ b/src/third_party/skia/site/user/api/METADATA
@@ -0,0 +1,3 @@
+{
+ "fileOrder": ["skcanvas", "skpaint", "skrect", "skregion", "skmatrix", "grcontext", "canvas"]
+}
diff --git a/src/third_party/skia/site/user/api/canvas.md b/src/third_party/skia/site/user/api/canvas.md
new file mode 100644
index 0000000..d9e1559
--- /dev/null
+++ b/src/third_party/skia/site/user/api/canvas.md
@@ -0,0 +1,264 @@
+Creating SkCanvas Objects
+=========================
+
+First, read about [the SkCanvas API](skcanvas).
+
+Skia has multiple backends which receive SkCanvas drawing commands,
+including:
+
+- [Raster](#raster) - CPU-only.
+- [GPU](#gpu) - Skia's GPU-accelerated backend.
+- [SkPDF](#skpdf) - PDF document creation.
+- [SkPicture](#skpicture) - Skia's display list format.
+- [NullCanvas](#nullcanvas) - Useful for testing only.
+- [SkXPS](#skxps) - Experimental XPS backend.
+- [SkSVG](#sksvg) - Experimental XPS backend.
+
+Each backend has a unique way of creating a SkCanvas. This page gives
+an example for each:
+
+<span id="raster"></span>
+Raster
+------
+
+The raster backend draws to a block of memory. This memory can be
+managed by Skia or by the client.
+
+The recommended way of creating a canvas for the Raster and Ganesh
+backends is to use a `SkSurface`, which is an object that manages
+the memory into which the canvas commands are drawn.
+
+<!--?prettify lang=cc?-->
+
+ #include "SkData.h"
+ #include "SkImage.h"
+ #include "SkStream.h"
+ #include "SkSurface.h"
+ void raster(int width, int height,
+ void (*draw)(SkCanvas*),
+ const char* path) {
+ sk_sp<SkSurface> rasterSurface =
+ SkSurface::MakeRasterN32Premul(width, height);
+ SkCanvas* rasterCanvas = rasterSurface->getCanvas();
+ draw(rasterCanvas);
+ sk_sp<SkImage> img(rasterSurface->makeImageSnapshot());
+ if (!img) { return; }
+ sk_sp<SkData> png(img->encode());
+ if (!png) { return; }
+ SkFILEWStream out(path);
+ (void)out.write(png->data(), png->size());
+ }
+
+Alternatively, we could have specified the memory for the surface
+explicitly, instead of asking Skia to manage it.
+
+<!--?prettify lang=cc?-->
+
+ #include <vector>
+ #include "SkSurface.h"
+ std::vector<char> raster_direct(int width, int height,
+ void (*draw)(SkCanvas*)) {
+ SkImageInfo info = SkImageInfo::MakeN32Premul(width, height);
+ size_t rowBytes = info.minRowBytes();
+ size_t size = info.getSafeSize(rowBytes);
+ std::vector<char> pixelMemory(size); // allocate memory
+ sk_sp<SkSurface> surface =
+ SkSurface::MakeRasterDirect(
+ info, &pixelMemory[0], rowBytes);
+ SkCanvas* canvas = surface->getCanvas();
+ draw(canvas);
+ return pixelMemory;
+ }
+
+<span id="gpu"></span>
+GPU
+------
+
+GPU Surfaces must have a `GrContext` object which manages the
+GPU context, and related caches for textures and fonts. GrContexts
+are matched one to one with OpenGL contexts or Vulkan devices. That is, all
+SkSurfaces that will be rendered to using the same OpenGL context or Vulkan
+device should share a GrContext. Skia does not create a OpenGL context or Vulkan
+device for you. In OpenGL mode it also assumes that the correct OpenGL context
+has been made current to the current thread when Skia calls are made.
+
+<!--?prettify lang=cc?-->
+
+ #include "GrContext.h"
+ #include "gl/GrGLInterface.h"
+ #include "SkData.h"
+ #include "SkImage.h"
+ #include "SkStream.h"
+ #include "SkSurface.h"
+
+ void gl_example(int width, int height, void (*draw)(SkCanvas*), const char* path) {
+ // You've already created your OpenGL context and bound it.
+ const GrGLInterface* interface = nullptr;
+ // Leaving interface as null makes Skia extract pointers to OpenGL functions for the current
+ // context in a platform-specific way. Alternatively, you may create your own GrGLInterface and
+ // initialize it however you like to attach to an alternate OpenGL implementation or intercept
+ // Skia's OpenGL calls.
+ GrContext* context = GrContext::Create(kOpenGL_GrBackend, (GrBackendContext) interface);
+ SkImageInfo info = SkImageInfo:: MakeN32Premul(width, height);
+ sk_sp<SkSurface> gpuSurface(
+ SkSurface::MakeRenderTarget(context, SkBudgeted::kNo, info));
+ if (!gpuSurface) {
+ SkDebugf("SkSurface::MakeRenderTarget returned null\n");
+ return;
+ }
+ SkCanvas* gpuCanvas = gpuSurface->getCanvas();
+ draw(gpuCanvas);
+ sk_sp<SkImage> img(gpuSurface->makeImageSnapshot());
+ if (!img) { return; }
+ sk_sp<SkData> png(img->encode());
+ if (!png) { return; }
+ SkFILEWStream out(path);
+ (void)out.write(png->data(), png->size());
+ }
+
+<span id="skpdf"></span>
+SkPDF
+-----
+
+The SkPDF backend uses `SkDocument` instead of `SkSurface`, since
+a document must include multiple pages.
+
+<!--?prettify lang=cc?-->
+
+ #include "SkDocument.h"
+ #include "SkStream.h"
+ void skpdf(int width, int height,
+ void (*draw)(SkCanvas*),
+ const char* path) {
+ SkFILEWStream pdfStream(path);
+ sk_sp<SkDocument> pdfDoc = SkDocument::MakePDF(&pdfStream);
+ SkCanvas* pdfCanvas = pdfDoc->beginPage(SkIntToScalar(width),
+ SkIntToScalar(height));
+ draw(pdfCanvas);
+ pdfDoc->close();
+ }
+
+<span id="skpicture"></span>
+SkPicture
+---------
+
+The SkPicture backend uses SkPictureRecorder instead of SkSurface.
+
+<!--?prettify lang=cc?-->
+
+ #include "SkPictureRecorder.h"
+ #include "SkPicture.h"
+ #include "SkStream.h"
+ void picture(int width, int height,
+ void (*draw)(SkCanvas*),
+ const char* path) {
+ SkPictureRecorder recorder;
+ SkCanvas* recordingCanvas = recorder.beginRecording(SkIntToScalar(width),
+ SkIntToScalar(height));
+ draw(recordingCanvas);
+ sk_sp<SkPicture> picture = recorder.finishRecordingAsPicture();
+ SkFILEWStream skpStream(path);
+ // Open SKP files with `SampleApp --picture SKP_FILE`
+ picture->serialize(&skpStream);
+ }
+
+<span id="nullcanvas"></span>
+NullCanvas
+----------
+
+The null canvas is a canvas that ignores all drawing commands and does
+nothing.
+
+<!--?prettify lang=cc?-->
+
+ #include "SkNullCanvas.h"
+ void null_canvas_example(int, int, void (*draw)(SkCanvas*), const char*) {
+ std::unique_ptr<SkCanvas> nullCanvas = SkMakeNullCanvas();
+ draw(nullCanvas.get()); // NoOp
+ }
+
+<span id="skxps"></span>
+SkXPS
+-----
+
+The (*still experimental*) SkXPS canvas writes into an XPS document.
+
+<!--?prettify lang=cc?-->
+
+ #include "SkDocument.h"
+ #include "SkStream.h"
+ #ifdef SK_BUILD_FOR_WIN
+ void skxps(IXpsOMObjectFactory* factory;
+ int width, int height,
+ void (*draw)(SkCanvas*),
+ const char* path) {
+ SkFILEWStream xpsStream(path);
+ sk_sp<SkDocument> xpsDoc = SkDocument::MakeXPS(&pdfStream, factory);
+ SkCanvas* xpsCanvas = xpsDoc->beginPage(SkIntToScalar(width),
+ SkIntToScalar(height));
+ draw(xpsCanvas);
+ xpsDoc->close();
+ }
+ #endif
+
+<span id="sksvg"></span>
+SkSVG
+-----
+
+The (*still experimental*) SkSVG canvas writes into an SVG document.
+
+<!--?prettify lang=cc?-->
+
+ #include "SkStream.h"
+ #include "SkSVGCanvas.h"
+ #include "SkXMLWriter.h"
+ void sksvg(int width, int height,
+ void (*draw)(SkCanvas*),
+ const char* path) {
+ SkFILEWStream svgStream(path);
+ std::unique_ptr<SkXMLWriter> xmlWriter(
+ new SkXMLStreamWriter(&svgStream));
+ SkRect bounds = SkRect::MakeIWH(width, height);
+ std::unique_ptr<SkCanvas> svgCanvas =
+ SkSVGCanvas::Make(bounds, xmlWriter.get());
+ draw(svgCanvas.get());
+ }
+
+<span id="example"></span>
+Example
+-------
+
+To try this code out, make a [new unit test using instructions
+here](/dev/testing/tests) and wrap these funtions together:
+
+<!--?prettify lang=cc?-->
+
+ #include "SkCanvas.h"
+ #include "SkPath.h"
+ #include "Test.h"
+ void example(SkCanvas* canvas) {
+ const SkScalar scale = 256.0f;
+ const SkScalar R = 0.45f * scale;
+ const SkScalar TAU = 6.2831853f;
+ SkPath path;
+ for (int i = 0; i < 5; ++i) {
+ SkScalar theta = 2 * i * TAU / 5;
+ if (i == 0) {
+ path.moveTo(R * cos(theta), R * sin(theta));
+ } else {
+ path.lineTo(R * cos(theta), R * sin(theta));
+ }
+ }
+ path.close();
+ SkPaint p;
+ p.setAntiAlias(true);
+ canvas->clear(SK_ColorWHITE);
+ canvas->translate(0.5f * scale, 0.5f * scale);
+ canvas->drawPath(path, p);
+ }
+ DEF_TEST(FourBackends, r) {
+ raster( 256, 256, example, "out_raster.png" );
+ gl_example( 256, 256, example, "out_gpu.png" );
+ skpdf( 256, 256, example, "out_skpdf.pdf" );
+ picture( 256, 256, example, "out_picture.skp");
+ }
diff --git a/src/third_party/skia/site/user/api/index.md b/src/third_party/skia/site/user/api/index.md
new file mode 100644
index 0000000..3d02edd
--- /dev/null
+++ b/src/third_party/skia/site/user/api/index.md
@@ -0,0 +1,89 @@
+API Overview & Doxygen Docs
+===========================
+
+Skia is organized around the `SkCanvas` object. It is the host for the
+"draw" calls: `drawRect`, `drawPath`, `drawText`, etc. Each of these
+has two components: the primitive being drawn (`SkRect`, `SkPath`, etc.)
+and color/style attributes (`SkPaint`).
+
+<!--?prettify lang=cc?-->
+
+ canvas->drawRect(rect, paint);
+
+The paint holds much of the state describing how the rectangle (in
+this case) is drawn: what color it is, if it is filled or stroked, how
+it should blend with what was previously drawn.
+
+The canvas holds relatively little state. It points to the actual
+pixels being drawn, and it maintains a stack of matrices and
+clips. Thus in the above call, the canvas' current matrix may
+transform the coordinates of the rectangle (translation, rotation,
+skewing, perspective), and the canvas' current clip may restrict where
+on the canvas the rectangle will be drawn, but all other stylistic
+attributes of the drawing are controlled by the paint.
+
+Using the SkCanvas API:
+
+1. **[SkCanvas](/user/api/skcanvas)** - the drawing context.
+2. **[SkPaint](/user/api/skpaint)** - color, stroke, font, effects
+3. **[SkRect](/user/api/skrect)** - rectangles
+4. **[SkRegion](/user/api/skregion)** - set operations with rectangles and paths
+
+Appendix:
+
+1. **[Creating SkCanvas Objects](/user/api/canvas)**
+
+Autogenerated Doxygen Documentaion
+----------------------------------
+
+* [Skia Doxygen](http://skia-doc.commondatastorage.googleapis.com/doxygen/doxygen/html/index.html)
+
+Here's a partial list of the more important Skia classes:
+
+* [SkCanvas](http://skia-doc.commondatastorage.googleapis.com/doxygen/doxygen/html/classSkCanvas.html)
+* [SkImage](http://skia-doc.commondatastorage.googleapis.com/doxygen/doxygen/html/classSkImage.html)
+* [SkSurface](http://skia-doc.commondatastorage.googleapis.com/doxygen/doxygen/html/classSkSurface.html)
+* [SkPaint](http://skia-doc.commondatastorage.googleapis.com/doxygen/doxygen/html/classSkPaint.html)
+* [SkShader](http://skia-doc.commondatastorage.googleapis.com/doxygen/doxygen/html/classSkShader.html)
+ - [SkComposeShader](http://skia-doc.commondatastorage.googleapis.com/doxygen/doxygen/html/classSkComposeShader.html)
+ - [SkPerlinNoiseShader](http://skia-doc.commondatastorage.googleapis.com/doxygen/doxygen/html/classSkPerlinNoiseShader.html)
+ - [SkGradientShader](http://skia-doc.commondatastorage.googleapis.com/doxygen/doxygen/html/classSkGradientShader.html)
+ - [SkTransparentShader](http://skia-doc.commondatastorage.googleapis.com/doxygen/doxygen/html/classSkTransparentShader.html)
+* [SkColorFilter](http://skia-doc.commondatastorage.googleapis.com/doxygen/doxygen/html/classSkColorFilter.html)
+ - [SkColorMatrixFilter](http://skia-doc.commondatastorage.googleapis.com/doxygen/doxygen/html/classSkColorMatrixFilter.html)
+ - [SkLumaColorFilter](http://skia-doc.commondatastorage.googleapis.com/doxygen/doxygen/html/classSkLumaColorFilter.html)
+ - [SkModeColorFilter](http://skia-doc.commondatastorage.googleapis.com/doxygen/doxygen/html/classSkModeColorFilter.html)
+* [SkPathEffect](http://skia-doc.commondatastorage.googleapis.com/doxygen/doxygen/html/classSkPathEffect.html)
+ - [SkPath2DPathEffect](http://skia-doc.commondatastorage.googleapis.com/doxygen/doxygen/html/classSkPath2DPathEffect.html)
+ - [SkLine2DPathEffect](http://skia-doc.commondatastorage.googleapis.com/doxygen/doxygen/html/classSkLine2DPathEffect.html)
+ - [SkPath1DPathEffect](http://skia-doc.commondatastorage.googleapis.com/doxygen/doxygen/html/classSkPath1DPathEffect.html)
+ - [SkArcToPathEffect](http://skia-doc.commondatastorage.googleapis.com/doxygen/doxygen/html/classSkArcToPathEffect.html)
+ - [SkCornerPathEffect](http://skia-doc.commondatastorage.googleapis.com/doxygen/doxygen/html/classSkCornerPathEffect.html)
+ - [SkDashPathEffect](http://skia-doc.commondatastorage.googleapis.com/doxygen/doxygen/html/classSkDashPathEffect.html)
+ - [SkDiscretePathEffect](http://skia-doc.commondatastorage.googleapis.com/doxygen/doxygen/html/classSkDiscretePathEffect.html)
+ - [SkComposePathEffect](http://skia-doc.commondatastorage.googleapis.com/doxygen/doxygen/html/classSkComposePathEffect.html)
+ - [SkSumPathEffect](http://skia-doc.commondatastorage.googleapis.com/doxygen/doxygen/html/classSkSumPathEffect.html)
+* [SkImageFilter](http://skia-doc.commondatastorage.googleapis.com/doxygen/doxygen/html/classSkImageFilter.html)
+ - [SkAlphaThresholdFilter](http://skia-doc.commondatastorage.googleapis.com/doxygen/doxygen/html/classSkAlphaThresholdFilter.html)
+ - [SkBlurImageFilter](http://skia-doc.commondatastorage.googleapis.com/doxygen/doxygen/html/classSkBlurImageFilter.html)
+ - [SkBitmapSource](http://skia-doc.commondatastorage.googleapis.com/doxygen/doxygen/html/classSkBitmapSource.html)
+ - [SkColorFilterImageFilter](http://skia-doc.commondatastorage.googleapis.com/doxygen/doxygen/html/classSkColorFilterImageFilter.html)
+ - [SkComposeImageFilter](http://skia-doc.commondatastorage.googleapis.com/doxygen/doxygen/html/classSkComposeImageFilter.html)
+ - [SkDisplacementMapEffect](http://skia-doc.commondatastorage.googleapis.com/doxygen/doxygen/html/classSkDisplacementMapEffect.html)
+ - [SkDownSampleImageFilter](http://skia-doc.commondatastorage.googleapis.com/doxygen/doxygen/html/classSkDownSampleImageFilter.html)
+ - [SkDropShadowImageFilter](http://skia-doc.commondatastorage.googleapis.com/doxygen/doxygen/html/classSkDropShadowImageFilter.html)
+ - [SkLightingImageFilter](http://skia-doc.commondatastorage.googleapis.com/doxygen/doxygen/html/classSkLightingImageFilter.html)
+ - [SkMagnifierImageFilter](http://skia-doc.commondatastorage.googleapis.com/doxygen/doxygen/html/classSkMagnifierImageFilter.html)
+ - [SkMatrixConvolutionImageFilter](http://skia-doc.commondatastorage.googleapis.com/doxygen/doxygen/html/classSkMatrixConvolutionImageFilter.html)
+ - [SkMergeImageFilter](http://skia-doc.commondatastorage.googleapis.com/doxygen/doxygen/html/classSkMergeImageFilter.html)
+ - [SkDilateImageFilter](http://skia-doc.commondatastorage.googleapis.com/doxygen/doxygen/html/classSkDilateImageFilter.html)
+ - [SkErodeImageFilter](http://skia-doc.commondatastorage.googleapis.com/doxygen/doxygen/html/classSkErodeImageFilter.html)
+ - [SkOffsetImageFilter](http://skia-doc.commondatastorage.googleapis.com/doxygen/doxygen/html/classSkOffsetImageFilter.html)
+ - [SkPictureImageFilter](http://skia-doc.commondatastorage.googleapis.com/doxygen/doxygen/html/classSkPictureImageFilter.html)
+ - [SkRectShaderImageFilter](http://skia-doc.commondatastorage.googleapis.com/doxygen/doxygen/html/classSkRectShaderImageFilter.html)
+ - [SkTileImageFilter](http://skia-doc.commondatastorage.googleapis.com/doxygen/doxygen/html/classSkTileImageFilter.html)
+ - [SkXfermodeImageFilter](http://skia-doc.commondatastorage.googleapis.com/doxygen/doxygen/html/classSkXfermodeImageFilter.html)
+* [SkMaskFilter](http://skia-doc.commondatastorage.googleapis.com/doxygen/doxygen/html/classSkMaskFilter.html)
+ - [SkTableMaskFilter](http://skia-doc.commondatastorage.googleapis.com/doxygen/doxygen/html/classSkTableMaskFilter.html)
+* [SkDrawLooper](http://skia-doc.commondatastorage.googleapis.com/doxygen/doxygen/html/classSkDrawLooper.html)
+ - [SkBlurDrawLooper](http://skia-doc.commondatastorage.googleapis.com/doxygen/doxygen/html/classSkBlurDrawLooper.html)
diff --git a/src/third_party/skia/site/user/api/skcanvas.md b/src/third_party/skia/site/user/api/skcanvas.md
new file mode 100644
index 0000000..a1e3428
--- /dev/null
+++ b/src/third_party/skia/site/user/api/skcanvas.md
@@ -0,0 +1,70 @@
+SkCanvas
+========
+
+*The drawing context*
+
+<!-- Updated Mar 4, 2011 -->
+
+Preview
+-------
+
+Here is an example of a set of drawing commands to draw a filled
+heptagram. This function can be cut and pasted into
+[fiddle.skia.org](https://fiddle.skia.org/).
+
+<fiddle-embed name='@skcanvas_star'></fiddle-embed>
+
+Details
+-------
+
+SkCanvas is the drawing context for Skia. It knows where to direct the
+drawing (i.e. where the screen of offscreen pixels are), and maintains
+a stack of matrices and clips. Note however, that unlike similar
+contexts in other APIs like postscript, cairo, or awt, Skia does not
+store any other drawing attributes in the context (e.g. color, pen
+size). Rather, these are specified explicitly in each draw call, via a
+SkPaint.
+
+<fiddle-embed name='@skcanvas_square'></fiddle-embed>
+
+The code above will draw a rectangle rotated by 45 degrees. Exactly
+what color and style the rect will be drawn in is described by the
+paint, not the canvas.
+
+Check out more detailed info on [creating a SkCanvas object](canvas).
+
+To begin with, we might want to erase the entire canvas. We can do
+this by drawing an enormous rectangle, but there are easier ways to do
+it.
+
+<!--?prettify lang=cc?-->
+
+ void draw(SkCanvas* canvas) {
+ SkPaint paint;
+ paint.setColor(SK_ColorWHITE);
+ canvas->drawPaint(paint);
+ }
+
+This fills the entire canvas (though respecting the current clip of
+course) with whatever color or shader (and xfermode) is specified by
+the paint. If there is a shader in the paint, then it will respect the
+current matrix on the canvas as well (see SkShader). If you just want
+to draw a color (with an optional xfermode), you can just call
+drawColor(), and save yourself having to allocate a paint.
+
+<!--?prettify lang=cc?-->
+
+ void draw(SkCanvas* canvas) {
+ canvas->drawColor(SK_ColorWHITE);
+ }
+
+All of the other draw APIs are similar, each one ending with a paint
+parameter.
+
+<fiddle-embed name='@skcanvas_paint'></fiddle-embed>
+
+In some of the calls, we pass a pointer, rather than a reference, to
+the paint. In those instances, the paint parameter may be null. In all
+other cases the paint parameter is required.
+
+Next: [SkPaint](/user/api/skpaint)
diff --git a/src/third_party/skia/site/user/api/skmatrix.md b/src/third_party/skia/site/user/api/skmatrix.md
new file mode 100644
index 0000000..3048cdc
--- /dev/null
+++ b/src/third_party/skia/site/user/api/skmatrix.md
@@ -0,0 +1,12 @@
+SkMatrix
+========
+
+*3x3 transforms*
+
+<!-- Updated Mar 4, 2011 -->
+
+Skia is a 2D graphics engine, but it supports a full 3x3
+transformation matrix. This allow it to draw anything (bitmaps, text,
+rectangles, paths) in perspective. SkCamera is a helper class that
+models a camera in 3D, and can be used to generate the proper matrix
+for a given 3D view of the plane.
diff --git a/src/third_party/skia/site/user/api/skpaint.md b/src/third_party/skia/site/user/api/skpaint.md
new file mode 100644
index 0000000..0d404ca
--- /dev/null
+++ b/src/third_party/skia/site/user/api/skpaint.md
@@ -0,0 +1,207 @@
+SkPaint
+=======
+<span id="top"></span>
+
+*color, stroke, font, effects*
+
+<div class="float">
+ <ul>
+ <li><a href="#">SkPaint</a></li>
+ <li><a href="#SkXfermode">SkXfermode</a></li>
+ <li><a href="#SkShader">SkShader</a></li>
+ <li><a href="#SkMaskFilter">SkMaskFilter</a></li>
+ <li><a href="#SkColorFilter">SkColorFilter</a></li>
+ <li><a href="#SkPathEffect">SkPathEffect</a></li>
+ </ul>
+</div>
+
+
+Anytime you draw something in Skia, and want to specify what color it
+is, or how it blends with the background, or what style or font to
+draw it in, you specify those attributes in a paint.
+
+Unlike `SkCanvas`, paints do not maintain an internal stack of state
+(i.e. there is no save/restore on a paint). However, paints are
+relatively light-weight, so the client may create and maintain any
+number of paint objects, each set up for a particular use. Factoring
+all of these color and stylistic attributes out of the canvas state,
+and into (multiple) paint objects, allows canvas' save/restore to be
+that much more efficient, as all they have to do is maintain the stack
+of matrix and clip settings.
+
+<fiddle-embed name='@skpaint_skia'></fiddle-embed>
+
+This shows three different paints, each set up to draw in a different
+style. Now the caller can intermix these paints freely, either using
+them as is, or modifying them as the drawing proceeds.
+
+<fiddle-embed name='@skpaint_mix'></fiddle-embed>
+
+Beyond simple attributes such as color, strokes, and text values,
+paints support effects. These are subclasses of different aspects of
+the drawing pipeline, that when referenced by a paint (each of them is
+reference-counted), are called to override some part of the drawing
+pipeline.
+
+For example, to draw using a gradient instead of a single color,
+assign a SkShader to the paint.
+
+<fiddle-embed name='@skpaint_shader'></fiddle-embed>
+
+Now, anything drawn with that paint will be drawn with the gradient
+specified in the call to `MakeLinear()`. The shader object that is
+returned is reference-counted. Whenever any effects object, like a
+shader, is assigned to a paint, its reference-count is increased by
+the paint. To balance this, the caller in the above example calls
+`unref()` on the shader once it has assigned it to the paint. Now the
+paint is the only "owner" of that shader, and it will automatically
+call `unref()` on the shader when either the paint goes out of scope, or
+if another shader (or null) is assigned to it.
+
+There are 6 types of effects that can be assigned to a paint:
+
+* **SkPathEffect** - modifications to the geometry (path) before it
+ generates an alpha mask (e.g. dashing)
+* **SkRasterizer** - composing custom mask layers (e.g. shadows)
+* **SkMaskFilter** - modifications to the alpha mask before it is
+ colorized and drawn (e.g. blur)
+* **SkShader** - e.g. gradients (linear, radial, sweep), bitmap patterns
+ (clamp, repeat, mirror)
+* **SkColorFilter** - modify the source color(s) before applying the
+ xfermode (e.g. color matrix)
+* **SkXfermode** - e.g. porter-duff transfermodes, blend modes
+
+Paints also hold a reference to a SkTypeface. The typeface represents
+a specific font style, to be used for measuring and drawing
+text. Speaking of which, paints are used not only for drawing text,
+but also for measuring it.
+
+<!--?prettify lang=cc?-->
+
+ paint.measureText(...);
+ paint.getTextBounds(...);
+ paint.textToGlyphs(...);
+ paint.getFontMetrics(...);
+
+<span id="SkXfermode"></span>
+
+SkXfermode
+----------
+
+The following example demonstrates all of the Skia's standard transfer
+modes. In this example the source is a solid magenta color with a
+horizontal alpha gradient and the destination is a solid cyan color
+with a vertical alpha gradient.
+
+<fiddle-embed name='@skpaint_xfer'></fiddle-embed>
+
+<span id="SkShader"></span>
+
+SkShader
+--------
+
+Several shaders are defined (besides the linear gradient already mentioned):
+
+* Bitmap Shader
+
+ <fiddle-embed name='@skpaint_bitmap_shader'></fiddle-embed>
+
+* Radial Gradient Shader
+
+ <fiddle-embed name='@skpaint_radial'></fiddle-embed>
+
+* Two-Point Conical Gradient Shader
+
+ <fiddle-embed name='@skpaint_2pt'></fiddle-embed>
+
+
+* Sweep Gradient Shader
+
+ <fiddle-embed name='@skpaint_sweep'></fiddle-embed>
+
+* Fractal Perlin Noise Shader
+
+ <fiddle-embed name='@skpaint_perlin'></fiddle-embed>
+
+* Turbulence Perlin Noise Shader
+
+ <fiddle-embed name='@skpaint_turb'></fiddle-embed>
+
+* Compose Shader
+
+ <fiddle-embed name='@skpaint_compose_shader'></fiddle-embed>
+
+
+<span id="SkMaskFilter"></span>
+
+SkMaskFilter
+------------
+
+* Blur Mask Filter
+
+ <fiddle-embed name='@skpaint_blur_mask_filter'></fiddle-embed>
+
+
+<span id="SkColorFilter"></span>
+
+SkColorFilter
+-------------
+
+* Color Matrix Color Filter
+
+ <fiddle-embed name='@skpaint_matrix_color_filter'></fiddle-embed>
+
+* Color Table Color Filter
+
+ <fiddle-embed name='@skpaint_color_table_filter'></fiddle-embed>
+
+<span id="SkPathEffect"></span>
+
+SkPathEffect
+------------
+
+* SkPath2DPathEffect: Stamp the specified path to fill the shape,
+ using the matrix to define the latice.
+
+ <fiddle-embed name='@skpaint_path_2d_path_effect'></fiddle-embed>
+
+* SkLine2DPathEffect: a special case of SkPath2DPathEffect where the
+ path is a straight line to be stroked, not a path to be filled.
+
+ <fiddle-embed name='@skpaint_line_2d_path_effect'></fiddle-embed>
+
+* SkPath1DPathEffect: create dash-like effects by replicating the specified path along the drawn path.
+
+ <fiddle-embed name='@skpaint_path_1d_path_effect'></fiddle-embed>
+
+* SkArcToPathEffect
+
+ The following few examples use this function:
+
+ <fiddle-embed name='@skpaint_arc_to_path_effect'></fiddle-embed>
+
+* SkCornerPathEffect: a path effect that can turn sharp corners into
+ various treatments (e.g. rounded corners).
+
+ <fiddle-embed name='@skpaint_corner_path_effects'></fiddle-embed>
+
+* SkDashPathEffect: a path effect that implements dashing.
+
+ <fiddle-embed name='@skpaint_dash_path_effect'></fiddle-embed>
+
+* SkDiscretePathEffect: This path effect chops a path into discrete
+ segments, and randomly displaces them.
+
+ <fiddle-embed name='@skpaint_discrete_path_effect'></fiddle-embed>
+
+* SkComposePathEffect: a pathEffect whose effect is to apply
+ first the inner pathEffect and the the outer pathEffect (i.e.
+ outer(inner(path))).
+
+ <fiddle-embed name='@skpaint_compose_path_effect'></fiddle-embed>
+
+* SkSumPathEffect: a pathEffect whose effect is to apply two effects,
+ in sequence (i.e. first(path) + second(path)).
+
+ <fiddle-embed name='@skpaint_sum_path_effect'></fiddle-embed>
+
diff --git a/src/third_party/skia/site/user/api/skrect.md b/src/third_party/skia/site/user/api/skrect.md
new file mode 100644
index 0000000..c2ebef1
--- /dev/null
+++ b/src/third_party/skia/site/user/api/skrect.md
@@ -0,0 +1,73 @@
+SkRect
+======
+
+*Rectangles*
+
+<!--Updated Mar 4, 2011-->
+
+SkRect is basic to many drawing and measuring operations. It can be
+drawn using canvas.drawRect(), but it is also used to return the
+bounds of objects like paths and text characters. It is specified
+using SkScalar values.
+
+SkIRect is the integer counter part to SkRect, but is specified using
+32bit integers.
+
+<!--?prettify lang=cc?-->
+
+ struct SkRect {
+ SkScalar fLeft;
+ SkScalar fTop;
+ SkScalar fRight;
+ SkScalar fBottom;
+ // methods
+ };
+
+ SkRect rect = SkRect::MakeLTRB(left, top, right, bottom);
+
+SkRect has the usual getters, to return width(), height(), centerX(),
+etc. It also has methods to compute unions and intersections between
+rectangles.
+
+Converting between SkRect and SkIRect is asymetric. Short of overflow
+issues when SkScalar is an int, converting from SkIRect to SkRect is
+straight forward:
+
+<!--?prettify lang=cc?-->
+
+ SkRect::set(const SkIRect&);
+
+However, convert from SkRect to SkIRect needs to know how to go from
+fractional values to integers.
+
+<!--?prettify lang=cc?-->
+
+ SkRect::round(SkIRect*) const; // Round each coordinate.
+ SkRect::roundOut(SkIRect*) const; // Apply floor to left/top,
+ // and ceil to right/bottom.
+
+In Skia, rectangle coordinates describe the boundary of what is drawn,
+such that an empty rectangle encloses zero pixels:
+
+bool SkRect::isEmpty() const { return fLeft >= fRight || fTop >= fBottom; }
+
+<!--?prettify lang=cc?-->
+
+ SkScalar SkRect::width() const { return fRight - fLeft; }
+
+ SkScalar SkRect::height() const { return fBottom - fTop; }
+
+ bool SkRect::contains(SkScalar x, SkScalar y) const {
+ return fLeft <= x && x < fRight && fTop <= y && y < fBottom;
+ }
+
+Thus, to draw a single pixel (assuming no matrix on the canvas), the
+rectangle should be initialized as follows:
+
+<!--?prettify lang=cc?-->
+
+ SkRect r = SkRect::MakeXYWH(x, y, SkIntToScalar(1), SkIntToScalar(1));
+
+The same conventions hold for the integer counterpart: SkIRect. This
+also dovetails with SkRegion, which has the same model for set
+membership, and which uses SkIRect.
diff --git a/src/third_party/skia/site/user/api/skregion.md b/src/third_party/skia/site/user/api/skregion.md
new file mode 100644
index 0000000..f4f46c9
--- /dev/null
+++ b/src/third_party/skia/site/user/api/skregion.md
@@ -0,0 +1,111 @@
+SkRegion
+========
+
+*Regions - set operations with rectangles*
+
+<!-- Updated Mar 4, 2011 -->
+
+Regions are a highly compressed way to represent (integer) areas. Skia
+uses them to represent (internally) the current clip on the
+canvas. Regions take their inspiration from the data type with the
+same name on the original Macintosh (thank you Bill).
+
+Regions are opaque structures, but they can be queried via
+iterators. Best of all, they can be combined with other regions and
+with rectangles (which can be thought of as "simple" regions. If you
+remember Set operations from math class (intersection, union,
+difference, etc.), then you're all ready to use regions.
+
+<!--?prettify lang=cc?-->
+
+ bool SkRegion::isEmpty();
+ bool SkRegion::isRect();
+ bool SkRegion::isComplex();
+
+Regions can be classified into one of three types: empty, rectangular,
+or complex.
+
+Empty regions are just that, empty. All empty regions are equal (using
+operator==). Compare this to rectangles (SkRect or SkIRect). Any
+rectangle with fLeft >= fRight or fTop >= fBottom is consider empty,
+but clearly there are different empty rectangles that are not equal.
+
+<!--?prettify lang=cc?-->
+
+ SkRect a = { 0, 0, 0, 0 };
+ SkRect b = { 1, 1, 1, 1 };
+
+Both a and b are empty, but they are definitely not equal to each
+other. However, with regions, all empty regions are equal. If you
+query its bounds, you will always get { 0, 0, 0, 0 }. Even if you
+translate it, it will still be all zeros.
+
+<!--?prettify lang=cc?-->
+
+<!--?prettify lang=cc?-->
+
+ SkRegion a, b; // regions default to empty
+ assert(a == b);
+ a.offset(10, 20);
+ assert(a == b);
+ assert(a.getBounds() == { 0, 0, 0, 0 }); // not legal C++, but you get the point
+ assert(b.getBounds() == { 0, 0, 0, 0 });
+
+To initialize a region to something more interesting, use one of the
+set() methods
+
+<!--?prettify lang=cc?-->
+
+ SkRegion a, b;
+ a.setRect(10, 10, 50, 50);
+ b.setRect(rect); // see SkIRect
+ c.setPath(path); // see SkPath
+
+This is the first step that SkCanvas performs when one of its
+clip...() methods are called. The clip data is first transformed into
+device coordinates (see SkMatrix), and then a region is build from the
+data (either a rect or a path). The final step is to combine this new
+region with the existing clip using the specified operator.
+
+<!--?prettify lang=cc?-->
+
+ enum Op {
+ kUnion_Op,
+ kIntersect_Op,
+ kDifference_Op,
+ kXor_Op,
+ kReverseDifference_Op,
+ kReplace_Op
+ };
+
+By default, intersect op is used when a clip call is made, but the
+other operators are equally valid.
+
+<!--?prettify lang=cc?-->
+
+ // returns true if the resulting clip is non-empty (i.e. drawing can
+ // still occur)
+ bool SkCanvas::clipRect(const SkRect& rect, SkRegion::Op op) {
+ SkRegion rgn;
+
+ // peek at the CTM (current transformation matrix on the canvas)
+ const SkMatrix& m = this->getTotalMatrix();
+
+ if (m.rectStaysRect()) { // check if a transformed rect can be
+ // represented as another rect
+
+ SkRect deviceRect;
+ m.mapRect(&deviceRect, rect);
+ SkIRect intRect;
+ deviceRect.round(&intRect);
+ rgn.setRect(intRect);
+ } else { // matrix rotates or skew (or is perspective)
+ SkPath path;
+ path.addRect(rect);
+ path.transform(m);
+ rgn.setPath(path);
+ }
+
+ // now combine the new region with the current one, using the specified *op*
+ return fCurrentClip.op(rgn, op);
+ }
diff --git a/src/third_party/skia/site/user/build.md b/src/third_party/skia/site/user/build.md
new file mode 100644
index 0000000..bfcb18a
--- /dev/null
+++ b/src/third_party/skia/site/user/build.md
@@ -0,0 +1,173 @@
+How to build Skia
+=================
+
+Make sure you have first followed the [instructions to download
+Skia](./download).
+
+Skia uses [GN](https://chromium.googlesource.com/chromium/src/tools/gn/) to
+configure its builds.
+
+`is_official_build` and Third-party Dependencies
+------------------------------------------------
+
+Most users of Skia should set `is_official_build=true`, and most developers
+should leave it to its `false` default.
+
+This mode configures Skia in a way that's suitable to ship: an optimized build
+with no debug symbols, dynamically linked against its third-party dependencies
+using the ordinary library search path.
+
+In contrast, the developer-oriented default is an unoptimized build with full
+debug symbols and all third-party dependencies built from source and embedded
+into libskia. This is how do all our manual and automated testing.
+
+Skia offers several features that make use of third-party libraries, like
+libpng, libwebp, or libjpeg-turbo to decode images, or ICU and sftnly to subset
+fonts. All these third-party dependencies are optional and can be controlled
+by a GN argument that looks something like `skia_use_foo` for appropriate
+`foo`.
+
+If `skia_use_foo` is enabled, enabling `skia_use_system_foo` will build and
+link Skia against the headers and libaries found on the system paths.
+`is_official_build=true` enables all `skia_use_system_foo` by default. You can
+use `extra_cflags` and `extra_ldflags` to add include or library paths if
+needed.
+
+Quickstart
+----------
+
+Run GN to generate your build files.
+
+ bin/gn gen out/Static --args='is_official_build=true'
+ bin/gn gen out/Shared --args='is_official_build=true is_component_build=true'
+
+If you find you don't have `bin/gn`, make sure you've run
+
+ python tools/git-sync-deps
+
+GN allows fine-grained settings for developers and special situations.
+
+ bin/gn gen out/Debug
+ bin/gn gen out/Release --args='is_debug=false'
+ bin/gn gen out/Clang --args='cc="clang" cxx="clang++"'
+ bin/gn gen out/Cached --args='cc_wrapper="ccache"'
+ bin/gn gen out/RTTI --args='extra_cflags_cc=["-frtti"]'
+
+To see all the arguments available, you can run
+
+ bin/gn args out/Debug --list
+
+Having generated your build files, run Ninja to compile and link Skia.
+
+ ninja -C out/Static
+ ninja -C out/Shared
+ ninja -C out/Debug
+ ninja -C out/Release
+ ninja -C out/Clang
+ ninja -C out/Cached
+ ninja -C out/RTTI
+
+Android
+-------
+
+To build Skia for Android you need an [Android
+NDK](https://developer.android.com/ndk/index.html).
+
+If you do not have an NDK and have access to CIPD, you
+can use one of these commands to fetch the NDK our bots use:
+
+ python infra/bots/assets/android_ndk_linux/download.py -t /tmp/ndk
+ python infra/bots/assets/android_ndk_darwin/download.py -t /tmp/ndk
+ python infra/bots/assets/android_ndk_windows/download.py -t C:/ndk
+
+When generating your GN build files, pass the path to your `ndk` and your
+desired `target_cpu`:
+
+ bin/gn gen out/arm --args='ndk="/tmp/ndk" target_cpu="arm"'
+ bin/gn gen out/arm64 --args='ndk="/tmp/ndk" target_cpu="arm64"'
+ bin/gn gen out/mips64el --args='ndk="/tmp/ndk" target_cpu="mips64el"'
+ bin/gn gen out/mipsel --args='ndk="/tmp/ndk" target_cpu="mipsel"'
+ bin/gn gen out/x64 --args='ndk="/tmp/ndk" target_cpu="x64"'
+ bin/gn gen out/x86 --args='ndk="/tmp/ndk" target_cpu="x86"'
+
+Other arguments like `is_debug` and `is_component_build` continue to work.
+Tweaking `ndk_api` gives you access to newer Android features like Vulkan.
+
+To test on an Android device, push the binary and `resources` over,
+and run it as normal. You may find `bin/droid` convenient.
+
+ ninja -C out/arm64
+ adb push out/arm64/dm /data/local/tmp
+ adb push resources /data/local/tmp
+ adb shell "cd /data/local/tmp; ./dm --src gm --config gl"
+
+Mac
+---
+
+Mac users may want to pass `--ide=xcode` to `bin/gn gen` to generate an Xcode project.
+
+iOS
+---
+
+Run GN to generate your build files. Set `target_os="ios"` to build for iOS.
+This defaults to `target_cpu="arm64"`. Choosing `x64` targets the iOS simulator.
+
+ bin/gn gen out/ios64 --args='target_os="ios"'
+ bin/gn gen out/ios32 --args='target_os="ios" target_cpu="arm"'
+ bin/gn gen out/iossim --args='target_os="ios" target_cpu="x64"'
+
+Googlers who want to sign and run iOS test binaries can do so by running something like
+
+ python gn/package_ios.py out/Debug/dm
+ python gn/package_ios.py out/Release/nanobench
+
+These commands will create and sign `dm.app` or `nanobench.app` packages you
+can push to iOS devices registered for Google development. `ios-deploy` makes
+installing and running these packages easy:
+
+ ios-deploy -b out/Debug/dm.app -d --args "--match foo"
+
+If you find yourself missing a Google signing identity or provisioning profile,
+you'll want to have a read through go/appledev.
+
+Windows
+-------
+
+Skia can build on Windows with Visual Studio 2015 Update 3, or Visual Studio
+2017 by setting `msvc = 2017` in GN. No older versions are supported. The bots
+use a packaged 2015 toolchain, which Googlers can download like this:
+
+ python infra/bots/assets/win_toolchain/download.py -t C:/toolchain
+
+If you pass that downloaded path to GN via `windk`, you can build using that
+toolchain instead of your own from Visual Studio. This toolchain is the only
+way we support 32-bit builds with 2015, by also setting `target_cpu="x86"`.
+32-bit builds should work with the default 2017 install if you follow the
+directions GN prints to set up your environment.
+
+### Visual Studio Solutions
+
+If you use Visual Studio, you may want to pass `--ide=vs` to `bin/gn gen` to
+generate `all.sln`. That solution will exist within the GN directory for the
+specific configuration, and will only build/run that configuration.
+
+If you want a Visual Studio Solution that supports multiple GN configurations,
+there is a helper script. It requires that all of your GN directories be inside
+the `out` directory. First, create all of your GN configurations as usual.
+Pass `--ide=vs` when running `bin/gn gen` for each one. Then:
+
+ python gn/gn_meta_sln.py
+
+This creates a new dedicated output directory and solution file
+`out/sln/skia.sln`. It has one solution configuration for each GN configuration,
+and supports building and running any of them. It also adjusts syntax highlighting
+of inactive code blocks based on preprocessor definitions from the selected
+solution configuration.
+
+CMake
+-----
+
+We have added a GN-to-CMake translator mainly for use with IDEs that like CMake
+project descriptions. This is not meant for any purpose beyond development.
+
+ bin/gn gen out/config --ide=json --json-ide-script=../../gn/gn_to_cmake.py
diff --git a/src/third_party/skia/site/user/download.md b/src/third_party/skia/site/user/download.md
new file mode 100644
index 0000000..75a53da
--- /dev/null
+++ b/src/third_party/skia/site/user/download.md
@@ -0,0 +1,38 @@
+How to download Skia
+====================
+
+Install depot_tools and Git
+---------------------------
+
+Follow the instructions on [Installing Chromium's
+depot_tools](http://www.chromium.org/developers/how-tos/install-depot-tools)
+to download depot_tools (which includes gclient, git-cl, and Ninja).
+
+<!--?prettify lang=sh?-->
+
+ git clone 'https://chromium.googlesource.com/chromium/tools/depot_tools.git'
+ export PATH="${PWD}/depot_tools:${PATH}"
+
+depot_tools will also install Git on your system, if it wasn't installed
+already.
+
+Clone the Skia repository
+-------------------------
+
+<!--?prettify lang=sh?-->
+
+ git clone https://skia.googlesource.com/skia.git
+ cd skia
+ python tools/git-sync-deps
+
+Getting started with Skia
+-------------------------
+
+You probably now want to [build](./build) Skia.
+
+Changing and contributing to Skia
+---------------------------------
+
+At this point, you have everything you need to build and use Skia! If
+you want to make changes, and possibly contribute them back to the Skia
+project, read [How To Submit a Patch](../dev/contrib/submit).
diff --git a/src/third_party/skia/site/user/index.md b/src/third_party/skia/site/user/index.md
new file mode 100644
index 0000000..5fb51e8
--- /dev/null
+++ b/src/third_party/skia/site/user/index.md
@@ -0,0 +1,20 @@
+User Documentation
+==================
+
+If you want to write code that uses the Skia library, this is the place for you.
+
+The Skia graphics library can be used for drawing Text, Geometries, and Images:
+
+ * 3x3 matrices w/ perspective
+ * antialiasing, transparency, filters
+ * shaders, xfermodes, maskfilters, patheffects
+ * subpixel text
+
+Device backends for Skia currently include:
+
+ * Raster
+ * OpenGL
+ * PDF
+ * XPS
+ * Picture (for recording and then playing back into another Canvas)
+
diff --git a/src/third_party/skia/site/user/issue-tracker.md b/src/third_party/skia/site/user/issue-tracker.md
new file mode 100644
index 0000000..c85747f
--- /dev/null
+++ b/src/third_party/skia/site/user/issue-tracker.md
@@ -0,0 +1,28 @@
+Issue Tracking
+==============
+
+The Skia Issue Tracker
+----------------------
+[Skia's Issue Tracker](https://bugs.chromium.org/p/skia/issues/list)
+(bug.skia.org or skbug.com) is the primary bug database where we track all defect
+reports and feature requests.
+
+When filing a new issue, please select the appropriate template, most likely
+"Defect report from user" or "Feature request". Include an example
+[fiddle](https://fiddle.skia.org) or image. All issues will be triaged by our
+program manager and assigned to the appropriate functional team.
+
+
+Skia issues in the Chromium Tracker
+-----------------------------------
+Skia bugs found in Chrome may be filed in the [Chromium Tracker](https://bugs.chromium.org/p/chromium/issues/list) (crbug.com).
+
+### Triage for Chromium developers
+ * To have an issue triaged by the Skia team, add `Component:Internals>Skia`.
+ * For problems related to Skia rolls where an obvious owner cannot be found in
+ the list of CLs, assign to the Skia Sheriff, listed at the top of
+ [status.skia.org](https://status.skia.org) and as a reviewer on the roll CL.
+ * If the Sheriff cannot be assigned, cc them and assign the issue to hcm@.
+ * For GPU specific issues, add label `Hotlist-Ganesh`.
+ * For image encoding or decoding issues, add
+ `Component:Internals>Images>Codecs`.
diff --git a/src/third_party/skia/site/user/quick/METADATA b/src/third_party/skia/site/user/quick/METADATA
new file mode 100644
index 0000000..0c2cb34
--- /dev/null
+++ b/src/third_party/skia/site/user/quick/METADATA
@@ -0,0 +1,2 @@
+{ "fileOrder": ["ios"] }
+
diff --git a/src/third_party/skia/site/user/quick/index.md b/src/third_party/skia/site/user/quick/index.md
new file mode 100644
index 0000000..35c9e5a
--- /dev/null
+++ b/src/third_party/skia/site/user/quick/index.md
@@ -0,0 +1,5 @@
+Quick Start Guides (Deprecated)
+===============================
+
+This section is obsolete and will be removed soon.
+See [How to build Skia](/user/build) for the best way to build Skia.
diff --git a/src/third_party/skia/site/user/sample/architecture.png b/src/third_party/skia/site/user/sample/architecture.png
new file mode 100644
index 0000000..a2b74cf
--- /dev/null
+++ b/src/third_party/skia/site/user/sample/architecture.png
Binary files differ
diff --git a/src/third_party/skia/site/user/sample/color.md b/src/third_party/skia/site/user/sample/color.md
new file mode 100644
index 0000000..28d86d3
--- /dev/null
+++ b/src/third_party/skia/site/user/sample/color.md
@@ -0,0 +1,193 @@
+Color Correct Skia
+==================
+
+Why is Skia Color Correct?
+--------------------------
+
+A color space is a **gamut** and a **transfer function**.
+
+Gamut refers to the **available range of colors** of a particular in an image or on a display
+device. Being gamut correct means that we will display colors as the designer intended and
+consistently across display devices. A common problem with new “wide gamut” devices and
+uncorrected colors is illustrated below.
+
+Device Dependent Color (Wrong)
+
+<img src='gamut_wrong.png'>
+
+Gamut Corrected Color
+
+<img src='gamut_correct.png'>
+
+Transfer function refers to **a non-linear encoding of pixel values**. A common transfer function
+is shown below.
+
+<img src='transfer_fn.png'>
+
+If we ignore the transfer function and treat non-linear values as if they are linear (when
+filtering, blending, anti-aliasing, multiplying), everything gets “too dark”.
+
+For example, we should see yellow (not brown) as the average of red and green light.
+
+Ignore Transfer Function
+
+<img src='gradient_wrong.png'>
+
+Apply Transfer Function
+
+<img src='gradient_correct.png'>
+
+Also, we should maintain fine detail when anti-aliasing (or downscaling).
+
+Ignore Transfer Function
+
+<img src='detail_wrong.png'>
+
+Apply Transfer Function
+
+<img src='detail_correct.png'>
+
+Skia Architecture for Color Correctness
+---------------------------------------
+
+<img src='architecture.png'>
+
+The major stages of the Skia drawing pipeline (premultiplication, filtering, blending) all assume
+linear inputs and linear outputs. Also, because they are linear operations, they are
+interchangeable.
+
+The gamut transform is a new operation (3x3 matrix) in the pipeline, but with similar properties:
+it is a linear operation with linear inputs and linear outputs.
+
+The important shift in logic from the legacy pipeline is that we actually apply the transfer
+function to transform the pixels to linear values before performing the linear operations.
+
+The most common transfer function, sRGB, is actually free on GPU! GPU hardware can transform sRGB
+to linear on reads and linear to sRGB on writes.
+
+Best Practices for Color Correct Skia
+-------------------------------------
+
+In order to perform color correct rendering, Skia needs to know the **SkColorSpace** of the content
+that you draw and the **SkColorSpace** of the surface that you draw to. There are useful factories
+to make color spaces.
+
+<!--?prettify lang=cc?-->
+
+ // Really common color spaces
+ sk_sp<SkColorSpace> MakeSRGB();
+ sk_sp<SkColorSpace> MakeSRGBLinear();
+
+ // Choose a common gamut and a common transfer function
+ sk_sp<SkColorSpace> MakeRGB(RenderTargetGamma, Gamut);
+
+ // Create a color space from an ICC profile
+ sk_sp<SkColorSpace> MakeICC();
+
+Starting with **sources** (the things that draw you draw), there are a number of ways to make sure
+that they are tagged with a color space.
+
+**SkColor** (stored on **SkPaint**) is assumed to be in the sRGB color space - meaning that it
+is in the sRGB gamut and encoded with the sRGB transfer function.
+
+**SkShaders** (also stored on **SkPaint**) can be used to create more complex colors. Color and
+gradient shaders typically accept **SkColor4f** (float colors). These high precision colors
+can be in any gamut, but must have a linear transfer function.
+
+<!--?prettify lang=cc?-->
+
+ // Create a high precision color in a particular color space
+ sk_sp<SkShader> MakeColorShader(const SkColor4f&, sk_sp<SkColorSpace>);
+
+ // Create a gradient shader in a particular color space
+ sk_sp<SkShader> MakeLinear(const SkPoint pts[2], const SkColor4f colors[2],
+ sk_sp<SkColorSpace>, ...);
+
+ // Many more variations of shaders...
+ // Remember that SkColor is always assumed to be sRGB as a convenience
+
+**SkImage** is the preferred representation for image sources. It is easy to create **SkImages**
+ that are tagged with color spaces.
+
+<!--?prettify lang=cc?-->
+
+ // Create an image from encoded data (jpeg, png, etc.)
+ // Will be tagged with the color space of the encoded data
+ sk_sp<SkImage> MakeFromEncoded(sk_sp<SkData> encoded);
+
+ // Create an image from a texture in a particular color space
+ // Caution: There are versions of this constructor that do not take an
+ // SkColorSpace. But without an SkColorSpace, Skia does not have
+ // enough information to draw correctly.
+ sk_sp<SkImage> MakeFromTexture(GrContext*, const GrBackendTextureDesc&,
+ SkAlphaType, sk_sp<SkColorSpace>, ...);
+
+**SkBitmap** is another (not preferred) representation for image sources. Be careful to not forget
+the color space.
+
+<!--?prettify lang=cc?-->
+
+ SkBitmap bitmap;
+ bitmap.allocN32Pixels(); // Bad: What is the color space?
+
+ SkBitmap bitmap;
+ SkImageInfo info = SkImageInfo::MakeN32Premul(width, height);
+ bitmap.allocPixels(info); // Bad: N32 is shorthand for 8888, no color space
+
+ SkBitmap bitmap;
+ SkImageInfo info = SkImageInfo::MakeS32(width, height, kPremul_SkAlphaType);
+ bitmap.allocPixels(info); // Good: S32 is shorthand for 8888, sRGB
+
+**SkImageInfo** is a useful struct for providing information about pixel buffers. Remember to use
+the color correct variants.
+
+<!--?prettify lang=cc?-->
+
+ // sRGB, 8888
+ SkImageInfo MakeS32(int width, int height, SkAlphaType);
+
+ // Create an SkImageInfo in a particular color space
+ SkImageInfo Make(int width, int height, SkColorType, SkAlphaType,
+ sk_sp<SkColorSpace>);
+
+Moving to **destinations** (the surfaces that you draw to), there are also constructors that allow
+them to be tagged with color spaces.
+
+<!--?prettify lang=cc?-->
+
+ // Raster backed: Make sure |info| has a non-null color space
+ sk_sp<SkSurface> MakeRaster(const SkImageInfo& info);
+
+ // Gpu backed: Make sure |info| has a non-null color space
+ sk_sp<SkSurface> SkSurface::MakeRenderTarget(GrContext, SkBudgeted,
+ const SkImageInfo& info);
+
+Opting In To Color Correct Skia
+-------------------------------
+
+By itself, **adding a color space tag to a source will not change draw behavior**. In fact,
+tagging sources with color spaces is always a best practice, regardless of whether we want Skia’s
+color correct behavior.
+
+Adding a color space tag to the **destination is the trigger that turns on Skia color correct
+behavior**.
+
+Drawing a source without a color space to a destination with a color space is undefined. Skia
+cannot know how to draw without knowing the color space of the source.
+
+<style scoped><!--
+#colortable {border-collapse:collapse;}
+#colortable tr th, #colortable tr td {border:#888888 2px solid;padding: 5px;}
+--></style>
+<table id="colortable">
+<tr><th>Source SkColorSpace</th> <th>Destination SkColorSpace</th> <th>Behavior</th></tr>
+<tr><td>Non-null</td> <td>Non-null</td> <td>Color Correct Skia</td></tr>
+<tr><td>Null</td> <td>Non-null</td> <td>Undefined</td></tr>
+<tr><td>Non-null</td> <td>Null</td> <td>Legacy Skia</td></tr>
+<tr><td>Null</td> <td>Null</td> <td>Legacy Skia</td></tr>
+</table>
+
+It is possible to create **an object that is both a source and destination**, if Skia will both
+draw into it and then draw it somewhere else. The same rules from above still apply, but it is
+subtle that the color space tag could have an effect (or no effect) depending on how the object is
+used.
\ No newline at end of file
diff --git a/src/third_party/skia/site/user/sample/detail_correct.png b/src/third_party/skia/site/user/sample/detail_correct.png
new file mode 100644
index 0000000..3f14885
--- /dev/null
+++ b/src/third_party/skia/site/user/sample/detail_correct.png
Binary files differ
diff --git a/src/third_party/skia/site/user/sample/detail_wrong.png b/src/third_party/skia/site/user/sample/detail_wrong.png
new file mode 100644
index 0000000..bd3c836
--- /dev/null
+++ b/src/third_party/skia/site/user/sample/detail_wrong.png
Binary files differ
diff --git a/src/third_party/skia/site/user/sample/gamut_correct.png b/src/third_party/skia/site/user/sample/gamut_correct.png
new file mode 100644
index 0000000..bb94caf
--- /dev/null
+++ b/src/third_party/skia/site/user/sample/gamut_correct.png
Binary files differ
diff --git a/src/third_party/skia/site/user/sample/gamut_wrong.png b/src/third_party/skia/site/user/sample/gamut_wrong.png
new file mode 100644
index 0000000..a5e584d
--- /dev/null
+++ b/src/third_party/skia/site/user/sample/gamut_wrong.png
Binary files differ
diff --git a/src/third_party/skia/site/user/sample/gradient_correct.png b/src/third_party/skia/site/user/sample/gradient_correct.png
new file mode 100644
index 0000000..5649995
--- /dev/null
+++ b/src/third_party/skia/site/user/sample/gradient_correct.png
Binary files differ
diff --git a/src/third_party/skia/site/user/sample/gradient_wrong.png b/src/third_party/skia/site/user/sample/gradient_wrong.png
new file mode 100644
index 0000000..8b70450
--- /dev/null
+++ b/src/third_party/skia/site/user/sample/gradient_wrong.png
Binary files differ
diff --git a/src/third_party/skia/site/user/sample/index.md b/src/third_party/skia/site/user/sample/index.md
new file mode 100644
index 0000000..ea1b357
--- /dev/null
+++ b/src/third_party/skia/site/user/sample/index.md
@@ -0,0 +1,2 @@
+Samples and Tutorials
+=====================
diff --git a/src/third_party/skia/site/user/sample/pdf.md b/src/third_party/skia/site/user/sample/pdf.md
new file mode 100644
index 0000000..7bd7b74
--- /dev/null
+++ b/src/third_party/skia/site/user/sample/pdf.md
@@ -0,0 +1,94 @@
+Using Skia's PDF Backend
+========================
+
+Here is an example of using Skia's PDF backend (SkPDF) via the
+SkDocument and SkCanvas APIs.
+
+<!--?prettify lang=cc?-->
+
+ #include "SkDocument.h"
+
+ void WritePDF(SkWStream* outputStream,
+ const char* documentTitle,
+ void (*writePage)(SkCanvas*, int page),
+ int numberOfPages,
+ SkSize pageSize) {
+ SkDocument::PDFMetadata metadata;
+ metadata.fTitle = documentTitle;
+ metadata.fCreator = "Example WritePDF() Function";
+ SkTime::DateTime now;
+ SkTime::GetDateTime(&now);
+ metadata.fCreation.fEnabled = true;
+ metadata.fCreation.fDateTime = now;
+ metadata.fModified.fEnabled = true;
+ metadata.fModified.fDateTime = now;
+ sk_sp<SkDocument> pdfDocument = SkDocument::MakePDF(
+ outputStream, SK_ScalarDefaultRasterDPI, metadata,
+ nullptr, true);
+ assert(pdfDocument);
+
+ for (int page = 0; page < numberOfPages; ++page) {
+ SkCanvas* pageCanvas =
+ pdfDocument->beginPage(pageSize.width(),
+ pageSize.height());
+ writePage(pageCanvas, page);
+ pdfDocument->endPage();
+ }
+ pdfDocument->close();
+ }
+
+* * *
+
+<span id="limits">SkPDF Limitations</span>
+------------------------------------------
+
+There are several corners of Skia's public API that SkPDF currently
+does not handle because either no known client uses the feature or
+there is no simple PDF-ish way to handle it.
+
+In this document:
+
+ + **drop** means to draw nothing.
+
+ + **ignore** mean to draw without the effect
+
+ + **expand** means to implement something in a non-PDF-ish way.
+ This may mean to rasterize vector graphics, to expand paths with
+ path effects into many individual paths, or to convert text to
+ paths.
+
+<style scoped><!--
+#pdftable {border-collapse:collapse;}
+#pdftable tr th, #pdftable tr td {border:#888888 2px solid;padding: 5px;}
+--></style>
+<table id="pdftable">
+<tr><th>Effect</th> <th>text</th> <th>images</th> <th>everything
+ else</th></tr>
+<tr><th>SkMaskFilter</th> <td>drop</td> <td>ignore</td> <td>ignore</td></tr>
+<tr><th>SkPathEffect</th> <td>ignore</td> <td>n/a</td> <td>expand</td></tr>
+<tr><th>SkColorFilter</th> <td>ignore</td> <td>expand</td> <td>ignore</td></tr>
+<tr><th>SkImageFilter</th> <td>expand</td> <td>expand</td> <td>expand</td></tr>
+<tr><th>unsupported SkXferModes</th> <td>ignore</td> <td>ignore</td> <td>ignore</td></tr>
+<tr><th>non-gradient SkShader</th> <td>expand</td> <td>n/a</td> <td>expand</td></tr>
+</table>
+
+Notes:
+
+ - *SkImageFilter*: When SkImageFilter is expanded, text-as-text is lost.
+
+ - *SkXferMode*: The following transfer modes are not natively
+ supported by PDF: DstOver, SrcIn, DstIn, SrcOut, DstOut, SrcATop,
+ DstATop, and Modulate.
+
+Other limitations:
+
+ - *drawText with VerticalText* — drop. No known clients seem to make use
+ of the VerticalText flag.
+
+ - *drawTextOnPath* — expand. (Text-as-text is lost.)
+
+ - *drawVertices* — drop.
+
+ - *drawPatch* — drop.
+
+* * *
diff --git a/src/third_party/skia/site/user/sample/sampleapp.md b/src/third_party/skia/site/user/sample/sampleapp.md
new file mode 100644
index 0000000..9738bd3
--- /dev/null
+++ b/src/third_party/skia/site/user/sample/sampleapp.md
@@ -0,0 +1,23 @@
+About SampleApp
+==========================
+The SampleApp displays a series of slides that exhibit specific features of the Skia system. It is mainly controlled using the keyboard: left (←) and (→) right arrows to move from slide to slide. Some slides require use resources stored outside the program. These resources are stored in the `<skia-path>/resources` directory.
+
+`<skia-path>/out/Release/SampleApp --resourcePath <skia-path>/resources`
+
+
+In addition to displaying various aspects of Skia, SampleApp is used to debug and understand different parts of the Skia system.
+
+* Observe rendering performance - pressing the 'f' key places the SampleApp in frame rate mode. It continuously draws the slide while desplaying the draw time in the title of the window.
+* Try different rendering methods - pressing the 'd' key cycles among the three rendering methods raster, picture and opengl. You can use this with the 'f' key to see the effect that the different rendering methods have on drawing performance.
+* Look at different angles - pressing the 'r' slowley rotates the slide.
+* Display and manipulate your own pictures - use the `--picture <skp-file-path>.skp` to use the `.skp` file as the slide desplayed by SampleApp. A `.skp` file can be generated by...
+
+Key | Action
+-----------------------------|-------------
+← → | Move between the slides
+r | Rotate the current slide
+↑ ↓ | Zoom in / out
+d | Change render methods among raster, picture and opengl
+f | Display the rendering time in the menu bar
+G | Show bounding box
+
diff --git a/src/third_party/skia/site/user/sample/transfer_fn.png b/src/third_party/skia/site/user/sample/transfer_fn.png
new file mode 100644
index 0000000..14d38bd
--- /dev/null
+++ b/src/third_party/skia/site/user/sample/transfer_fn.png
Binary files differ
diff --git a/src/third_party/skia/site/user/sample/viewer.md b/src/third_party/skia/site/user/sample/viewer.md
new file mode 100644
index 0000000..0f47b98
--- /dev/null
+++ b/src/third_party/skia/site/user/sample/viewer.md
@@ -0,0 +1,47 @@
+Skia Viewer
+==========================
+The Skia Viewer is another windowed app similar to SampleApp. Its main advantages over SampleApp are that it supports Vulkan on Linux, Windows and Android, and it uses a cleaner cross-platform windowing system (currently located in tools/viewer/sk_app). However, it is a work in progress, so it doesn't yet support all the features of SampleApp.
+
+Like SampleApp, it displays a series of slides that exhibit specific features of the Skia system. It is mainly controlled using the keyboard: left (←) and (→) right arrows to move from slide to slide. Some slides require use resources stored outside the program. These resources are stored in the `<skia-path>/resources` directory.
+
+`<skia-path>/out/Release/viewer --resourcePath <skia-path>/resources`
+
+In addition to displaying various aspects of Skia, the Viewer is used to debug and understand different parts of the Skia system:
+
+* Observe rendering performance - pressing the 'f' key places the Viewer in frame rate mode. It continuously draws the slide while desplaying the draw time in the title of the window.
+* Try different rendering methods - pressing the 'd' key cycles among the three rendering methods: raster, OpenGL and Vulkan (on supported platforms). You can use this with the 'f' key to see the effect that the different rendering methods have on drawing performance. You can start up with a particular rendering method by using one of the command line options `--backend sw`, `--backend gl`, or `--backend vk` respectively.
+* Display and manipulate your own pictures - use `--skps <skp-file-path>` to load any `.skp` files to be displayed by the Viewer. Using `--match <slide-name>` will load only SKPs or slides matching that name.
+
+Linux, Macintosh and Windows
+----------------------------
+
+The Viewer can be built using the regular GN build process, e.g.
+
+ bin/gn gen out/Release --args='is_debug=false'
+ ninja -C out/Release viewer
+
+Android
+-------
+The Viewer APK must be built by gradle which can be invoked on the command line with the following script...
+
+ ./platform_tools/android/bin/android_build_app -C <out_dir> viewer
+
+* **out_dir** is the ninja out directory for android (e.g., `out/arm64`) that you want to use to
+build the app
+
+Upon completion of the script the APK can be found at <out_dir>/viewer.apk
+
+To load SKPs in the Android viewer place them in /data/local/tmp/skps.
+
+iOS
+---
+The viewer is currently not supported on iOS.
+
+Key | Action
+-----------------------------|-------------
+← → | Move between the slides
+↑ ↓ | Zoom in / out
+d | Change render methods among raster, OpenGL and Vulkan
+f | Display the rendering time in the menu bar
+
+
diff --git a/src/third_party/skia/site/user/special/angle.md b/src/third_party/skia/site/user/special/angle.md
new file mode 100644
index 0000000..ff8f1c8
--- /dev/null
+++ b/src/third_party/skia/site/user/special/angle.md
@@ -0,0 +1,22 @@
+ANGLE
+=====
+
+Introduction
+------------
+
+ANGLE converts OpenGL ES 2 or 3 calls to DirectX 9, 11, or OpenGL calls. These
+instructions document how to use ANGLE instead of the native OpenGL backend on
+Windows or Linux.
+
+Details
+-------
+
+`gclient sync` downloads ANGLE's source alongside Skia's other test-only dependencies.
+
+To build Skia testing tools against ANGLE, add `skia_use_angle = true` to your
+`args.gn` file (or run `gn args` to edit it).
+
+When running tools, use `--config angle_<backend>_<frontend>`, e.g.
+
+ out/Debug/dm --src gm --config angle_d3d11_es2
+ out/Release/nanobench --config angle_gl_es2
diff --git a/src/third_party/skia/site/user/special/index.md b/src/third_party/skia/site/user/special/index.md
new file mode 100644
index 0000000..a38092a
--- /dev/null
+++ b/src/third_party/skia/site/user/special/index.md
@@ -0,0 +1,3 @@
+Specialized Builds
+==================
+
diff --git a/src/third_party/skia/site/user/special/lua.md b/src/third_party/skia/site/user/special/lua.md
new file mode 100644
index 0000000..b8a9cd5
--- /dev/null
+++ b/src/third_party/skia/site/user/special/lua.md
@@ -0,0 +1,42 @@
+Skia Lua Bindings
+=================
+
+**Warning: The following has only been tested on Mac and Linux, but it will
+likely work for any Unix.**
+
+Prerequisites
+-------------
+
+This assumes you already have Skia building normally. If not, refer to [How to
+build Skia](../build).
+
+Build
+-----
+
+To build Lua support into Skia tools, set the GN argument `skia_use_lua` to `true`.
+Optionally, set `skia_use_system_lua`. Then re-run GN.
+
+
+Try It Out
+----------
+
+The tools `lua_app` and `lua_pictures` should now be available when you compile,
+and `SampleApp` should now have a `Lua` sample.
+
+
+To-Do
+-----
+
+Skia had a feature that let it be imported as an .so by Lua.
+This feature is not yet supported by GN, but would have looked something like this:
+
+ $ lua
+
+ Lua 5.2.0 Copyright (C) 1994-2011 Lua.org, PUC-Rio
+ > require 'skia'
+ > paint = Sk.newPaint()
+ > paint:setColor{a=1, r=1, g=0, b=0}
+ > doc = Sk.newDocumentPDF('test.pdf')
+ > canvas = doc:beginPage(72*8.5, 72*11)
+ > canvas:drawText('Hello Lua', 300, 300, paint)
+ > doc:close()
diff --git a/src/third_party/skia/site/user/special/vulkan.md b/src/third_party/skia/site/user/special/vulkan.md
new file mode 100644
index 0000000..8dfd26a
--- /dev/null
+++ b/src/third_party/skia/site/user/special/vulkan.md
@@ -0,0 +1,54 @@
+Vulkan
+======
+
+Skis has a Vulkan implementation of its GPU backend. The Vulkan backend can be
+built alongside the OpenGL backend. The client can select between the OpenGL
+and Vulkan implementation at runtime. The Vulkan backend has reached feature
+parity with the OpenGL backend. At this time we find that many Vulkan drivers
+have bugs that Skia triggers for which we have no workaround. We are reporting
+bugs to vendors as we find them.
+
+Windows and Linux
+-----------------
+To build the Vulkan backend, set `skia_vulkan_sdk` to the path to your Vulkan SDK in `args.gn`.
+This defaults to the environment variable `VULKAN_SDK`.
+
+Android
+-------
+The Vulkan backend can run on any device with Vulkan drivers, including all Android N+ devices.
+To build the Vulkan backend, set `ndk_api = 24` in `args.gn` to target Android N.
+
+Using the Vulkan Backend
+------------------------
+
+To create a GrContext that is backed by Vulkan the client creates a Vulkan device and queue, initializes a GrVkBackendContext to describe the context, and then calls GrContext::Create:
+
+<!--?prettify lang=c++?-->
+ sk_sp<GrVkBackendContext> vkContext = new GrVkBackendContext;
+ vkBackendContext.fInstance = vkInstance;
+ vkBackendContext.fPhysicalDevice = vkPhysDevice;
+ ...
+ vkBackendContext.fInterface.reset(GrVkCreateInterface(instance, vkPhysDevice, extensionFlags);
+ ...
+
+ sk_sp<GrContext> context = GrContext::Create(kVulkan_GrBackend, (GrBackendContext) vkBackendContext);
+
+When using the Vulkan backend the GrBackendObject field in
+GrBackendRenderTargetDesc and GrBackendTextureDesc is interpeted as a pointer
+to a GrVkImageInfo object. GrVkImageInfo specifies a VkImage and associated
+state (tiling, layout, format, etc). This allows the client to import
+externally created Vulkan images as destinations for Skia rendering via
+SkSurface factory functions or for to composite Skia rendered content using
+SkImage::getTextureHandle().
+
+After getting a GrVkImageInfo* via getTextureHandle() or
+getRenderTargetHandle(), the client should check the fImageLayout field to know
+what layout Skia left the VkImage in before using the VkImage. If the client
+changes the layout of the VkImage,
+GrVkImageInfo::updateImageLayout(VkImageLayout layout) should be called before
+resuming Skia rendering.
+
+The client is responsible for any synchronization or barriers needed before
+Skia performs I/O on a VkImage imported into Skia via GrVkImageInfo. Skia will
+assume it can start issuing commands referencing the VkImage without the need
+for additional synchronization.
diff --git a/src/third_party/skia/site/user/tips.md b/src/third_party/skia/site/user/tips.md
new file mode 100644
index 0000000..c477138
--- /dev/null
+++ b/src/third_party/skia/site/user/tips.md
@@ -0,0 +1,160 @@
+Tips & FAQ
+==========
+
++ [Bitmap Subsetting](#bitmap-subsetting)
++ [Capture a `.skp` file on a web page in Chromium](#skp-capture)
++ [Capture a `.mskp` file on a web page in Chromium](#mskp-capture)
++ [How to add hardware acceleration in Skia](#hw-acceleration)
++ [Does Skia support Font hinting?](#font-hinting)
++ [Does Skia shape text (kerning)?](#kerning)
++ [How do I add drop shadow on text?](#text-shadow)
+
+* * *
+
+<span id="bitmap-subsetting">Bitmap Subsetting</span>
+-----------------------------------------------------
+
+Taking a subset of a bitmap is effectively free - no pixels are copied or
+memory is allocated. This allows Skia to offer an API that typically operates
+on entire bitmaps; clients who want to operate on a subset of a bitmap can use
+the following pattern, here being used to magnify a portion of an image with
+drawBitmapNine():
+
+ SkBitmap subset;
+ bitmap.extractSubset(&subset, rect);
+ canvas->drawBitmapNine(subset, ...);
+
+[An example](https://fiddle.skia.org/c/@subset_example)
+
+
+* * *
+
+<span id="skp-capture">Capture a `.skp` file on a web page in Chromium</span>
+-----------------------------------------------------------------------------
+
+1. Launch Chrome or Chromium with `--no-sandbox --enable-gpu-benchmarking`
+2. Open the JS console (ctrl-shift-J)
+3. Execute: `chrome.gpuBenchmarking.printToSkPicture('/tmp')`
+ This returns "undefined" on success.
+
+Open the resulting file in the [Skia Debugger](/dev/tools/debugger), rasterize it with `dm`,
+or use Skia's `SampleApp` to view it:
+
+<!--?prettify lang=sh?-->
+
+ out/Release/dm --src skp --skps /tmp/layer_0.skp -w /tmp \
+ --config 8888 gpu pdf --verbose
+ ls -l /tmp/*/skp/layer_0.skp.*
+
+ out/Release/SampleApp --picture /tmp/layer_0.skp
+
+* * *
+
+<span id="mskp-capture">Capture a `.mskp` file on a web page in Chromium</span>
+-------------------------------------------------------------------------------
+
+Multipage Skia Picture files capture the commands sent to produce PDFs
+and printed documents.
+
+1. Launch Chrome or Chromium with `--no-sandbox --enable-gpu-benchmarking`
+2. Open the JS console (ctrl-shift-J)
+3. Execute: `chrome.gpuBenchmarking.printPagesToSkPictures('/tmp/filename.mskp')`
+ This returns "undefined" on success.
+
+Open the resulting file in the [Skia Debugger](/dev/tools/debugger) or
+process it with `dm`.
+
+<!--?prettify lang=sh?-->
+
+ experimental/tools/mskp_parser.py /tmp/filename.mskp /tmp/filename.mskp.skp
+ ls -l /tmp/filename.mskp.skp
+ # open filename.mskp.skp in the debugger.
+
+ out/Release/dm --src mskp --mskps /tmp/filename.mskp -w /tmp \
+ --config pdf --verbose
+ ls -l /tmp/pdf/mskp/filename.mskp.pdf
+
+* * *
+
+<span id="hw-acceleration">How to add hardware acceleration in Skia</span>
+--------------------------------------------------------------------------
+
+There are two ways Skia takes advantage of specific hardware.
+
+1. Subclass SkCanvas
+
+ Since all drawing calls go through SkCanvas, those calls can be
+ redirected to a different graphics API. SkGLCanvas has been
+ written to direct its drawing calls to OpenGL. See src/gl/
+
+2. Custom bottleneck routines
+
+ There are sets of bottleneck routines inside the blits of Skia
+ that can be replace on a platform in order to take advantage of
+ specific CPU features. One such example is the NEON SIMD
+ instructions on ARM v7 devices. See src/opts/
+
+* * *
+
+<span id="font-hinting">Does Skia support Font hinting?</span>
+--------------------------------------------------------------
+
+Skia has a built-in font cache, but it does not know how to actual render font
+files like TrueType into its cache. For that it relies on the platform to
+supply an instance of SkScalerContext. This is Skia's abstract interface for
+communicating with a font scaler engine. In src/ports you can see support
+files for FreeType, Mac OS X, and Windows GDI font engines. Other font
+engines can easily be supported in a like manner.
+
+
+* * *
+
+<span id="kerning">Does Skia shape text (kerning)?</span>
+---------------------------------------------------------
+
+No. Skia provides interfaces to draw glyphs, but does not implement a
+text shaper. Skia's client's often use
+[HarfBuzz](http://www.freedesktop.org/wiki/Software/HarfBuzz/) to
+generate the glyphs and their positions, including kerning.
+
+[Here is an example of how to use Skia and HarfBuzz
+together](https://github.com/aam/skiaex). In the example, a
+`SkTypeface` and a `hb_face_t` are created using the same `mmap()`ed
+`.ttf` font file. The HarfBuzz face is used to shape unicode text into
+a sequence of glyphs and positions, and the SkTypeface can then be
+used to draw those glyphs.
+
+* * *
+
+<span id="text-shadow">How do I add drop shadow on text?</span>
+---------------------------------------------------------------
+
+<!--?prettify lang=cc?-->
+
+ void draw(SkCanvas* canvas) {
+ const char text[] = "Skia";
+ const SkScalar radius = 2.0f;
+ const SkScalar xDrop = 2.0f;
+ const SkScalar yDrop = 2.0f;
+ const SkScalar x = 8.0f;
+ const SkScalar y = 52.0f;
+ const SkScalar textSize = 48.0f;
+ const uint8_t blurAlpha = 127;
+ canvas->drawColor(SK_ColorWHITE);
+ SkPaint paint;
+ paint.setAntiAlias(true);
+ paint.setTextSize(textSize);
+ SkPaint blur(paint);
+ blur.setAlpha(blurAlpha);
+ blur.setMaskFilter(SkBlurMaskFilter::Make(
+ kNormal_SkBlurStyle,
+ SkBlurMaskFilter::ConvertRadiusToSigma(radius), 0));
+ canvas->drawText(text, strlen(text), x + xDrop, y + yDrop, blur);
+ canvas->drawText(text, strlen(text), x, y, paint);
+ }
+
+<a href='https://fiddle.skia.org/c/@text_shadow'><img src='https://fiddle.skia.org/i/@text_shadow_raster.png'></a>
+
+* * *
+
+<div style="margin-bottom:99%"></div>