Repository: magpylib/magpylib (language: python)

Issue:
TriangularMesh
Discussion how the FacetBody class should look like.

TBD

from previous posting:

### The FacetBody class

This class should be quite similar to the TriangularMesh class that @Alexboiboi introduced in the original facet branch, but it is still work in progress and features should still be discussed. The idea is that triangular meshes can be handed over easily, that inside-outside checks will be performed by default ( but can be turned off), and that facet orientation is automatically fixed by default (but can also be turned off).

Parameters: magnetization (the usual) and vertices shape (n,3) and triangles shape (n,3)

It seems to be the common choice in defining meshes through a list of unique vertices, and a second list of indices that define the cells. This is done in pyvista, scipy, pymesh, gmesh, ... . Since we already used vertices in other classes I would use this again for the points, and I really like triangles for the index list.

- pymesh.Mesh uses a list of unique vertices called vertices and a list of face index triplets called faces, supporting triangles and quad faces.
- pyvista.PolyData objects use a list of unique vertices called points and a 1D array [3, 1, 2, 3, 3, 2, 3, 4, ...] called faces where the bold number indicates how many indices define the next face. This enables non-triangular meshes.
- scipy.spatial.Delauny uses a list of vertices called points and a list of face index triplets (like PyMesh) called simplices. The points are not unique.


Discussion / hints:

Fix patch:
diff --git a/.gitignore b/.gitignore
index 329990374..6b67e1726 100644
--- a/.gitignore
+++ b/.gitignore
@@ -33,12 +33,7 @@ MANIFEST
 tempCodeRunnerFile.py
 
 #temp files
-__temp.py
-__temp2.py
-__temp3.py
-__temp4.py
-__temp5.py
-__temp6.py
+__temp*.py
 
 # PyInstaller
 #  Usually these files are written by a python script from a template
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 7964bb9fd..818d9134f 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -1,6 +1,6 @@
 repos:
   - repo: https://github.com/pre-commit/pre-commit-hooks
-    rev: v4.2.0
+    rev: v4.4.0
     hooks:
       - id: check-yaml
       - id: end-of-file-fixer
@@ -12,20 +12,20 @@ repos:
         language_version: python3
 
   - repo: https://github.com/asottile/reorder_python_imports
-    rev: v3.0.1
+    rev: v3.10.0
     hooks:
       - id: reorder-python-imports
         args: [--py37-plus]
 
   - repo: https://github.com/asottile/pyupgrade
-    rev: v2.32.0
+    rev: v3.7.0
     hooks:
       - id: pyupgrade
         args: [--py37-plus]
 
 
   - repo: https://github.com/psf/black
-    rev: "22.3.0"
+    rev: "23.3.0"
     hooks:
       - id: black
 
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 8f6a2a6b1..cb9a52a2d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -3,8 +3,11 @@ All notable changes to magpylib are documented here.
 
 # Releases
 
+## [Unreleased]
+- New `TriangularMesh` magnet class added to conveniently work with triangular surface meshes instead of large collections of individual `Triangle` objects. The `TriangularMesh` class performs important checks (closed, connected, oriented) and can directly import pyvista objects and for convex hull bodies. ([#569](https://github.com/magpylib/magpylib/issues/569), [#598](https://github.com/magpylib/magpylib/pull/598)).
+
 ## [4.2.0] - 2023-01-27
-- (Re)introducing the powerful `misc.Triangle` class that can be used to compute magnetic fields of arbitrarily shaped bodies by approximating their surface with triangular facets. ([#568](https://github.com/magpylib/magpylib/issues/568))
+- (Re)introducing the powerful `misc.Triangle` class that can be used to compute magnetic fields of arbitrarily shaped bodies by approximating their surface with triangular faces. ([#568](https://github.com/magpylib/magpylib/issues/568))
 - Introducing the `magnet.Tetrahedron` class as a derivate of the Triangle class. ([#289](https://github.com/magpylib/magpylib/issues/289))
 - Change pyvista plotting defaults when using `show(backend='pyvista')` to fit better with other libraries. ([#551](https://github.com/magpylib/magpylib/issues/551))
 - Added code of conduct attempting to align with NumFocus standards ([#558](https://github.com/magpylib/magpylib/issues/558))
@@ -405,6 +408,7 @@ The first official release of the magpylib library.
 
 ---
 
+[Unreleased]:https://github.com/magpylib/magpylib/compare/4.2.0...HEAD
 [4.2.0]:https://github.com/magpylib/magpylib/compare/4.1.2...4.2.0
 [4.1.2]:https://github.com/magpylib/magpylib/compare/4.1.1...4.1.2
 [4.1.1]:https://github.com/magpylib/magpylib/compare/4.1.0...4.1.1
diff --git a/README.md b/README.md
index 01d331651..8faf74f0d 100644
--- a/README.md
+++ b/README.md
@@ -21,20 +21,16 @@
 <a href="https://codecov.io/gh/magpylib/magpylib">
   <img src="https://codecov.io/gh/magpylib/magpylib/branch/main/graph/badge.svg" />
 
-</a>
-<a href="https://lgtm.com/projects/g/magpylib/magpylib/context:python"><img alt="Language grade: Python" src="https://img.shields.io/lgtm/grade/python/g/magpylib/magpylib.svg?logo=lgtm&logoWidth=18"/></a>
-</p>
 
 <p align="center"> Downloads:
 <a href="https://pypi.org/project/magpylib/">
 <img src="https://badge.fury.io/py/magpylib.svg" alt="PyPI version" height="18"></a>
 <a href="https://anaconda.org/conda-forge/magpylib"><img src="https://anaconda.org/conda-forge/magpylib/badges/version.svg" alt="Conda Cloud" height="18"></a>
 <a href="https://anaconda.org/conda-forge/magpylib"><img src="https://anaconda.org/conda-forge/magpylib/badges/downloads.svg" alt="Conda Cloud" height="18"></a>
- <a href="https://anaconda.org/conda-forge/magpylib"><img src="https://anaconda.org/conda-forge/magpylib/badges/installer/conda.svg" alt="Conda Cloud" height="18"></a>
-</p>
+
 
 <p align="center"> Try it online:
-<a href="https://mybinder.org/v2/gh/magpylib/magpylib/4.0.0?filepath=docs%2Fexamples">
+<a href="https://mybinder.org/v2/gh/magpylib/magpylib/4.2.0?filepath=docs%2Fexamples">
 <img src="https://mybinder.org/badge_logo.svg" alt="MyBinder link" height="18"></a>
 </p>
 
diff --git a/docs/_pages/page_01_introduction.md b/docs/_pages/page_01_introduction.md
index 9baaac30d..8b63390c3 100644
--- a/docs/_pages/page_01_introduction.md
+++ b/docs/_pages/page_01_introduction.md
@@ -4,13 +4,14 @@ jupytext:
     extension: .md
     format_name: myst
     format_version: 0.13
-    jupytext_version: 1.13.7
+    jupytext_version: 1.14.5
 kernelspec:
-  display_name: Python 3 (ipykernel)
+  display_name: Python 3
   language: python
   name: python3
 ---
 
+
 (intro)=
 
 # Introduction
@@ -23,6 +24,7 @@ This section gives an introduction to the Magpylib API. More detailed informatio
 - {ref}`intro-when-to-use`
 - {ref}`intro-magpylib-objects`
 - {ref}`intro-position-and-orientation`
+- {ref}`intro-paths`
 - {ref}`intro-graphic-output`
 - {ref}`intro-field-computation`
 - {ref}`intro-direct-interface`
@@ -69,6 +71,7 @@ plt.grid(color='.8')
 plt.show()
 ```
 
+
 For users who would like to avoid the object oriented interface, the field implementations can also be accessed directly, see {ref}`intro-direct-interface`. Details on how the analytical solutions are mathematically obtained can be found in the {ref}`physComp` section.
 
 (intro-when-to-use)=
@@ -77,7 +80,7 @@ For users who would like to avoid the object oriented interface, the field imple
 
 The analytical solutions are exact when there is no material response and natural boundary conditions can be assumed. In general, Magpylib is at its best when dealing with air-coils (no eddy currents) and high grade permanent magnets (Ferrite, NdFeB, SmCo or similar materials).
 
-When **magnet** permeabilities are below $\mu_r < 1.1$ the error typically undercuts 1-5 % (long magnet shapes are better, large distance from magnet is better). Demagnetization factors are not automatically included at this point. They typically reduce the error by an order of magnitude. The line **current** solutions give the exact same field as outside of a wire that carries a homogenous current. For more details check out the {ref}`physComp` section.
+When **magnet** permeabilities are below $\mu_r < 1.1$ the error typically undercuts 1-5 % (long magnet shapes are better, large distance from magnet is better). Demagnetization factors are not automatically included at this point. They typically reduce the error by an order of magnitude. The line **current** solutions give the exact same field as outside of a wire that carries a homogeneous current. For more details check out the {ref}`physComp` section.
 
 Magpylib only provides solutions for simple geometric forms (cuboids, cylinders, lines, ...). How **complex shapes** can be constructed from these simple base shapes is described in {ref}`examples-complex-forms`.
 
@@ -101,6 +104,8 @@ All magnet objects have the `magnetization` attribute which must be of the forma
 
 - **`Tetrahedron`**`(magnetization, vertices, position, orientation, style)` represents a magnet of tetrahedral shape. `vertices` corresponds to the four corner points in units of \[mm\]. By default the vertex positions coincide in the local object coordinates and the global coordinates.
 
+- **`TriangularMesh`**`(magnetization, vertices, faces, position, orientation, validate_closed, validate_connected, reorient_faces, style)` represents a magnet with surface given by a triangular mesh. The `vertices` correspond to the corner points in units of \[mm\] and the `faces` are index-triplets for each face. By default, input checks are performed to see if the mesh is closed, connected and if its faces are correctly oriented. At initialization, the vertex positions coincide in the local object coordinates and the global coordinates.
+
 **Currents**
 
 All current objects have the `current` attribute which must be a scalar $i_0$ and denotes the electrical current in units of \[A\]. All currents can be used as Magpylib `sources` input.
@@ -121,33 +126,6 @@ All current objects have the `current` attribute which must be a scalar $i_0$ an
 
 - **`Collection`**`(*children, position, orientation, style)` is a group of source and sensor objects (children) that is used for common manipulation. Depending on the children, a collection can be used as Magpylib `sources` and/or `observers` input.
 
-```{code-cell} ipython3
-import magpylib as magpy
-
-objects = []
-
-# magnets
-objects.append(magpy.magnet.Cuboid())
-objects.append(magpy.magnet.Cylinder())
-objects.append(magpy.magnet.CylinderSegment())
-objects.append(magpy.magnet.Sphere())
-objects.append(magpy.magnet.Tetrahedron())
-
-# currents
-objects.append(magpy.current.Loop())
-objects.append(magpy.current.Line())
-
-# other
-objects.append(magpy.misc.Dipole())
-objects.append(magpy.misc.Triangle())
-objects.append(magpy.misc.CustomSource())
-objects.append(magpy.Sensor())
-objects.append(magpy.Collection())
-
-# print object representation
-for obj in objects:
-    print(obj)
-```
 
 (intro-position-and-orientation)=
 
@@ -205,7 +183,12 @@ print(sensor.position)                                     # out: [-1. 1. 3.]
 print(sensor.orientation.as_euler('xyz', degrees=True))    # out: [ 0.  0. 135.]
 ```
 
-The attributes `position` and `orientation` can be either of **"scalar"** nature, i.e. a single position or a single rotation like in the examples above, or **"vectors"** when they are arrays of such scalars. The two attributes together define an object **"path"**. Paths should always be used when modelling object motion as the magnetic field is computed on the whole path with increased performance.
+
+(intro-paths)=
+
+## Paths
+
+The attributes `position` and `orientation` can be either of **"scalar"** nature, i.e. a single position or a single rotation like in the examples above, or **"vectors"** when they are arrays of such scalars. The two attributes together define an object **"path"**. Paths should always be used when modeling object motion as the magnetic field is computed on the whole path with increased performance.
 
 With vector inputs, the `move` and `rotate` methods provide *append* and *merge* functionality.  The following example shows how a path `path1` is assigned to a magnet object, how `path2` is appended with `move` and how `path3` is merged on top starting at path index 25.
 
@@ -230,6 +213,7 @@ magnet.rotate_from_angax(angle=path3, axis='z', anchor=0, start=25)
 magnet.show(backend='plotly')
 ```
 
+
 Notice that when one of the `position` and `orientation` attributes are modified in length, the other is automatically adjusted to the same length. A detailed outline of the functionality of `position`, `orientation`, `move`, `rotate` and paths is given in {ref}`examples-paths`.
 
 
@@ -247,15 +231,16 @@ The following example shows the graphical representation of various Magpylib obj
 ```{code-cell} ipython3
 import numpy as np
 import magpylib as magpy
-from magpylib.magnet import Cuboid, Cylinder, CylinderSegment, Sphere, Tetrahedron
+from magpylib.magnet import Cuboid, Cylinder, CylinderSegment, Sphere, Tetrahedron, TriangularMesh
 from magpylib.current import Loop, Line
 from magpylib.misc import Dipole, Triangle
+import pyvista as pv
 
 objects = [
     Cuboid(
-        magnetization=(0,100,0),
+        magnetization=(0,-100,0),
         dimension=(1,1,1),
-        position=(-7,0,0),
+        position=(-6,0,0),
     ),
     Cylinder(
         magnetization=(0,0,100),
@@ -275,35 +260,40 @@ objects = [
     Tetrahedron(
         magnetization=(0,0,100),
         vertices=((-1,0,0), (1,0,0), (0,-1,0), (0,0,1)),
-        position=(-1,0,3)
+        position=(-4,0,4)
     ),
     Loop(
         current=1,
         diameter=1,
-        position=(1,0,0),
+        position=(4,0,0),
     ),
     Line(
         current=1,
         vertices=[(1,0,0), (0,1,0), (-1,0,0), (0,-1,0), (1,0,0)],
-        position=(3,0,0),
+        position=(1,0,0),
     ),
     Dipole(
         moment=(0,0,100),
-        position=(5,0,0),
+        position=(3,0,0),
     ),
     Triangle(
         magnetization=(0,0,100),
         vertices=((-1,0,0), (1,0,0), (0,1,0)),
-        position=(5,0,3),
+        position=(2,0,4),
+    ),
+    TriangularMesh.from_pyvista(
+        magnetization=(0,0,100),
+        polydata=pv.Dodecahedron(),
+        position=(-1,0,4),
     ),
     magpy.Sensor(
         pixel=[(0,0,z) for z in (-.5,0,.5)],
-        position=(7,0,0),
+        position=(0,-3,0),
     ),
 ]
 
 objects[5].move(np.linspace((0,0,0), (0,0,7), 20))
-objects[0].rotate_from_angax(np.linspace(0, -90, 20), 'y', anchor=0)
+objects[0].rotate_from_angax(np.linspace(0, 90, 20), 'z', anchor=0)
 
 magpy.show(objects)
 ```
@@ -431,6 +421,7 @@ for i,plab in enumerate(['pixel1', 'pixel2']):
 fig.show()
 ```
 
+
 **Example 4:** The last example demonstrates the most general form of a `getB` computation with multiple source and sensor inputs. Specifically, 3 sources, one with path length 11, and two sensors, each with pixel shape (4,5). Note that, when input objects have different path lengths, objects with shorter paths are treated as static beyond their path end.
 
 ```{code-cell} ipython3
@@ -454,6 +445,7 @@ B = magpy.getB(sources, sensors)
 print(B.shape)
 ```
 
+
 Instead of a Numpy `ndarray`, the field computation can also return a [pandas](https://pandas.pydata.org/).[dataframe](https://pandas.pydata.org/docs/user_guide/dsintro.html#dataframe) using the `output='dataframe'` kwarg.
 
 ```{code-cell} ipython3
@@ -486,6 +478,7 @@ B_as_df = magpy.getB(
 B_as_df
 ```
 
+
 Plotting libraries such as [plotly](https://plotly.com/python/plotly-express/) or [seaborn](https://seaborn.pydata.org/introduction.html) can take advantage of this feature, as they can deal with `dataframes` directly.
 
 ```{code-cell} ipython3
@@ -502,6 +495,7 @@ fig = px.line(
 fig.show()
 ```
 
+
 In terms of **performance** it must be noted that Magpylib automatically vectorizes all computations when `getB` and `getH` are called. This reduces the computation time dramatically for large inputs. For maximal performance try to make all field computations with as few calls to `getB` and `getH` as possible.
 
 (intro-direct-interface)=
@@ -531,6 +525,7 @@ B = magpy.getB(
 print(B)
 ```
 
+
 The direct interface is convenient for users who work with complex inputs or favor a more functional programming paradigm. It is typically faster than the object oriented interface, but it also requires that users know how to generate the inputs efficiently with numpy (e.g. `np.arange`, `np.linspace`, `np.tile`, `np.repeat`, ...).
 
 At the heart of Magpylib lies a set of **core functions** that are our implementations of the analytical field expressions, see {ref}`physcomp`. For users who are not interested in the position/orientation interface, the `magpylib.core` subpackage gives direct access to these functions. Inputs are ndarrays of shape (n,x). Details can be found in the respective function docstrings.
@@ -547,6 +542,7 @@ B = magpy.core.magnet_cylinder_segment_field('B', obs, mag, dim)
 print(B)
 ```
 
+
 (intro-collections)=
 
 ## Collections
@@ -561,12 +557,13 @@ loop = magpy.current.Loop(style_label='loop')
 line = magpy.current.Line(style_label='line')
 cube = magpy.magnet.Cuboid(style_label='cube')
 
-coll1 = magpy.Collection(sens, loop, line, style_label='coll1')
+coll1 = magpy.Collection(sens, loop, line, style_label='Nested Collection')
 coll2 = cube + coll1
-
-coll2.describe(format='type,label')
+coll2.style.label="Root Collection"
+coll2.describe(format='label')
 ```
 
+
 A detailed review of collection properties and construction is provided in the example gallery {ref}`examples-collections-construction`. It is specifically noteworthy in the above example, that any two Magpylib objects can simply be added up to form a collection.
 
 A collection object has its own `position` and `orientation` attributes and spans a local reference frame for all its children. An operation applied to a collection moves the frame, and is individually applied to all children such that their relative position in the local reference frame is maintained. This means that the collection functions only as a container for manipulation, but child position and orientation are always updated in the global coordinate system. After being added to a collection, it is still possible to manipulate the individual children, which will also move them to a new relative position in the collection frame.
@@ -604,6 +601,7 @@ for coil in [coil1, coil2]:
 magpy.show(*helmholtz, backend='plotly', animation=4, style_path_show=False)
 ```
 
+
 Notice, that collections have their own `style` attributes, their paths are displayed in `show`, and all children are automatically assigned their parent color.
 
 For magnetic field computation a collection with source children behaves like a single source object, and a collection with sensor children behaves like a flat list of it's sensors when provided as `sources` and `observers` input respectively. This is demonstrated in the following continuation of the previous Helmholtz example:
@@ -623,7 +621,8 @@ plt.gca().legend()
 plt.show()
 ```
 
-One central motivation behind the `Collection` class is enabling users to build **compound objects**, which refer to custom classes that inherit `Collection`. They can represent complex magnet structures like magnetic encoders, motor parts, halbach arrays, and other arrangments, and will naturally integrate into the Magpylib interface. An advanced tutorial how to sub-class `Collection` with dynamic properties and custom 3D models is given in {ref}`examples-compounds`.
+
+One central motivation behind the `Collection` class is enabling users to build **compound objects**, which refer to custom classes that inherit `Collection`. They can represent complex magnet structures like magnetic encoders, motor parts, Halbach arrays, and other arrangements, and will naturally integrate into the Magpylib interface. An advanced tutorial how to sub-class `Collection` with dynamic properties and custom 3D models is given in {ref}`examples-compounds`.
 
 (intro-customization)=
 
@@ -644,6 +643,7 @@ import magpylib as magpy
 def easter_field(field, observers):
     """ points in z-direction and decays with 1/r^3"""
     dist = np.linalg.norm(observers, axis=1)
+    dist+=1e-16 # avoid zero division
     return np.c_[np.zeros((len(observers),2)), 1/dist**3]
 
 # create custom source
diff --git a/docs/_static/images/favicons/android-chrome-192x192.png b/docs/_static/images/favicons/android-chrome-192x192.png
new file mode 100644
index 000000000..547b44146
Binary files /dev/null and b/docs/_static/images/favicons/android-chrome-192x192.png differ
diff --git a/docs/_static/images/favicons/android-chrome-512x512.png b/docs/_static/images/favicons/android-chrome-512x512.png
new file mode 100644
index 000000000..b8bb7f4de
Binary files /dev/null and b/docs/_static/images/favicons/android-chrome-512x512.png differ
diff --git a/docs/_static/images/favicons/apple-touch-icon.png b/docs/_static/images/favicons/apple-touch-icon.png
new file mode 100644
index 000000000..139613fbb
Binary files /dev/null and b/docs/_static/images/favicons/apple-touch-icon.png differ
diff --git a/docs/_static/images/favicons/favicon-16x16.png b/docs/_static/images/favicons/favicon-16x16.png
new file mode 100644
index 000000000..a4ceabadb
Binary files /dev/null and b/docs/_static/images/favicons/favicon-16x16.png differ
diff --git a/docs/_static/images/favicons/favicon-32x32.png b/docs/_static/images/favicons/favicon-32x32.png
new file mode 100644
index 000000000..5a7042328
Binary files /dev/null and b/docs/_static/images/favicons/favicon-32x32.png differ
diff --git a/docs/_static/images/favicons/favicon.ico b/docs/_static/images/favicons/favicon.ico
new file mode 100644
index 000000000..2ed0c433e
Binary files /dev/null and b/docs/_static/images/favicons/favicon.ico differ
diff --git a/docs/_static/images/index/source_fundamentals.eps b/docs/_static/images/index/source_fundamentals.eps
new file mode 100644
index 000000000..c2824aee8
--- /dev/null
+++ b/docs/_static/images/index/source_fundamentals.eps
@@ -0,0 +1,12919 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Creator: cairo 1.17.7 (https://cairographics.org)
+%%CreationDate: Wed Jun 07 08:35:43 2023
+%%Pages: 1
+%%DocumentData: Clean7Bit
+%%LanguageLevel: 2
+%%BoundingBox: 0 0 396 135
+%%EndComments
+%%BeginProlog
+50 dict begin
+/q { gsave } bind def
+/Q { grestore } bind def
+/cm { 6 array astore concat } bind def
+/w { setlinewidth } bind def
+/J { setlinecap } bind def
+/j { setlinejoin } bind def
+/M { setmiterlimit } bind def
+/d { setdash } bind def
+/m { moveto } bind def
+/l { lineto } bind def
+/c { curveto } bind def
+/h { closepath } bind def
+/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto
+      0 exch rlineto 0 rlineto closepath } bind def
+/S { stroke } bind def
+/f { fill } bind def
+/f* { eofill } bind def
+/n { newpath } bind def
+/W { clip } bind def
+/W* { eoclip } bind def
+/BT { } bind def
+/ET { } bind def
+/BDC { mark 3 1 roll /BDC pdfmark } bind def
+/EMC { mark /EMC pdfmark } bind def
+/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def
+/Tj { show currentpoint cairo_store_point } bind def
+/TJ {
+  {
+    dup
+    type /stringtype eq
+    { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse
+  } forall
+  currentpoint cairo_store_point
+} bind def
+/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore
+    cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def
+/Tf { pop /cairo_font exch def /cairo_font_matrix where
+      { pop cairo_selectfont } if } bind def
+/Td { matrix translate cairo_font_matrix matrix concatmatrix dup
+      /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point
+      /cairo_font where { pop cairo_selectfont } if } bind def
+/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def
+      cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def
+/g { setgray } bind def
+/rg { setrgbcolor } bind def
+/d1 { setcachedevice } bind def
+/cairo_data_source {
+  CairoDataIndex CairoData length lt
+    { CairoData CairoDataIndex get /CairoDataIndex CairoDataIndex 1 add def }
+    { () } ifelse
+} def
+/cairo_flush_ascii85_file { cairo_ascii85_file status { cairo_ascii85_file flushfile } if } def
+/cairo_image { image cairo_flush_ascii85_file } def
+/cairo_imagemask { imagemask cairo_flush_ascii85_file } def
+%%EndProlog
+%%BeginSetup
+%%BeginResource: font Calibri
+11 dict begin
+/FontType 42 def
+/FontName /Calibri def
+/PaintType 0 def
+/FontMatrix [ 1 0 0 1 0 0 ] def
+/FontBBox [ 0 0 0 0 ] def
+/Encoding 256 array def
+0 1 255 { Encoding exch /.notdef put } for
+Encoding 46 /period put
+Encoding 65 /A put
+Encoding 66 /B put
+Encoding 67 /C put
+Encoding 69 /E put
+Encoding 71 /G put
+Encoding 72 /H put
+Encoding 77 /M put
+Encoding 78 /N put
+Encoding 79 /O put
+Encoding 82 /R put
+Encoding 83 /S put
+Encoding 84 /T put
+Encoding 85 /U put
+Encoding 97 /a put
+Encoding 101 /e put
+Encoding 103 /g put
+Encoding 105 /i put
+Encoding 109 /m put
+Encoding 110 /n put
+Encoding 111 /o put
+Encoding 112 /p put
+Encoding 114 /r put
+Encoding 115 /s put
+Encoding 116 /t put
+Encoding 118 /v put
+/CharStrings 27 dict dup begin
+/.notdef 0 def
+/period 1 def
+/g 2 def
+/e 3 def
+/t 4 def
+/B 5 def
+/C 6 def
+/U 7 def
+/R 8 def
+/E 9 def
+/N 10 def
+/T 11 def
+/S 12 def
+/H 13 def
+/M 14 def
+/A 15 def
+/G 16 def
+/O 17 def
+/m 18 def
+/o 19 def
+/v 20 def
+/r 21 def
+/a 22 def
+/i 23 def
+/n 24 def
+/p 25 def
+/s 26 def
+end readonly def
+/sfnts [
+<00010000000900800003001063767420b970d83500002610000005bc6670676d7ede03370000
+2bcc00000d2b676c79662011c5a20000009c0000257468656164f84d79b1000038f800000036
+686865610dad035c0000393000000024686d747870400ba6000039540000006c6c6f63610002
+0364000039c0000000706d617870130f2a6f00003a3000000020707265701367221900003a50
+000024eb00050000fe7303d2050e000300070039004d004e0097b0852b58bc000d0152001600
+3a01b5b5154444082d07be0143000200200154000800010143400f04020db71a1a3f23b73506
+8d031149b8012db43f078d0202003ffddefdce2ffddeed12392fed012fdde1dee110f1ce1139
+2f33e1d4e131301b40141a0db76c1a1a3f3523b76c3503068d6c03113f49b8012d40096c3f40
+02078d6c020200183f2b1ace2bce2f2bce2b12392f2b303159011121110111211101140e0207
+07140623222e02352726363333323e0235342623220e0223222e02353436373e0333321e0203
+140e0223222e0235343e0233321e020103d2fc5a034ffd06027e233f5633051e1a0f140d0605
+021c18122d3c2510535b253c2e1d0703070603050807283742224b6c4522da07111d15161d12
+0808121d16151d1107fddb050efaf2050efb43046cfb9403063b5c3f2403980a0802040606b8
+1e18192a3b2149560f1310040b13101116080712110c28445cfd86151c120808121c15151d12
+0808121dfd4d000000010097fff7016e00e0000b0029b0852b58b10006b8ffc0b60c014d0609
+034c003fcd012f2bc131301bb30940034c00183f1acd30315925140623222635343633321601
+6e2f3e3c2e2f3e3c2e6d472f2e45472f2e00000000030035fe93038903c8003e004e005f0116
+b0852b584015122d47100f014d47080c014d47201013014c47333fb8fff8b30c014d3fb8fff0
+b30f014d3fb8ffe0b61013014c3f074fb8ffe0400d0f12014c4f1b040f3003330707b8ffe0b3
+10014d1bb8ffc0400d10014d2d33071b1b07332d0400b8ffe040340b014d0058100f014d5820
+1012014c582a25400b12014c250f300703384ada0c53e81515603803e93c482a2042d9384a5b
+d9204f003fed3fed12393fed1112392fedd6ed121739012f2b33cd2b2bc42b17392f2f2f2f2b
+2b1112173910cd2b10cd2b2b2b10cd2b2b2b10cd31301b40270f300703380c4ada6c0c151553
+e86c151560383c03e96c3c482a203842d96c384a205bd96c204f00183f2b3f2b12393f2b1112
+392f2b10c62b1217393031590114062323161615140e0223222627060615141617171e031514
+0e0223222e0235343e0237262635343637262635343e023332161721321601342623220e0215
+141633323e0213342627270e0315141633323e020389130f81231c325d804e37631b12174136
+eb4370522e346ba6716d99622c10213120312f32251f24345c814c29471f01101111fefe655d
+30472f17655b31482f17535f51e92029180984764b653e1b0374231f24572f4e78532c1d1612
+2e1e232e020a02213d593b3e70553125405934213e383319194c2c3d6026255d424d7a542d09
+0821fef15c672038492859661f3748fd5e3a3f0208192d29281541431d303e000002005dffed
+039903ca002b003400eab0852b58402a2f363f366f360313200d014d13200f014d1313212c10
+0c014d2c180b014d2c100d014d2c100f10014c2cb801f9b5442ba42b022bb8fff0b50f014d2b
+3404b8ffe0b30d014d04b8ffeeb30c014d04b8ffe0b30b014d04b8ffe8b40f10014c04b8020a
+4021212cc78004900402c00401d0040104041c2fdc264a18ea600e700e020e09ea1c4d003ffd
+d45ded3fed12392f5d7172ed012fe12b2b2b2b32dd2b5de12b2b2b2b12392f2b2b31305d1b40
+22042cc76c76040104041c262fdc6c264a0e18ea6c000e100e020f030e1c09ea6c1c4d00183f
+2bc45f5e5d2b3f2b12392f5d2b3031590114062321141e0233323e0233321e0215140e062322
+2e0235343e0233321e021527362623220e020703992719fdb21e4670514064492f0c070b0603
+0203070b365671406fa7723a3c71a0636a95602da60379773d5c3e2202020227214b78562e15
+1a15070e19120d130f0c0b1918133e7ab87a74b9814544739b581382942e4c65370000000001
+0021ffef026d04ad003a0089b0852b58b4290011232db8fff0b30f014d2db8fff0b30d014d2d
+b8fff6b30c014d2db8ffe8b310014d2db8ffe8b30b014d2db801f8400c170d2ded23481d0ded
+174831b80104b1074d003fed3fedcd3fed012f33e12b2b2b2b2b32cdc43231301b4011232ded
+6c23481d1740170ded6c17480731b80104b26c074d00183f2b3f2b1a10cd3f2b30315925140e
+0423222e02351123222635343e02333335343e0233321e02151533321e021514062323111416
+33323e0233321e02026d081020292e174664401d7e0f1205080d087d0713201819201208e708
+0c0904120fe7374717241c1408050905045b1d22100e0906254b734e020e2024131a1107d607
+0c090404090c07d607111a132420fe0a5d5f090a09050e18000300ac00000401050e001e002b
+003800f7b0852b58401a1f1810014d1f100f014d1f100d014d1f180c014d1f200b014d1fb802
+2e40281a154010014d15400f014d15150b2c1810014d2c100f014d2c100d014d2c180c014d2c
+200b014d2cba02320000ffc0b50b014d002633b8ffe8b310014d33b8fff0b30f014d33b8fff0
+b30d014d33b8fff6b30c014d33b8ffe8b30b014d33b80210400da00bc00b020b1a27f4313107
+24b80109b2105134b8010bb10754003fed3fed12392fed39012f5de12b2b2b2b2b32d42be12b
+2b2b2b2b12392f2b2b39e12b2b2b2b2b31301b400a1a3127f46c3131071024b80109b46c1051
+0734b8010bb26c075400183f2b3f2b12392f2b3930315901140e042321222635113436332132
+1e0215140e02071e0301342e0223231133323e0213342e0223231133323e0204011f384f6371
+49feae17292917012674946332162b412a355c4528fefd1a385a4ab2c4435236194e25476b51
+cefa3b58432601733d67523e2a151f270482271f2c547a4d2e544738120a35526e02012f4c35
+1cfe5d233b4ffddd3a583c1ffe381c37520000010061fff0040c051e00390097b0852b58b31c
+003b2bb8ffe8b310014d2bb8fff0b30f014d2bb8ffecb30d014d2bb8ffeeb30c014d2bb8ffe8
+b30b014d2bbe0233000e0018012f00210026012cb2135304bb012a00350030012eb10956003f
+fdd4ed3ffdd4ed012fe12b2b2b2b2b10d6c431301bb12118b8012fb36c211326b8012cb46c13
+533504b8012ab36c350930b8012eb26c095600183f2bc42b3f2bc42b30315925140e0623222e
+0235343e0233321e0615140e0223222e0223220e0215141e0233323e0233321e02040c020508
+14405f7b497ecb8f4d5396d17f386a5a461b08050304080b080e324f714f568d64373563905b
+4d7351340f070a0603b71018120e1429271b54a4f19da1fcaf5c15202a1b0e131a12141c1309
+272f274586c17c7bbd7f41262f2606111e00000100aaffed04790514002b00b5b0852b58401d
+602d01201810014d20100f014d20100d014d200a0c014d20180b014d20b80210401100401501
+4d004013014d004011014d0016b8ffe8b310014d16b8fff0b30f014d16b8fff0b30d014d16b8
+fff6b30c014d16b8ffe8b30b014d16ba0210000affc0b315014d0ab8ffc0400913014d0a2652
+10521bb80129b10556003fed3f3f012f2b2be12b2b2b2b2bd42b2b2be12b2b2b2b2b31305d1b
+b526521052051bb80129b26c055600183f2b3f3f30315901140e0223222e023511343e023332
+1e021511141e0233323e023511343e0233321e021504794580b8756bb07e440814201a182213
+082c5375494b75512b081421191821130901de76b980423e79b6770323080c070505070c08fc
+f25a86592d2c5882570317080c070505070c08000000000200acfffa040b050e0036004400bd
+b0852b58401e102e1137080b014d37100f014d37100c0d014c371810014d37180b014d37b802
+33b7294010014d293f11b8fff0b310014d11b8fff0b30f014d11b8fff0b30d014d11b8fff6b3
+0c014d11b8ffe8b30b014d11b80211b21c2e10b80108b67040014040173db8010bb521511755
+0555003f3f3fed12392f5ded39012fe12b2b2b2b2b32d42be12b2b2b2b2b12393931301bb22e
+4010b80108b56c404017213db8010bb66c21511755055500183f3f3f2b12392f2b3930315925
+140e0223222e0227032e03232311140e0223222e023511343633213216171e0315140e02071e
+031713161601342627262623231133323e02040b0614241e1a21140b0477152d3e543b730913
+2119192114082917011331411a4b734e2723425c3920342d2814740e08fefd4450193f3391a8
+4463421f1a080c08040409100c013134573f23fdd9080c070505070c0804ae271f05030d3856
+6f4341674f3a140e2b3c4e31fee3241d03854c69170706fe4c213b500000000100ac0000037c
+050e002c00aeb0852b58b11a27b8ffe8b310014d27b8fff0b30f014d27b8fff0b30d014d27b8
+fff6b30c014d27b8ffe8b30b014d27b80211400909132013200009001ab80108400d802601c0
+2601d0260126260619b8010cb20d5127b8010cb10654003fed3fed12392f5d7172ed012f2f12
+39392f2f10e12b2b2b2b2b3231301bb1261ab80108400b6c00260116032626060d19b8010cb4
+6c0d510627b8010cb26c065400183f2b3f2b12392f5f5e5d2b30315925140e02232122263511
+34363321321e0215140e0223211121321e0215140e0223211121321e02037c040a0d08fd9317
+2929170266080d080505080d08fe0601b2080d090404090d08fe4e0201080d0a0447121b1208
+1f270482271f08121b14121b1108fe6a09101c13121a1007fe3108111b00000100acfffa047e
+0511003d00a6b0852b58b3270f0f14b8ffe8b310014d14b8ffe8b30f014d14b8ffe8b30d014d
+14b8fff0b30c014d14b8ffe8b30b014d14b80211401e1e0a2e2e321810014d32180f014d3218
+0d014d32100c014d32180b014d32b802114010001e38520a2e0f270419225119550654003f3f
+3f1217393f012fd4e12b2b2b2b2b32113310e12b2b2b2b2b322f3331301b400e38520a2e0f27
+041922511955065400183f3f3f1217393f30315925140e022323222e02270126262723161615
+11140e0223222e02351134363333321e0217011e03173326263511343e0233321e0215047e0d
+151a0d371a27232315fe6820411c02020208131f18181f12082c1a521d271f1d11013a1d3632
+311801020108131f191620120847141c12080b1d322702e0397d3b48964afcf3070d07050507
+0d0704aa28220a17291ffdc83463605d2f4fab4f02be070c090404090c0700000001000ffffa
+03d7050e00220080b0852b58b718400d014d181100b8ffc0b40d014d0006b8ffe8b310014d06
+b8fff0b30f014d06b8fff0b30d014d06b8fff6b30c014d06b8ffe8b30b014d06ba02110011ff
+c0b50d014d110612b80128b31d510c55003f3fed32012f2bf12b2b2b2b2bc52b10c42b31301b
+b2061d12b80128b46c1d510c5500183f3f2b3230315901140e02232111140e0223222e023511
+21222e0235343e023321321e0203d704090d08fe940814211918221408fe94080d080505080d
+080384080d090404c4131c1108fb9e080c070505070c08046208111c13131d120808121d0001
+0047ffed0363052100490128b0852b58b90041ffe8b40f10014c41b8fff0b30d014d41b8fff0
+b310014d41b8fff0b30c014d41b8ffe8b30b014d41b8022c402b32401314014c324011014d24
+3224320c1b180f10014c1b100d014d1b1010014d1b100c014d1b180b014d1bba02310000ffc0
+b31b014d00b8ffc0b319014d00b8ffc0b314014d00b8ffc0b60f11014c000c2ebb0127003700
+0a0126400b1120370137400b0c014c11b8ffc0400a0b0c014c37113711163cb8010cb5411b05
+295316b80129b10556003fed3f123939ed1139392f2f2b2b5d10ed10ed012fd42b2b2b2be12b
+2b2b2b2b1239392f2f2b2be12b2b2b2b2b31301bb1372eb80127b26c110ab80126b76c371137
+1116293cb8010cb76c411b0529530516b80129b26c055600183f2b3f1239392b1139392f2f2b
+2b30315901140e0223222e0435343e0233321e0233323e0235342e0635343e0233321e061514
+0e0223222e0223220e0215141e0603634377a15d416f573b170b04080c080e3350714a385d43
+243252696e6852333b6991542b574d3c1306040203060b070b2f445d3a3650341a32536a6e6a
+5333016b5b8e633216202218251f161d12072228231e375033374e3b31333e54714f517f562d
+0f191f130b111813121c13091c231d1d304225364e3c32333d5371000000000100acfffa0450
+0514002f00e6b0852b58b43f3101230cb8ffe8b310014d0cb8fff0b30f014d0cb8fff0b30d01
+4d0cb8fff6b30c014d0cb8ffe8b30b014d0cb80211401c17240b1810014d0b100f014d0b100d
+014d0b0a0c014d0b180b014d0bb802104017004015014d004013014d00401011014c00400c01
+4d0017b8ffc0b315014d17b8ffc0b613014d172a5224b8012c400fc00c01d00c010c0c121d52
+12550555003f3f3f12392f5d71ed3f012f2b2bd42b2b2b2be12b2b2b2b2b3210e12b2b2b2b2b
+3231305d1bb32a520c24b8012c400f6c000c0116030c0c121d521255055500183f3f3f12392f
+5f5e5d2b3f30315925140e0223222e0235112111140e0223222e023511343e0233321e021511
+2111343e0233321e02150450081421181a201408fdb308142119182214080814221819211408
+024d0814201a182114081a080c070505070c08023efdc2080c070505070c0804da080c070505
+070c08fdfa0206080c070505070c08000000000100acfffa062b050e003c00d6b0852b584010
+603e703e020d3030172f2f0a2e18181ab8ffe8b310014d1ab8fff0b30f014d1ab8fff0b30d01
+4d1ab8fff6b30c014d1ab8ffe8b30b014d1ab80211401e24310c0c0a1810014d0a100f014d0a
+100d014d0a0a0c014d0a180b014d0aba02110000ffc040190b014d002436510b18170d2f1831
+2e061f28511f5512550555003f3f3f3f12173911333f012fd42be12b2b2b2b2b32113310e12b
+2b2b2b2b32113311393d2f3333113331305d1b401436510b18170d2f18312e061f28511f5512
+55055500183f3f3f3f12173911333f30315925140e0223222e02351123010e0323222e022701
+2311140e0223222e02351134363333321e02170133013e033333321e0215062b08141f191721
+130802fe33030b151d14151e140b02fe470108142019182013072c1b68203024180901770501
+860b1a1f26196d0f1b130c1a080c070505070c080467fb94070a070304070a06046cfb99080c
+070505070c0804a62a240c1a281bfc5703a61e2a190b09131d1500020023fffa047e05140022
+002600dcb0852b58b90024ffe8b40c10014c23b8ffe8b40c10014c26b8fff0b40b10014c0bb8
+fff0b40b10014c0ab8fff0401a0b10014c25100b10014c0d100b10014c0c100b10014c402801
+25b8fff0402c0b014d24232625f40c0b0c18221d230a0d0116040c000c100c02af23bf23cf23
+03230c230c121d5212550555003f3f3f1239392f2f5d5d11173911123939113310ed32113331
+30012b5d2b2b2b2b2b2b002b2b1b401e2423260c25f46c0b0c18221d230a0d0116040c230c23
+0c121d521255055500183f3f3f1239392f2f1117391112393911332b32113330315925161606
+0623222e02270321030e03232226263637013e0333321e0217072303210475080110251f1f25
+1309046ffde66a030a13231c1d250f010801b2040d19271e202a1a0e047b01df01c23d161b0e
+0403070c09013bfec9090d0904050e1b1604b20b0e080303080f0b8dfd7b00000001005bffee
+04780520003f00ddb0852b58401d1c1c0f181810014d18100f014d18100d014d180a0c014d18
+100b014d18b80211400d00bf270120274027602703270fb8ffe8b310014d0fb8fff0b30f014d
+0fb8ffecb30d014d0fb8ffeeb30c014d0fb8ffe8b30b014d0fb80232b42f34013418b8010ab4
+2222392f3ebb010a0005000a0129b2395314b8012cb12f56003fed3ffdd4ed1112392fed012f
+5de12b2b2b2b2bd45d5dc4e12b2b2b2b2b12392f31301bb12218b8010ab66c2222392f053eb8
+010ab36c05390ab80129b46c39532f14b8012cb26c2f5600183f2b3f2bc42b1112392f2b3031
+5901140e0223222e0223220e0215141e02333236371121222635343e023321321e021511140e
+0423222e0235343e0233321e04047804080c070c385e835a6baa763f457aa9653c7b35fed411
+1104090c09019b0b16120a123a5c62643196eca3565da9ed904a8265451a0a045e131d130826
+2e264e8abe6f7cc084441d1d01792224131b110808101c12fe131a261d22180c5dacf0949afa
+b0611a23291a2200000000020063ffed04e8052100130027009db0852b58401a141810014d14
+100f014d14140d014d14120c014d14180b014d14b80233400920003000800003001eb8ffe8b3
+10014d1eb8fff0b30f014d1eb8ffecb30d014d1eb8ffeeb30c014d1eb8ffe8b30b014d1ebb02
+33000a00190129b20f5323b8012bb10556003fed3fed012fe12b2b2b2b2bd45de12b2b2b2b2b
+31301bb10f19b80129b46c0f530523b8012bb26c055600183f2b3f2b30315901140e0223222e
+0235343e0233321e0207342e0223220e0215141e0233323e0204e84a93de9492d58b444a94de
+948fd48d45b5275b987070985f29265a9772719a5e2802969dfcb15f57a6f6a099faaf5f56a5
+f3a96ebd8b4e548cbb6772c08b4d548fbc00000000010099fffa05d003ca0050011eb0852b58
+401b12100b014d13180b014d26100b0c014c27180b0c014c7052014613b8fff6b30c014d13b8
+ffe8b30b014d13b8fff0b310014d13b8fff0b30f014d13b8ffeab30d014d13b801f8401e1e16
+0d014d1e1e320a0a0c014d0a100d014d0a180b014d0a100f10014c0ab801f9b7504011014d50
+3e27b8fff6b30c014d27b8ffe8b30b014d27b8fff0b310014d27b8fff0b30f014d27b8fff0b3
+0d014d27bb01f8003200100106b24b4a24b80106400d414a3e462d38492d4c194c054c003f3f
+3f3f1239393fed3fed012fe12b2b2b2b2b39d42be12b2b2b2b11392f2be12b2b2b2b2b393130
+5d002b2b2b2b1bb14b10b80106b46c4b4a4124b80106400e6c414a3e462d38492d4c194c054c
+00183f3f3f3f1239393f2b3f2b30315925140e0223222e023511342e022322060711140e0223
+222e023511342e022322060711140e0223222e023511343e0233321e021515363633321e0217
+3e0333321e021505d00812201819201308142c442e3973450813201817211307162c432e3974
+44081220191820130706121c17161d10074c8f4938594430102d514b47245776491f19080b08
+0404080b080223395e44245855fd8b080b080404080b080223395e44245855fd8b080b080404
+080b080384080b090303090b0877554f1a2f412831442a133d66894c00000002005affed03de
+03ca0013002700c9b0852b58401c3f2901281201291101260d01260c012608012607012a0301
+2902011eb8ffe8b310014d1eb8fff0b30f014d1eb8ffe0b30d014d1eb8ffeeb30c014d1eb8ff
+e8b30b014d1eb8020a401e2f0a010a141810014d14100f014d14200d014d14120c014d14180b
+014d14ba020a0000ffc0b70f004d7000010019b80101b20f4a23b80102b1054d003fed3fed01
+2f5d2be12b2b2b2b2b2f5de12b2b2b2b2b31305d5d5d5d5d5d5d5d5d1bb10f19b80101b46c0f
+4a0523b80102b26c054d00183f2b3f2b30315901140e0223222e0235343e0233321e0207342e
+0223220e0215141e0233323e0203de3a73ad726fa56e363973ac736fa56e37ae1b3e6a4f4969
+44211b3f6a4f486a442001e56eb9864b427eb4726eb9864a427eb47c49826239345f824d4a82
+6139345e8200000000010022fffa037b03bc002c010db0852b58b90023fff840170b0c014c1f
+080b0c014c251f011e080b0c014c251e0116b8fff0b30b014d15b8fff0b30b014d14b8ffe8b3
+0b014d13b8ffe8b30b014d12b8ffe8b30b014d11b8fff040370b014d37110126110127100128
+050122280b014d3d220124220121280b014d3f210124210120280b014d3d2001242001270f01
+76210121b8ffd04009111548212013014d21b8ffe8400910014d21200f014d21b8ffe8b30c01
+4d21b8fff0400c0b014d212849210b1a490b4c003f3f12393f012f2b2b2b2b2b002b5d31305d
+5d5d2b5d5d2b5d5d2b015d5d5d5d2b2b2b2b2b2b5d2b5d2b2b1bb5002101100521b8ffd0400b
+1115482849210b1a490b4c00183f3f12393f2b5f5e5d30315901140e0207010e0323222e0227
+012e0235343e0233321e0217131737133e0333321e02037b01020302fecd040d1a281e1e2819
+0e04fece04050108131f171d23130904fe0403fb020a13211b171e1107039f04090a0c07fca9
+0b0e080304080e0a03570c120903080c070203080c09fd1a0c0c02e6090c080302080b000001
+0099fffa02a703ca00330086b0852b58b4703501260fb8fff6b30c014d0fb8ffe8b30b014d0f
+b8fff0b40f10014c0fb8fff0b30d014d0fb801f84012004013014d004011014d00200d014d00
+1a0ab8012540092b4a260f152049154c003f3f1239393fed012fc42b2b2be12b2b2b2b393130
+5d1bb12b0ab80125400a6c2b4a260f152049154c00183f3f1239393f2b30315901140e022322
+2e0223220e020711140e0223222e023511343e0233321e0215153e0333321e0602a702060908
+08171d24151930353a23081220191820130706121c17161d100725413a391d0d21241d0c0403
+010362161e1109090908142e4c37fdb0080b080404080b080384080b090303090b0883364427
+0f03080a0a090e1b0002005cffed033f03ca0033004000f6b0852b5840200f421f422f42030b
+0917340c0c014d34100d014d34180b014d34100f10014c34b801f7400e0027270f00010c0010
+0f014d003ab8fff0b30c014d3ab8ffe8b30d014d3ab8ffe8b30b014d3ab8ffe8b40f10014c3a
+b8020840141117c500341034023bc0340100340134342e412ab8011b400fd022012222041dea
+2e4a3ddc0c4d04002f3fed3fed12392f5ded1112392f5d715e5ded012fe12b2b2b2bc42b5e5d
+392f10e12b2b2b2b323931305e5d1b400d0b17013417c56c34342e41222ab8011b40166c0022
+0116042222042e1dea6c2e4a0c3ddc6c0c4d0400182f3f2b3f2b12392f5f5e5d2b1112392f2b
+5d30315925140606232226263535060623222e0235343e02333335342e0223220e0223222e02
+35343e0433321e02150723220e0215141633323637033f101c1b1a1f0e3b91514773512d3e74
+a8697c16314e393d6149310c080c0904071b4256663461885426a48d4464421f5950416f3d18
+0c0c06060c0c5a3f46254666414c704a25463450351b1d231d0810190f191d1a231d132c557e
+54c4172d3f294653424400020085fffa0151052f0015002100a7b0852b58b73f234f236f2303
+16b8ffe8b30d014d16b8fff6b30c014d16b8ffe8b313014d16b8ffe0b310014d16b8fff0b30f
+014d16b8ffe8b30b014d16bb0271001c0015fff0b30d014d15b8fff6b30c014d15b8ffe8b30b
+014d15b8fff0b40f10014c15b801f8b60a1f400f014d1fb8013eb4191049054c003f3fd6ed2b
+012fe12b2b2b2bd4e12b2b2b2b2b2b31305d1bb1191fb8013eb56c191049054c00183f3fc62b
+30315925140e0223222e023511343e0233321e0215131406232226353436333216013e081220
+19182013070713201819201208132c3b3a2b2c3b3a2b19080b080404080b080384070c080404
+080c0701303a2a29393a2a2900010099fffa03a003ca003200b8b0852b58400f12100b014d13
+100b014d3f34012a13b8fff0b310014d13b8fff0b30f014d13b8fff0b30d014d13b8fff6b30c
+014d13b8ffe8b30b014d13b801f8401b1e0b1010014d0b100d014d0b100f014d0b0a0c014d0b
+180b014d0bb801f8b700400c014d001e10b80106400a2d4a2a192449194c054c003f3f3f1239
+3fed012f2f2be12b2b2b2b2b10e12b2b2b2b2b3931305d002b2b1bb12d10b80106400b6c2d4a
+2a192449194c054c00183f3f3f12393f2b30315925140e0223222e023511342e022322060711
+140e0223222e023511343e0233321e021515363633321e021503a00812201819201208182e49
+303e7c44081220191820130706121c17161d10074c974d5a7b4c2119080b080404080b08020f
+4d5e44245855fd8b080b080404080b080384080b090303090b0877554f3d6689600000000002
+0099fe9403d503ca002a003d00b1b0852b58b53f3f0121360ab8fff0b30d014d0ab8fff6b30c
+014d0ab8fff0b40f10014c0ab8ffe8b30b014d0ab801f84017152b200d014d2b120c014d2b18
+0f10014c2b180b014d2bb8020a400900150a363521040530b80105b6264a1b49104f39b80105
+b1054d003fed3f3f3fed121739012fd4e12b2b2b2b10e12b2b2b2b323931305d1bb70a363521
+04052630b8010540096c264a1b49104f0539b80105b26c054d00183f2b3f3f3f2b1217393031
+5901140e0223222e022711140e0223222e023511343e0233321e0215153e0333321e0207342e
+0223220e020711161633323e0203d53363925e2844414024081220191820130706121c14151b
+1207294c4d512d628a5728ae15335640203e404627447a433e59371a01e976bc834710223423
+fe3e080c080404080c0804e9090b080303080b09792a3e29154c84af754581643c13294331fe
+9a53583c647c000000010051ffed02ce03ca00490110b0852b58400c2f4b3f4b4f4b7f4baf4b
+0541b8fff0b30d014d41b8fff6b30c014d41b8fff0b30f014d41b8ffc0b313014d41b8fff0b3
+10014d41b8fff0b30b014d41b801dc401f243224320c1b100d014d1b0a0c014d1b1010014d1b
+100b014d1b100f014d1bba01f60000ffc0400a0f014d000c400b014d0cb8ffc0402613014d3f
+0caf0c020c2edd370aeb115011601170110337113711163cdb411b05294a16e8054d003fed3f
+123939ed1139392f2f5d10ed10ed012f5d2b2bd42be12b2b2b2b2b1239392f2fe12b2b2b2b2b
+2b31305d1b4025372edd6c110aeb6c001110112011030e033711371116293cdb6c411b05294a
+0516e86c054d00183f2b3f1239392b1139392f2f5f5e5d2b2b30315901140e0223222e043534
+3e0233321e0233323e0235342e0635343e0233321e0615140e0223222e0223220e0215141e06
+02ce335e824e30574530160a04060b070b2b3f56382a44321b2740505551402729527b522448
+3a291507030303070a06092236492f2a40291528405255534027010e456c4a260f171914241f
+131a10071b201b122336252634281f222b3e563c3561492c0c1215100c0f1610111910071619
+161323301c27352820222a3c540000000000079e0000fe930000000000000000000000000050
+006a0073008000800086008d009300bf00db006200830093009900a000a600a900b000c100c9
+00d7000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000000000000000
+0000fe79056d000c03b7000600130000fffaffedfea6ffedfeb8050e000600130000fffaffed
+fe93050e00130420000600130000fffaffedff10ffee050e00130420000600130000fffaffee
+fe93ff10feb80612000a050e0006000d02d2fffafff301fdfffa023f0006000dff36fffafff3
+02870006000f0000fffafff1079efeaffea700000000000000000000000000500051005a005b
+005c005d006000610062006400680069006a006b006c006d006e00680069006e00600067006e
+00660068005f00610063006400660068006a006b006c006d006e006f0070006f007200740075
+00760076007000720073007400750076006f007000710072007300750077007700780079007a
+007b007c007d007b007c007d00770079007a007c0078007a007c007d0078007d007e007f0080
+00810082007e007f00810082007e007f00800081008200830084008500860087008800890083
+008400850086008700880089008300840085008600870088008900890086008700880089008a
+008b008c008d008e008f008a008b008c008d008e008f008a008b008c008d008e008f008d008a
+008b008c008d008e008f0090009000910092009300940095009600980099009b009c00900091
+00920093009400950096009700980099009a009e009f00a60090009100950098009f00900091
+0096009700bc00c600b500ae00af00b6006800690063006a006f00700071006f007000710072
+0066006c006d00700079007c007f00830086008700880089008a0074007500760077007a007b
+007c007d007e008200850086008a0088008900830078007b0082008300860087008800890076
+0079007a007c007d007e0083008500880089008a0073007400750077007a007d00880089008a
+008b008c008d008e00900094008b008c008d00910092009300940095008c008d00910095008f
+009000910092009300940095008b008c008d008e008f009000910092009300940095008b008c
+008d008e008f00900091009200930096009700980099009c0096009700980099009a009b009c
+00960099009a009c0096009700980099009a009b009c009700980099009a009b009c00970098
+0099009a009b009c0096009d00a000a1009d009e009f00a000a100a2009d009f00a000a1009f
+00a2009d009e009f00a000a100a2009d009e00a000a1009d009e00a000a2009d00a300a400a5
+00a600a700a300a400a600a700a300a400a500a600a700a600a300a700a800a900aa00ab00ac
+00ac00a800a900aa00ab00ac00a800a900aa00ab00ac00a800aa00ab00ac00ae00ad00ae00af
+00b000b100b200b300b400b500b600b700b800ad00ae00ad00ae00af00b000b100b200b300b4
+00b500b600b700b800ad00ae00af00b000b100b200b300b400b500b600b700b800b300ae00af
+00b000b200b500b600b700b800b900ba00bb00bc00be00c000c100c200c200b900ba00bb00bc
+00bd00be00bf00c000c100c200c400ba00bb00be00bf00c000c200c300c400b900ba00bf00c0
+00c200c600c700c900ca00cb00cc00cf00c500c700ce00c500c700c800cf00d000d200d300d7
+010d00d000d100e900d000fd00d005e4000e0041000005ba009c009c005e005e000000000000
+0000000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000051a001500a0fff8ff77fff803480066015401cc00ac00a200b4008c
+0101006e00000000000000000000011f000a04e2001400b4fff6035c00140028fdda0568fea2
+ffef405a868574737271706f6e6d6c6b6a696867666564625f5e5d5c5b5a5958555453525150
+4f4e4d4c4b4a494847464544434241403f3e3d3c3b3a39383736352f2e2d2c2826252423221f
+181411100f0d0b0a090807060504030201002c4523466020b02660b004262348482d2c452346
+236120b02661b004262348482d2c45234660b0206120b04660b004262348482d2c4523462361
+b0206020b02661b02061b004262348482d2c45234660b0406120b06660b004262348482d2c45
+23462361b0406020b02661b04061b004262348482d2c0110203c003c2d2c20452320b0cd4423
+20b8015a51582320b08d44235920b0ed51582320b04d44235920b0042651582320b00d442359
+21212d2c20204518684420b001602045b04676688a4560442d2c01b10b0a432343650a2d2c00
+b10a0b4323430b2d2c00b0282370b101283e01b0282370b10228453ab10200080d2d2c2045b0
+0325456164b050515845441b2121592d2c2045b0004360442d2c01b00643b00743650a2d2c20
+69b04061b0008b20b12cc08a8cb8100062602b0c642364615c58b00361592d2c8a03458a8a87
+b0112bb0292344b0297ae4182d2c4565b02c234445b02b23442d2c4b525845441b2121592d2c
+01b005251023208af500b0016023edec2d2c01b005251023208af500b0016123edec2d2c01b0
+062510f500edec2d2c20b001600110203c003c2d2c20b001610110203c003c2d2c00b00743b0
+06430b2d2c21210c6423648bb84000622d2c21b08051580c6423648bb82000621bb200402f2b
+59b002602d2c21b0c051580c6423648bb81555621bb200802f2b59b002602d2c0c6423648bb8
+4000626023212d2c4523456023456023456023766818b08062202d2cb00426b00426b00425b0
+042545234520b003266062636820b0032661658a2344442d2c2045b0005458b040442045b040
+61441b2121592d2c45b1302f4523456160b0016069442d2c4b5158b02f2370b01423421b2121
+592d2c4b515820b0032545695358441b2121591b2121592d2c45b01443b0006063b001606944
+2d2cb02f45442d2c452320458a60442d2c45234560442d2c4b235158b90033ffe0b134201bb3
+330034005944442d2cb0164358b00326458a586466b01f601b64b020606620581b21b04059b0
+01615923586559b02923442310b029e01b2121212121592d2cb0164358b004254564b0206066
+20581b21b04059b0016123586559b0292344b00425b00725082058021b0359b0052510b00425
+2046b0042523423cb0072510b006252046b00425b0016023423c2058011b0059b0052510b004
+25b029e0b0072510b00625b029e0b00425b00725082058021b0359b00425b003254348b00625
+b00325b0016043481b2159212121212121212d2cb0164358b004254564b020606620581b21b0
+4059b0016123581b6559b0292344b00525b00825082058021b0359b0042510b005252046b004
+2523423cb00425b0072508b0072510b006252046b00425b0016023423c2058011b0059b00425
+10b00525b029e0b02920456544b0072510b00625b029e0b00525b00825082058021b0359b005
+25b003254348b00425b0072508b00625b00325b0016043481b2159212121212121212d2c02b0
+0425202046b004252342b0052508b003254548212121212d2c02b0032520b0042508b0022543
+482121212d2c452320451820b00050205823652359236820b040505821b04059235865598a60
+442d2c4b53234b515a5820458a60441b2121592d2c4b545820458a60441b2121592d2c4b5323
+4b515a58381b2121592d2cb000214b5458381b2121592d2cb002435458b0462b1b2121212159
+2d2cb002435458b0472b1b212121592d2cb002435458b0482b1b21212121592d2cb002435458
+b0492b1b212121592d2c2320b000508a8a64b10003255458b0401bb10103255458b005438b59
+b04f2b5923b0622b2321235865592d2cb108000c215460432d2c014623466023466123201020
+468a61b8ff80628ab140408a704560683a2d2c208a2349648a2353583c1b21592d2c4b52587d
+1b7a592d2cb012004b014b54422d2cb1020042b123018851b1400188535a58b9100000208854
+58b202010243604259b12401885158b920000040885458b2020202436042b12401885458b202
+2002436042004b014b5258b2020802436042591bb940000080885458b202040243604259b940
+00008063b80100885458b202080243604259b94000010063b80200885458b202100243604259
+b12601885158b94000020063b80400885458b202400243604259b94000040063b80800885458
+b202800243604259b12801885158b94000080063b81000885458ba0002010000024360425959
+5959595959b10002435458400a0540084009400c020d021bb10102435458b2054008ba010000
+090100b30c010d011bb18002435258b2054008b80180b109401bb901000002435258b2054008
+ba0180000901401bb901800002435258b2054008b80200b109401bb2054008ba010000090100
+595959b9400000808855b94000020063b8040088555a58b30c000d011bb30c000d0159595942
+424242422d2c451868234b51582320452064b04050587c59688a6059442d2cb00016b00225b0
+022501b001233e00b002233eb10102060cb00a236542b00b234201b001233f00b002233fb101
+02060cb006236542b0072342b00116012d2c20b82000628a6023622d2cb0072558001b0159b0
+042510b00325b0022520b8ffff545821cd1bed5921b006255cb006255a58b0092b5920b00525
+4ab0042547b004254760b0062547b0806361b00225b0005558b00325b00725496359b0082558
+001b0159b00425b0062549b009255cb009255a58b0092b59b0072546b0806361b0032520b000
+5558631b2159612320b0005558b080631b21b08059b0592bb006255c586959b00425202010b0
+0048233ab0062658001b0159b0052658b003252f598a12233221212d2cb00625b00a2587b006
+25b009254ab0005358b00625b00a251bb00925b0072559b00225b00225070cb005256323b006
+25636020b94000040063535821b00426b00426b00a1bb94000040063655158b0042665b00426
+65b00a1bb00426b00426b000b00325b003250b0d0ab0092eb00725b007250b0d0ab00b2eb005
+25b0052507595920b0005558b00525b0052587b00725b007250bb0092510b00b25b0092620b8
+ffff545821cd1bed59b00525b0052507b00825b00b254923b00625b0062587b00a2510b00b25
+c15920b00051b800522378b00161b00225b00725b0072507b00a25b00d254961b08062b00525
+b005250bb00a252338b00625b0062587b00825b008250bb00a2510b00b25c4b00625b0062507
+b00925b00c2549b0032554b8ffa723792121212121212121212121212d2c23b0005458b94000
+00001bb900004000598ab0005458b9400000001bb90000400059b05b2b2d2c08b0005458b940
+0000001bb900004000590db05b2b2d2c8a8a080d8ab0005458b9400000001bb90000400059b0
+5b2b2d2cb00426b00426080db00426b00426080db05b2b2d2cb0022563b0206066b00225b820
+00626023622d2c204569442d2c234ab1024e2b2d2c234ab1014e2b2d2c238a4a234564b00225
+64b002256164b00343525821206459b1024e2b23b000505865592d2c238a4a234564b0022564
+b002256164b00343525821206459b1014e2b23b000505865592d2c20b003254ab1024e2b8a10
+3b2d2c20b003254ab1014e2b8a103b2d2cb00325b003258ab0672b8a103b2d2cb00325b00325
+8ab0682b8a103b2d2cb0032546b003254660b004252eb00425b00425b0042620b000505821b0
+6a1bb06c592bb0032546b00325466061b08062208a2010233a232010233a2d2cb0032547b003
+254760b0052547b0806361b00225b00625496323b005254ab080632058621b2159b004264660
+8a468a4660b02063612d2cb00426b00425b00425b00426b06e2b208a2010233a232010233a2d
+2c2320b001545821b00225b1024e2bb0805020605920606020b001515821211b20b005515821
+206661b0402361b100032550b00325b00325505a5820b00325618a535821b000591b21591bb0
+0754582066616523211b2121b000595959b1024e2b2d2cb00225b004254ab0005358b0001b8a
+8a238ab00159b004254620666120b00526b0062649b00526b00526b0702b236165b020602066
+61b02061652d2cb0022546208a20b000505821b1024e2b1b452321596165b00225103b2d2cb0
+042620b802006220b80200638a236120b05d602bb00525118a128a20398a58ba005d10000004
+266356602b23212010204620b1024e2b23611b2321208a201049b1024e2b593b2d2cba005d10
+000009256356602bb00525b00525b00526b06d2bb15d0725602bb00525b00525b00525b00525
+b06f2bba005d10000008266356602b20b0005258b0502bb00525b00525b00725b00725b00525
+b0712bb0021738b00052b00225b001525a58b00425b0062549b00325b00525496020b0405258
+211bb000525820b0025458b00425b00425b00725b0072549b00217381bb00425b00425b00425
+b0062549b0021738595959595921212121212d2cb12801885158b94000040063b8080088545c
+1bb001592d2cb12801885158b94000040063b8080088545c1bb001592d000001000000063ae1
+12a8df8f5f0f3cf50019080000000000bbeb7ccc00000000d749774ffbfafd8009ec08360000
+00090002000100000000000100000600fe0001c40aa0fbfafaa009ec00010000000000000000
+000000000000001b040e00000205009703c4003503fb005d02ae0021045a00ac044400610522
+00aa045800ac03e800ac052a00ac03e6000f03ad004704fc00ac06d700ac04a10023050c005b
+054c0063066400990438005a039d002202ca009903d5005c01d6008504340099043400990321
+00510000000000000180000001d8000003f8000005780000069c000008380000096800000a9c
+00000c2000000d5000000ea800000f9000001178000012e80000146c000015c8000017540000
+186800001a6000001ba000001d3800001e4c00001ff0000020fc00002244000023a400002574
+00010000001b043a00170118000800020010002f00870000123624eb00070001b10903415302
+c802c60038001f02c702c60038001f02dd003802da005502d9003802d7005502d8003802d700
+5502d6003802d5005502d4003802d3005502d2003802d1005502bf003802be005502bd003802
+bc0055000402db003402db005402db0003003402db005402db006402db00a402db00d402db00
+05006b02d50001000b02d10001001402c2004402c2006402c2007402c2009402c2000500a402
+be000100a402bc000100200284b40918014a20b80283b40918014a20b80282b40918014a20b8
+0281b40918014a20b80280b40918014a20b8027fb40918014a20b8027eb40918014a20b8027d
+b40918014a20b8027cb40918014a20b8027bb40918014a20b8027ab40918014a20b80279b409
+18014a20b80278b40918014a20b80277b40918014a20b80276b40918014a20b80275b4091801
+4a20b80274b40918014a20b80273b40918014a20b80271b40918014a20b80270b40918014a20
+b8026fb40918014a20b8026eb40918014a20b8026db40918014a20b8026cb40918014a20b802
+6bb40918014a20b8026ab40918014a20b80269b40918014a20b80268b40918014a20b80267b4
+0918014a20b80266b40918014a20b80265b40918014a20b80264b40918014a20b80263b40918
+014a20b80262b40918014a20b80261b40918014a20b80260b40918014a20b8025fb40918014a
+20b8025eb40918014a20b8025db40918014a20b8025cb40918014a20b8025bb40918014a20b8
+025ab40918014a20b80259b40918014a20b80258b40918014a20b80257b40918014a20b80256
+b40918014a20b80255b40918014a20b80254b40918014a20b80253b40918014a20b80252b409
+18014a20b80251b40918014a20b80250b40918014a20b8024fb40918014a20b8024eb4091801
+4a20b8024db40918014a20b8024cb40918014a20b8024bb40918014a20b8024ab40918014a20
+b80249b40918014a20b80248b40918014a20b80247b40918014a20b80246b40918014a20b802
+45b40918014a20b80244b40918014a20b80243b40918014a20b80242b40918014a20b80241b4
+0918014a20b80240b40918014a20b8023fb40918014a20b8023eb40918014a20b8023db40918
+014a20b8023cb40918014a20b8023bb40918014a20b8023ab40918014a20b80239b40918014a
+20b80238b40918014a20b80237b40918014a20b80236b40918014a20b80235b40918014a20b8
+0234b40918014a20b80233b40918014a20b80232b40918014a20b80231b40918014a20b80230
+b40918014a20b8022fb40918014a20b8022eb40918014a20b8022db40918014a20b8022cb409
+18014a20b8022bb40918014a20b8022ab40918014a20b80229b40918014a20b80228b4091801
+4a20b80227b40918014a20b80226b40918014a20b80225b40918014a20b80224b40918014a20
+b80223b40918014a20b80222b40918014a20b80221b40918014a20b80220b40918014a20b802
+1fb40918014a20b8021eb40918014a20b8021db40918014a20b8021cb40918014a20b8021bb4
+0918014a20b8021ab40918014a20b80219b40918014a20b80218b40918014a20b80217b40918
+014a20b80216b40918014a20b80215b40918014a20b80214b40918014a20b80213b40918014a
+20b80212b40918014a20b80211b40918014a20b80210b40918014a20b8020fb40918014a20b8
+020eb40918014a20b8020db40918014a20b8020cb40918014a20b8020bb40918014a20b8020a
+b40918014a20b80209b40918014a20b80208b40918014a20b80207b40918014a20b80206b409
+18014a20b80205b40918014a20b80204b40918014a20b80203b40918014a20b80202b4091801
+4a20b80201b40918014a20b80200b40918014a20b801ffb40918014a20b801feb40918014a20
+b801fdb40918014a20b801fcb40918014a20b801fbb40918014a20b801fab40918014a20b801
+f9b40918014a20b801f8b40918014a20b801f7b40918014a20b801f6b40918014a20b801f5b4
+0918014a20b801f4b40918014a20b801f3b40918014a20b801f2b40918014a20b801f1b40918
+014a20b801f0b40918014a20b801efb40918014a20b801eeb40918014a20b801edb40918014a
+20b801ecb40918014a20b801ebb40918014a20b801eab40918014a20b801e9b40918014a20b8
+01e8b40918014a20b801e7b40918014a20b801e6b40918014a20b801e5b40918014a20b801e4
+b40918014a20b801e3b40918014a20b801e2b40918014a20b801e1b40918014a20b801e0b409
+18014a20b801dfb40918014a20b801deb40918014a20b801ddb40918014a20b801dcb4091801
+4a20b801dbb40918014a20b801dab40918014a20b801d9b40918014a20b801d8b40918014a20
+b801d7b40918014a20b801d6b40918014a20b801d5b40918014a20b801d4b40918014a20b801
+d3b40918014a20b801d2b40918014a20b801d1b40918014a20b801d0b40918014a20b801cfb4
+0918014a20b801ceb40918014a20b801cdb40918014a20b801ccb40918014a20b801cbb40918
+014a20b801cab40918014a20b801c9b40918014a20b801c8b40918014a20b801c7b40918014a
+20b801c6b40918014a20b801c5b40918014a20b801c4b40918014a20b801c3b40918014a20b8
+01c2b40918014a20b801c1b40918014a20b801c0b40918014a20b801bfb40918014a20b801be
+b40918014a20b801bdb40918014a20b801bcb40918014a20b801bbb40918014a20b801bab409
+18014a20b801b9b40918014a20b801b8b40918014a20b801b7b40918014a20b801b6b4091801
+4a20b801b5b40918014a20b801b4b40918014a20b801b3b40918014a20b801b2b40918014a20
+b801b1b40918014a20b801b0b40918014a20b801afb40918014a20b801aeb40918014a20b801
+adb40918014a20b801acb40918014a20b801abb40918014a20b801aab40918014a20b801a9b4
+0918014a20b801a8b40918014a20b801a7b40918014a20b801a6b40918014a20b801a5b40918
+014a20b801a4b40918014a20b801a3b40918014a20b801a2b40918014a20b801a1b40918014a
+20b801a0b40918014a20b8019fb40918014a20b8019eb40918014a20b8019db40918014a20b8
+019cb40918014a20b8019bb40918014a20b8019ab40918014a20b80199b40918014a20b80198
+b40918014a20b80197b40918014a20b80196b40918014a20b80195b40918014a20b80194b409
+18014a20b80193b40918014a20b80192b40918014a20b80191b40918014a20b80190b4091801
+4a20b8018fb40918014a20b8018eb40918014a20b8018db40918014a20b8018cb40918014a20
+b8018bb40918014a20b8018ab40918014a20b80189b40918014a20b80188b40918014a20b801
+87b40918014a20b80186b40918014a20b80185b40918014a20b80184b40918014a20b80183b4
+0918014a20b80182b40918014a20b80181b40918014a20b80180b40918014a20b8017fb40918
+014a20b8017eb40918014a20b8017db40918014a20b8017cb40918014a20b8017bb40918014a
+20b8017ab40918014a20b80179b40918014a20b80178b40918014a20b80177b40918014a20b8
+0176b40918014a20b80175b40918014a20b80174b40918014a20b80173b40918014a20b80172
+b40918014a20b80171b40918014a20b80170b40918014a20b8016fb40918014a20b8016eb409
+18014a20b8016db40918014a20b8016cb40918014a20b8016bb40918014a20b8016ab4091801
+4a20b80169b40918014a20b80168b40918014a20b80167b40918014a20b80166b40918014a20
+b80165b40918014a20b80164b40918014a20b80163b40918014a20b80162b40918014a20b801
+61b40918014a20b80160b40918014a20b8015fb40918014a20b8015eb40918014a20b8015db4
+0918014a20b8015cb40918014a20b8015bb40918014a20b8015ab40918014a20b80159b40918
+014a20b80158b40918014a20b80157b40918014a20b80156b40918014a20b80155b40918014a
+20b80154b40918014a20b80153b40918014a20b80152b40918014a20b80150b40918014a20b8
+014fb40918014a20b8014eb40918014a20b8014cb40918014a20b8014bb40918014a20b8014a
+b40918014a20b80149b40918014a20b80148b40918014a20b80147b40918014a20b80146b409
+18014a20b80145b40918014a20b80144b40918014a20b80143b30918014ab80284b21e3e1fb8
+0283b21e151fb80282b21e3e1fb80281b21e3a1fb80280b21e3e1fb8027fb21e3e1fb8027eb2
+1e0c1fb8027db21e3e1fb8027cb21e3e1fb8027bb21e3e1fb8027ab21e3e1fb80279b21d411f
+b80278b21d431fb80277b21d431fb80276b21d431fb80275b21d411fb80274b21d431fb80273
+b21d431fb80272b21d411fb80271b21d421fb80270b21d421fb8026fb21d421fb8026eb21d43
+1fb8026db21d431fb8026cb21d431fb8026bb21c451fb8026ab21c451fb80269b21c451fb802
+68b21c451fb80267b21c451fb80266b21c441fb80265b21c451fb80264b21c451fb80263b21c
+451fb80262b21c451fb80261b21c451fb80260b21c451fb8025fb21c451fb8025eb21c441fb8
+025db21c451fb8025cb21c451fb8025bb21c451fb8025ab21c451fb80259b21c451fb80258b2
+1c451fb80257b21c451fb80256b21c451fb80255b21c451fb80254b21c451fb80253b21c451f
+b80252b21c451fb80251b21c451fb80250b21c451fb8024fb21c451fb8024eb21c451fb8024d
+b21c451fb8024cb21c451fb8024bb21c451fb8024ab21b491fb80249b21b491fb80248b21b4a
+1fb80247b21b4a1fb80246b21b4b1fb80245b21b4c1fb80244b21b4c1fb80243b21b4c1fb802
+42b21b4b1fb80241b21b491fb80240b21b491fb8023fb21b4a1fb8023eb21b4a1fb8023db21b
+4a1fb8023cb21b4b1fb8023bb21b4b1fb8023ab21b4c1fb80239b21b4c1fb80238b21b4c1fb8
+0237b21b4c1fb80236b21b4c1fb80235b21b491fb80234b21b491fb80233b21b4a1fb80232b2
+1b4a1fb80231b21b4a1fb80230b21b4b1fb8022fb21b4b1fb8022eb21b4c1fb8022db21b4c1f
+b8022cb21b4c1fb8022bb21b4c1fb8022ab21b4c1fb80229b21b4c1fb80228b21b4c1fb80227
+b21b491fb80226b21b491fb80225b21b4a1fb80224b21b4a1fb80223b21b4a1fb80222b21b4b
+1fb80221b21b4b1fb80220b21b4c1fb8021fb21b4c1fb8021eb21b4c1fb8021db21b4c1fb802
+1cb21b4c1fb8021bb21b4c1fb8021ab21a4e1fb80219b21a4e1fb80218b21a4f1fb80217b21a
+4f1fb80216b21a4e1fb80215b21a4e1fb80214b21a4f1fb80213b21a4f1fb80212b21a4f1fb8
+0211b21a4e1fb80210b21a4e1fb8020fb21a4f1fb8020eb21a4f1fb8020db21a4f1fb8020cb2
+1a4e1fb8020bb21a4e1fb8020ab21a4e1fb80209b21a4f1fb80208b21a4f1fb80207b21a4f1f
+b80206b219501fb80205b219511fb80204b219511fb80203b219501fb80202b219511fb80201
+b219511fb80200b219511fb801ffb219511fb801feb219501fb801fdb219511fb801fcb21951
+1fb801fbb219511fb801fab219501fb801f9b219511fb801f8b219511fb801f7b219511fb801
+f6b219511fb801f5b218541fb801f4b218531fb801f3b218541fb801f2b218541fb801f1b218
+541fb801f0b218531fb801efb218541fb801eeb218541fb801edb218541fb801ecb218531fb8
+01ebb218531fb801eab218541fb801e9b218541fb801e8b218541fb801e7b218541fb801e6b2
+18531fb801e5b218541fb801e4b218531fb801e3b218541fb801e2b218541fb801e1b218541f
+b801e0b218531fb801dfb218531fb801deb218541fb801ddb218541fb801dcb218541fb801db
+b218541fb801dab218531fb801d9b218541fb801d8b218541fb801d7b217571fb801d6b21756
+1fb801d5b217561fb801d4b217571fb801d3b217571fb801d2b217571fb801d1b217571fb801
+d0b217561fb801cfb217561fb801ceb217571fb801cdb217571fb801ccb217571fb801cbb217
+571fb801cab217561fb801c9b217561fb801c8b217571fb801c7b217571fb801c6b217571fb8
+01c5b217571fb801c4b217571fb801c3b217561fb801c2b217571fb801c1b217571fb801c0b2
+17571fb801bfb217561fb801beb217561fb801bdb217571fb801bcb217571fb801bbb217571f
+b801bab217571fb801b9b217571fb801b8b217561fb801b7b217571fb801b6b217571fb801b5
+b217571fb801b4b217571fb801b3b2163f1fb801b2b2165b1fb801b1b2165b1fb801b0b2165b
+1fb801afb2165b1fb801aeb2165b1fb801adb2165b1fb801acb2165b1fb801abb2165b1fb801
+aab2163e1fb801a9b2163f1fb801a8b2163f1fb801a7b2165b1fb801a6b2165b1fb801a5b216
+5b1fb801a4b2165b1fb801a3b2165b1fb801a2b2165b1fb801a1b2165b1fb801a0b2165b1fb8
+019fb2163e1fb8019eb2163f1fb8019db2163f1fb8019cb2165b1fb8019bb2165b1fb8019ab2
+165b1fb80199b2165b1fb80198b2163e1fb80197b2165b1fb80196b2165b1fb80195b2165b1f
+b80194b2163e1fb80193b2163f1fb80192b2163f1fb80191b2165b1fb80190b2165b1fb8018f
+b2165b1fb8018eb2165b1fb8018db2165b1fb8018cb2163f1fb8018bb2165b1fb8018ab2165b
+1fb80189b2165b1fb80188b2165b1fb80187b2165b1fb80186b215611fb80185b215621fb801
+84b215621fb80183b215661fb80182b215661fb80181b215551fb80180b215451fb8017fb215
+361fb8017eb215361fb8017db215611fb8017cb215621fb8017bb215621fb8017ab215641fb8
+0179b215661fb80178b215661fb80177b215661fb80176b215661fb80175b215661fb80174b2
+15661fb80173b215451fb80172b215621fb80171b215621fb80170b215631fb8016fb215641f
+b8016eb215661fb8016db215661fb8016cb215661fb8016bb215661fb8016ab215661fb80169
+b215621fb80168b215621fb80167b215611fb80166b215641fb80165b215641fb80164b21566
+1fb80163b215661fb80162b215661fb80161b215661fb80160b215661fb8015fb215661fb801
+5eb215551fb8015db215451fb8015cb215451fb8015bb215361fb8015ab215611fb80159b215
+621fb80158b215621fb80157b215631fb80156b215641fb80155b215661fb80154b215661fb8
+0153b215661fb80152b215661fb80151b214401fb80150b214551fb8014fb214561fb8014eb2
+14831fb8014db2142d1fb8014cb214401fb8014bb214401fb8014ab214411fb80149b214401f
+b80148b214401fb80147b214411fb80146b2147e1fb80145b214871fb80144b2147f1fb80143
+b214801fb80142b212461fb80141b212461fb80140b212461fb8013fb212461fb8013eb21244
+1fb8013db212461fb8013cb211591fb8013bb211591fb8013ab2115b1fb80139b2115b1fb801
+38b211471fb80137b211581fb80136b2115a1fb80135b2115b1fb80134b2115b1fb80133b211
+2c1fb80132b211471fb80131b211551fb80130b211571fb8012fb211571fb8012eb211581fb8
+012db211591fb8012cb211591fb8012bb2115a1fb8012ab2115a1fb80129b2115b1fb80128b2
+115b1fb80127b2115b1fb80126b2115b1fb80125b211561fb80124b211561fb80123b211571f
+b80122b211581fb80121b211591fb80120b2115a1fb8011fb2115a1fb8011eb2115b1fb8011d
+b2115b1fb8011cb2115b1fb8011bb2115b1fb8011ab2115b1fb80119b2105d1fb80118b2105e
+1fb80117b2105f1fb80116b2105f1fb80115b2105f1fb80114b2105f1fb80113b2105f1fb801
+12b2105d1fb80111b2105e1fb80110b2105f1fb8010fb2105f1fb8010eb2105f1fb8010db210
+5f1fb8010cb2105d1fb8010bb2105e1fb8010ab2105f1fb80109b2105f1fb80108b2105f1fb8
+0107b2105f1fb80106b2105d1fb80105b2105e1fb80104b2105f1fb80103b2105f1fb80102b2
+105f1fb80101b2105f1fb8010040ff0f621fff0f621ffe0f631ffd0f641ffc0f621ffb0f621f
+fa0f621ff90f631ff80f641ff70f641ff60f641ff50f641ff40f621ff30f621ff20f631ff10f
+641ff00f641fef0f641fee0f641fed0f621fec0f621feb0f631fea0f641fe90f641fe80f641f
+e70f641fe60e671fe50e681fe40e681fe30e681fe20e681fe10e671fe00e681fdf0e681fde0e
+681fdd0e671fdc0e681fdb0e681fda0e681fd90e681fd80d6b1fd70d311fd60d6b1fd50d6c1f
+d40d261fd30d261fd20d6c1fd10d2b1fd00d2b1fcf0d2b1fce0d6b1fcd0d6c1fcc0d6d1fcb0d
+6b1fca0d6c1fc90d6d1fc80d6a1fc70d691fc60d681fc50d671fc40d261fc30d311fc20d311f
+c10d311f40ffc00d311fbf0d311fbe0d311fbd0c711fbc0c721fbb0c731fba0c741fb90c741f
+b80c741fb70c711fb60c711fb50c721fb40c731fb30c741fb20c741fb10c741fb00c741faf0b
+791fae0b7a1fad0b7c1fac0b7d1fab0b7e1faa0b7e1fa90b7e1fa80b7e1fa70b7e1fa60b7e1f
+a50b2d1fa40b7e1fa30b7e1fa20b791fa10b7e1fa00b6b1f9f0b791f9e0b7e1f9d0b7e1f9c0b
+791f9b0b7a1f9a0b7c1f990b7d1f980b7e1f970b7e1f960b7e1f950b7e1f940b7e1f930b7e1f
+920b6b1f910b2d1f900a4e1f8f0a4f1f8e0a671f8d0aa51f8c0aa71f8503251f8403381f8301
+381f8255805581ab80557f557d557eab7d550b7d010b7d1b7d4b7d7b7dab7ddb7d4012060a7c
+557a557bab7a557955775578ab7755ba028600660285403c5576ab755504751475747503f475
+01ab750144750130750102007510752075030c7455725573ab7255007250728072b072043bb0
+72e072020072010ab8ffc0b3721b1e46b8ffc0407c720d104671556f5570ab6f556e666d556a
+03251f6938675568ab67556638645565ab645563386255613860555f385d555eab5d555c385a
+555bab5a55593858555703251f5638545555ab54555338515552ab51554f384e554e03251f4d
+384b554cab4b554a38485549ab4855473846554503381f001c101c201c0310b8ffc0404e1c1b
+1e46001b0142301b401be01bf01b04001bb01bc01b03120f1a1f1a02290f1901434f19016f19
+7f198f19030f18cf18024018292c460f17cf17df17ef1704134017292e460016101620160315
+b8ffc0b3164d5446b8ffc0b3163f4446b8ffc0b316313546b8ffc0401f162326460f15010f15
+1f150245ef1501860003012001010001100120010308b8ffc0b401151f4603bd010001000005
+0001019000542b4bb80800524bb008505bb00188b02553b00188b040515ab00688b000555a5b
+58b101018e59b101024354b0144b515a58b101018e59858d8d001d424bb01d5358b203a0a01d
+42594bb0805358b20340401d42594bb0ff5358b20300001d42592b5e7375732b58403d0011e0
+11f0110315bf10cf10020f0f010f0fff0f02400f3135460f0e1f0e020f0e1f0eff0e03400e31
+37460f0d1f0d020f0d1f0dff0d0316400d313746b8ffc040270c5054460f0b1f0b02553f0b4f
+0b02400b3f4346400b2d30460003012001010001100120010308b8ffc0b301151f462b5e7375
+732b2b745e732b2b5e73742b73742b7374745e735901755e73742b2b2b2b5e732b5e732b7374
+755e735e735e73755e732b5e73002b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b5e73755e732b2b5e735f73737373742b2b2b2b2b2b5e73742b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b012b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2bb1000243545841ff02840064028300640282006402810064028000
+64027f0064027e0064027d0064027c0064027b0064027a006402790064027800640277006402
+7600640275006402740064027300640271006402700064026f0064026e0064026d0064026c00
+64026b0064026a00640269006402680064026700640266006402650064026400640263006402
+6200640261006402600064025f0064025e0064025d0064025c0064025b0064025a0064025900
+6402580064025700640256006402550064025400640253006402520064025100640250006402
+4f0064024e0064024d0064024c0064024b0064024a0064024900640248006402470064024600
+64024500640244006402430064024200640241006402400064023f0064023e0064023d006402
+3c0064023b0064023a0064023900640238006402370064023600640235006402340064023300
+64023200640231006402300064022f0064022e0064022d0064022c0064022b0064022a006402
+2900640228006402270064022600640225006402240064022300640222006402210064022000
+64021f0064021e0064021d0064021c0064021b0064021a006402190064021800640217006402
+160064021500640214006402130064021200640211006402100064020f0064020e0064020d00
+64020c0064020b0064020a00640209006402080064020700640206006402050064020441ff00
+640203006402020064020100640200006401ff006401fe006401fd006401fc006401fb006401
+fa006401f9006401f8006401f7006401f6006401f5006401f4006401f3006401f2006401f100
+6401f0006401ef006401ee006401ed006401ec006401eb006401ea006401e9006401e8006401
+e7006401e6006401e5006401e4006401e3006401e2006401e1006401e0006401df006401de00
+6401dd006401dc006401db006401da006401d9006401d8006401d7006401d6006401d5006401
+d4006401d3006401d2006401d1006401d0006401cf006401ce006401cd006401cc006401cb00
+6401ca006401c9006401c8006401c7006401c6006401c5006401c4006401c3006401c2006401
+c1006401c0006401bf006401be006401bd006401bc006401bb006401ba006401b9006401b800
+6401b7006401b6006401b5006401b4006401b3006401b2006401b1006401b0006401af006401
+ae006401ad006401ac006401ab006401aa006401a9006401a8006401a7006401a6006401a500
+6401a4006401a3006401a2006401a1006401a00064019f0064019e0064019d0064019c006401
+9b0064019a006401990064019800640197006401960064019500640194006401930064019200
+640191006401900064018f0064018e0064018d0064018c0064018b0064018a00640189006401
+8800640187006401860064018500644180018400640183006401820064018100640180006401
+7f0064017e0064017d0064017c0064017b0064017a0064017900640178006401770064017600
+64017500640174006401730064017200640171006401700064016f0064016e0064016d006401
+6c0064016b0064016a0064016900640168006401670064016600640165006401640064016300
+64016200640161006401600064015f0064015e0064015d0064015c0064015b0064015a006401
+5900640158006401570064015600640155006401540064015300640152006401500064014f00
+64014e0064014c0064014b0064014a0064014900640148006401470064014600640145006401
+440064014300642b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b592b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+00737373737373742b2b2b2b2b2b2b2b2b2b185f5e0000>
+] def
+/f-0-0 currentdict end definefont pop
+%%EndResource
+%%BeginResource: font Calibri
+11 dict begin
+/FontType 42 def
+/FontName /Calibri def
+/PaintType 0 def
+/FontMatrix [ 1 0 0 1 0 0 ] def
+/FontBBox [ 0 0 0 0 ] def
+/Encoding 256 array def
+0 1 255 { Encoding exch /.notdef put } for
+Encoding 1 /g1 put
+/CharStrings 2 dict dup begin
+/.notdef 0 def
+/g1 1 def
+end readonly def
+/sfnts [
+<00010000000900800003001063767420b970d835000003a8000005bc6670676d7ede03370000
+096400000d2b676c7966a192c6df0000009c0000030c68656164f84d79b10000169000000036
+686865610dad0345000016c800000024686d74780ece0042000016ec000000106c6f63610000
+08d4000016fc000000146d61787012f82a6f0000171000000020707265701367221900001730
+000024eb00050000fe7303d2050e000300070039004d004e0097b0852b58bc000d0152001600
+3a01b5b5154444082d07be0143000200200154000800010143400f04020db71a1a3f23b73506
+8d031149b8012db43f078d0202003ffddefdce2ffddeed12392fed012fdde1dee110f1ce1139
+2f33e1d4e131301b40141a0db76c1a1a3f3523b76c3503068d6c03113f49b8012d40096c3f40
+02078d6c020200183f2b1ace2bce2f2bce2b12392f2b303159011121110111211101140e0207
+07140623222e02352726363333323e0235342623220e0223222e02353436373e0333321e0203
+140e0223222e0235343e0233321e020103d2fc5a034ffd06027e233f5633051e1a0f140d0605
+021c18122d3c2510535b253c2e1d0703070603050807283742224b6c4522da07111d15161d12
+0808121d16151d1107fddb050efaf2050efb43046cfb9403063b5c3f2403980a0802040606b8
+1e18192a3b2149560f1310040b13101116080712110c28445cfd86151c120808121c15151d12
+0808121dfd4d0000ffff0021ffef03ef052f02260002000000070003029e000000010021ffef
+03dc04ad00410068b0852b58b22f4110b801f8b42b1e1e2b0fb801f9400c03352b4148102bed
+3b354814b80104b3254d094c003f3fed3fcded323f012f32dde112392f10e1322f31301b400d
+414810352bed6c3b4035482514b80104b46c254d094c00183f3f2b3f1acd2b323f3031590132
+161511140e0223222e0235112111141633323e0233321e0215140e0423222e02351123222635
+343e02333335343e0233321e02151503a81e160813201719201308fe2f374717241c14080509
+0504081020292e174664401d7e0f1205080d087d071320181920120803b71b1afc97080b0804
+04080b080315fe0a5d5f090a09050e18121d21110e0906254b734e020e2024131a1107d6070c
+090404090c07d6000002000003b70151052f000b000c0028b0852b58b900000271b40609030c
+48003fdecd012fe131301bb40903400c4800183f1adecd303159011406232226353436333216
+0101512c3b3a2b2c3b3a2bfeaf04cd3a2a29393a2a29feb10000079e0000fe93000000000000
+0000000000000050006a0073008000800086008d009300bf00db006200830093009900a000a6
+00a900b000c100c900d700000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000fe79056d000c03b7000600130000fffaffedfea6ffedfeb8050e0006
+00130000fffaffedfe93050e00130420000600130000fffaffedff10ffee050e001304200006
+00130000fffaffeefe93ff10feb80612000a050e0006000d02d2fffafff301fdfffa023f0006
+000dff36fffafff302870006000f0000fffafff1079efeaffea7000000000000000000000000
+00500051005a005b005c005d006000610062006400680069006a006b006c006d006e00680069
+006e00600067006e00660068005f00610063006400660068006a006b006c006d006e006f0070
+006f00720074007500760076007000720073007400750076006f007000710072007300750077
+007700780079007a007b007c007d007b007c007d00770079007a007c0078007a007c007d0078
+007d007e007f008000810082007e007f00810082007e007f0080008100820083008400850086
+0087008800890083008400850086008700880089008300840085008600870088008900890086
+008700880089008a008b008c008d008e008f008a008b008c008d008e008f008a008b008c008d
+008e008f008d008a008b008c008d008e008f0090009000910092009300940095009600980099
+009b009c0090009100920093009400950096009700980099009a009e009f00a6009000910095
+0098009f009000910096009700bc00c600b500ae00af00b6006800690063006a006f00700071
+006f0070007100720066006c006d00700079007c007f00830086008700880089008a00740075
+00760077007a007b007c007d007e008200850086008a0088008900830078007b008200830086
+00870088008900760079007a007c007d007e0083008500880089008a0073007400750077007a
+007d00880089008a008b008c008d008e00900094008b008c008d00910092009300940095008c
+008d00910095008f009000910092009300940095008b008c008d008e008f0090009100920093
+00940095008b008c008d008e008f00900091009200930096009700980099009c009600970098
+0099009a009b009c00960099009a009c0096009700980099009a009b009c009700980099009a
+009b009c009700980099009a009b009c0096009d00a000a1009d009e009f00a000a100a2009d
+009f00a000a1009f00a2009d009e009f00a000a100a2009d009e00a000a1009d009e00a000a2
+009d00a300a400a500a600a700a300a400a600a700a300a400a500a600a700a600a300a700a8
+00a900aa00ab00ac00ac00a800a900aa00ab00ac00a800a900aa00ab00ac00a800aa00ab00ac
+00ae00ad00ae00af00b000b100b200b300b400b500b600b700b800ad00ae00ad00ae00af00b0
+00b100b200b300b400b500b600b700b800ad00ae00af00b000b100b200b300b400b500b600b7
+00b800b300ae00af00b000b200b500b600b700b800b900ba00bb00bc00be00c000c100c200c2
+00b900ba00bb00bc00bd00be00bf00c000c100c200c400ba00bb00be00bf00c000c200c300c4
+00b900ba00bf00c000c200c600c700c900ca00cb00cc00cf00c500c700ce00c500c700c800cf
+00d000d200d300d7010d00d000d100e900d000fd00d005e4000e0041000005ba009c009c005e
+005e000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000051a001500a0fff8ff77fff803480066015401cc
+00ac00a200b4008c0101006e00000000000000000000011f000a04e2001400b4fff6035c0014
+0028fdda0568fea2ffef405a868574737271706f6e6d6c6b6a696867666564625f5e5d5c5b5a
+59585554535251504f4e4d4c4b4a494847464544434241403f3e3d3c3b3a39383736352f2e2d
+2c2826252423221f181411100f0d0b0a090807060504030201002c4523466020b02660b00426
+2348482d2c452346236120b02661b004262348482d2c45234660b0206120b04660b004262348
+482d2c4523462361b0206020b02661b02061b004262348482d2c45234660b0406120b06660b0
+04262348482d2c4523462361b0406020b02661b04061b004262348482d2c0110203c003c2d2c
+20452320b0cd442320b8015a51582320b08d44235920b0ed51582320b04d44235920b0042651
+582320b00d44235921212d2c20204518684420b001602045b04676688a4560442d2c01b10b0a
+432343650a2d2c00b10a0b4323430b2d2c00b0282370b101283e01b0282370b10228453ab102
+00080d2d2c2045b00325456164b050515845441b2121592d2c2045b0004360442d2c01b00643
+b00743650a2d2c2069b04061b0008b20b12cc08a8cb8100062602b0c642364615c58b0036159
+2d2c8a03458a8a87b0112bb0292344b0297ae4182d2c4565b02c234445b02b23442d2c4b5258
+45441b2121592d2c01b005251023208af500b0016023edec2d2c01b005251023208af500b001
+6123edec2d2c01b0062510f500edec2d2c20b001600110203c003c2d2c20b001610110203c00
+3c2d2c00b00743b006430b2d2c21210c6423648bb84000622d2c21b08051580c6423648bb820
+00621bb200402f2b59b002602d2c21b0c051580c6423648bb81555621bb200802f2b59b00260
+2d2c0c6423648bb84000626023212d2c4523456023456023456023766818b08062202d2cb004
+26b00426b00425b0042545234520b003266062636820b0032661658a2344442d2c2045b00054
+58b040442045b04061441b2121592d2c45b1302f4523456160b0016069442d2c4b5158b02f23
+70b01423421b2121592d2c4b515820b0032545695358441b2121591b2121592d2c45b01443b0
+006063b0016069442d2cb02f45442d2c452320458a60442d2c45234560442d2c4b235158b900
+33ffe0b134201bb3330034005944442d2cb0164358b00326458a586466b01f601b64b0206066
+20581b21b04059b001615923586559b02923442310b029e01b2121212121592d2cb0164358b0
+04254564b020606620581b21b04059b0016123586559b0292344b00425b00725082058021b03
+59b0052510b004252046b0042523423cb0072510b006252046b00425b0016023423c2058011b
+0059b0052510b00425b029e0b0072510b00625b029e0b00425b00725082058021b0359b00425
+b003254348b00625b00325b0016043481b2159212121212121212d2cb0164358b004254564b0
+20606620581b21b04059b0016123581b6559b0292344b00525b00825082058021b0359b00425
+10b005252046b0042523423cb00425b0072508b0072510b006252046b00425b0016023423c20
+58011b0059b0042510b00525b029e0b02920456544b0072510b00625b029e0b00525b0082508
+2058021b0359b00525b003254348b00425b0072508b00625b00325b0016043481b2159212121
+212121212d2c02b00425202046b004252342b0052508b003254548212121212d2c02b0032520
+b0042508b0022543482121212d2c452320451820b00050205823652359236820b040505821b0
+4059235865598a60442d2c4b53234b515a5820458a60441b2121592d2c4b545820458a60441b
+2121592d2c4b53234b515a58381b2121592d2cb000214b5458381b2121592d2cb002435458b0
+462b1b21212121592d2cb002435458b0472b1b212121592d2cb002435458b0482b1b21212121
+592d2cb002435458b0492b1b212121592d2c2320b000508a8a64b10003255458b0401bb10103
+255458b005438b59b04f2b5923b0622b2321235865592d2cb108000c215460432d2c01462346
+6023466123201020468a61b8ff80628ab140408a704560683a2d2c208a2349648a2353583c1b
+21592d2c4b52587d1b7a592d2cb012004b014b54422d2cb1020042b123018851b1400188535a
+58b910000020885458b202010243604259b12401885158b920000040885458b2020202436042
+b12401885458b2022002436042004b014b5258b2020802436042591bb940000080885458b202
+040243604259b94000008063b80100885458b202080243604259b94000010063b80200885458
+b202100243604259b12601885158b94000020063b80400885458b202400243604259b9400004
+0063b80800885458b202800243604259b12801885158b94000080063b81000885458ba000201
+00000243604259595959595959b10002435458400a0540084009400c020d021bb10102435458
+b2054008ba010000090100b30c010d011bb18002435258b2054008b80180b109401bb9010000
+02435258b2054008ba0180000901401bb901800002435258b2054008b80200b109401bb20540
+08ba010000090100595959b9400000808855b94000020063b8040088555a58b30c000d011bb3
+0c000d0159595942424242422d2c451868234b51582320452064b04050587c59688a6059442d
+2cb00016b00225b0022501b001233e00b002233eb10102060cb00a236542b00b234201b00123
+3f00b002233fb10102060cb006236542b0072342b00116012d2c20b82000628a6023622d2cb0
+072558001b0159b0042510b00325b0022520b8ffff545821cd1bed5921b006255cb006255a58
+b0092b5920b005254ab0042547b004254760b0062547b0806361b00225b0005558b00325b007
+25496359b0082558001b0159b00425b0062549b009255cb009255a58b0092b59b0072546b080
+6361b0032520b0005558631b2159612320b0005558b080631b21b08059b0592bb006255c5869
+59b00425202010b00048233ab0062658001b0159b0052658b003252f598a12233221212d2cb0
+0625b00a2587b00625b009254ab0005358b00625b00a251bb00925b0072559b00225b0022507
+0cb005256323b00625636020b94000040063535821b00426b00426b00a1bb940000400636551
+58b0042665b0042665b00a1bb00426b00426b000b00325b003250b0d0ab0092eb00725b00725
+0b0d0ab00b2eb00525b0052507595920b0005558b00525b0052587b00725b007250bb0092510
+b00b25b0092620b8ffff545821cd1bed59b00525b0052507b00825b00b254923b00625b00625
+87b00a2510b00b25c15920b00051b800522378b00161b00225b00725b0072507b00a25b00d25
+4961b08062b00525b005250bb00a252338b00625b0062587b00825b008250bb00a2510b00b25
+c4b00625b0062507b00925b00c2549b0032554b8ffa723792121212121212121212121212d2c
+23b0005458b9400000001bb900004000598ab0005458b9400000001bb90000400059b05b2b2d
+2c08b0005458b9400000001bb900004000590db05b2b2d2c8a8a080d8ab0005458b940000000
+1bb90000400059b05b2b2d2cb00426b00426080db00426b00426080db05b2b2d2cb0022563b0
+206066b00225b82000626023622d2c204569442d2c234ab1024e2b2d2c234ab1014e2b2d2c23
+8a4a234564b0022564b002256164b00343525821206459b1024e2b23b000505865592d2c238a
+4a234564b0022564b002256164b00343525821206459b1014e2b23b000505865592d2c20b003
+254ab1024e2b8a103b2d2c20b003254ab1014e2b8a103b2d2cb00325b003258ab0672b8a103b
+2d2cb00325b003258ab0682b8a103b2d2cb0032546b003254660b004252eb00425b00425b004
+2620b000505821b06a1bb06c592bb0032546b00325466061b08062208a2010233a232010233a
+2d2cb0032547b003254760b0052547b0806361b00225b00625496323b005254ab08063205862
+1b2159b0042646608a468a4660b02063612d2cb00426b00425b00425b00426b06e2b208a2010
+233a232010233a2d2c2320b001545821b00225b1024e2bb0805020605920606020b001515821
+211b20b005515821206661b0402361b100032550b00325b00325505a5820b00325618a535821
+b000591b21591bb00754582066616523211b2121b000595959b1024e2b2d2cb00225b004254a
+b0005358b0001b8a8a238ab00159b004254620666120b00526b0062649b00526b00526b0702b
+236165b02060206661b02061652d2cb0022546208a20b000505821b1024e2b1b452321596165
+b00225103b2d2cb0042620b802006220b80200638a236120b05d602bb00525118a128a20398a
+58ba005d10000004266356602b23212010204620b1024e2b23611b2321208a201049b1024e2b
+593b2d2cba005d10000009256356602bb00525b00525b00526b06d2bb15d0725602bb00525b0
+0525b00525b00525b06f2bba005d10000008266356602b20b0005258b0502bb00525b00525b0
+0725b00725b00525b0712bb0021738b00052b00225b001525a58b00425b0062549b00325b005
+25496020b0405258211bb000525820b0025458b00425b00425b00725b0072549b00217381bb0
+0425b00425b00425b0062549b0021738595959595921212121212d2cb12801885158b9400004
+0063b8080088545c1bb001592d2cb12801885158b94000040063b8080088545c1bb001592d00
+0001000000063ae1d2be21575f0f3cf50019080000000000bbeb7ccc00000000d749774ffbfa
+fd8009ec0836000000090002000100000000000100000600fe0001c40aa0fbfafaa009ec0001
+00000000000000000000000000000004040e0000047500210475002101d60000000000000000
+018000000198000002b00000030c000100000004043a00170118000800020010002f00870000
+123624eb00070001b10903415302c802c60038001f02c702c60038001f02dd003802da005502
+d9003802d7005502d8003802d7005502d6003802d5005502d4003802d3005502d2003802d100
+5502bf003802be005502bd003802bc0055000402db003402db005402db0003003402db005402
+db006402db00a402db00d402db0005006b02d50001000b02d10001001402c2004402c2006402
+c2007402c2009402c2000500a402be000100a402bc000100200284b40918014a20b80283b409
+18014a20b80282b40918014a20b80281b40918014a20b80280b40918014a20b8027fb4091801
+4a20b8027eb40918014a20b8027db40918014a20b8027cb40918014a20b8027bb40918014a20
+b8027ab40918014a20b80279b40918014a20b80278b40918014a20b80277b40918014a20b802
+76b40918014a20b80275b40918014a20b80274b40918014a20b80273b40918014a20b80271b4
+0918014a20b80270b40918014a20b8026fb40918014a20b8026eb40918014a20b8026db40918
+014a20b8026cb40918014a20b8026bb40918014a20b8026ab40918014a20b80269b40918014a
+20b80268b40918014a20b80267b40918014a20b80266b40918014a20b80265b40918014a20b8
+0264b40918014a20b80263b40918014a20b80262b40918014a20b80261b40918014a20b80260
+b40918014a20b8025fb40918014a20b8025eb40918014a20b8025db40918014a20b8025cb409
+18014a20b8025bb40918014a20b8025ab40918014a20b80259b40918014a20b80258b4091801
+4a20b80257b40918014a20b80256b40918014a20b80255b40918014a20b80254b40918014a20
+b80253b40918014a20b80252b40918014a20b80251b40918014a20b80250b40918014a20b802
+4fb40918014a20b8024eb40918014a20b8024db40918014a20b8024cb40918014a20b8024bb4
+0918014a20b8024ab40918014a20b80249b40918014a20b80248b40918014a20b80247b40918
+014a20b80246b40918014a20b80245b40918014a20b80244b40918014a20b80243b40918014a
+20b80242b40918014a20b80241b40918014a20b80240b40918014a20b8023fb40918014a20b8
+023eb40918014a20b8023db40918014a20b8023cb40918014a20b8023bb40918014a20b8023a
+b40918014a20b80239b40918014a20b80238b40918014a20b80237b40918014a20b80236b409
+18014a20b80235b40918014a20b80234b40918014a20b80233b40918014a20b80232b4091801
+4a20b80231b40918014a20b80230b40918014a20b8022fb40918014a20b8022eb40918014a20
+b8022db40918014a20b8022cb40918014a20b8022bb40918014a20b8022ab40918014a20b802
+29b40918014a20b80228b40918014a20b80227b40918014a20b80226b40918014a20b80225b4
+0918014a20b80224b40918014a20b80223b40918014a20b80222b40918014a20b80221b40918
+014a20b80220b40918014a20b8021fb40918014a20b8021eb40918014a20b8021db40918014a
+20b8021cb40918014a20b8021bb40918014a20b8021ab40918014a20b80219b40918014a20b8
+0218b40918014a20b80217b40918014a20b80216b40918014a20b80215b40918014a20b80214
+b40918014a20b80213b40918014a20b80212b40918014a20b80211b40918014a20b80210b409
+18014a20b8020fb40918014a20b8020eb40918014a20b8020db40918014a20b8020cb4091801
+4a20b8020bb40918014a20b8020ab40918014a20b80209b40918014a20b80208b40918014a20
+b80207b40918014a20b80206b40918014a20b80205b40918014a20b80204b40918014a20b802
+03b40918014a20b80202b40918014a20b80201b40918014a20b80200b40918014a20b801ffb4
+0918014a20b801feb40918014a20b801fdb40918014a20b801fcb40918014a20b801fbb40918
+014a20b801fab40918014a20b801f9b40918014a20b801f8b40918014a20b801f7b40918014a
+20b801f6b40918014a20b801f5b40918014a20b801f4b40918014a20b801f3b40918014a20b8
+01f2b40918014a20b801f1b40918014a20b801f0b40918014a20b801efb40918014a20b801ee
+b40918014a20b801edb40918014a20b801ecb40918014a20b801ebb40918014a20b801eab409
+18014a20b801e9b40918014a20b801e8b40918014a20b801e7b40918014a20b801e6b4091801
+4a20b801e5b40918014a20b801e4b40918014a20b801e3b40918014a20b801e2b40918014a20
+b801e1b40918014a20b801e0b40918014a20b801dfb40918014a20b801deb40918014a20b801
+ddb40918014a20b801dcb40918014a20b801dbb40918014a20b801dab40918014a20b801d9b4
+0918014a20b801d8b40918014a20b801d7b40918014a20b801d6b40918014a20b801d5b40918
+014a20b801d4b40918014a20b801d3b40918014a20b801d2b40918014a20b801d1b40918014a
+20b801d0b40918014a20b801cfb40918014a20b801ceb40918014a20b801cdb40918014a20b8
+01ccb40918014a20b801cbb40918014a20b801cab40918014a20b801c9b40918014a20b801c8
+b40918014a20b801c7b40918014a20b801c6b40918014a20b801c5b40918014a20b801c4b409
+18014a20b801c3b40918014a20b801c2b40918014a20b801c1b40918014a20b801c0b4091801
+4a20b801bfb40918014a20b801beb40918014a20b801bdb40918014a20b801bcb40918014a20
+b801bbb40918014a20b801bab40918014a20b801b9b40918014a20b801b8b40918014a20b801
+b7b40918014a20b801b6b40918014a20b801b5b40918014a20b801b4b40918014a20b801b3b4
+0918014a20b801b2b40918014a20b801b1b40918014a20b801b0b40918014a20b801afb40918
+014a20b801aeb40918014a20b801adb40918014a20b801acb40918014a20b801abb40918014a
+20b801aab40918014a20b801a9b40918014a20b801a8b40918014a20b801a7b40918014a20b8
+01a6b40918014a20b801a5b40918014a20b801a4b40918014a20b801a3b40918014a20b801a2
+b40918014a20b801a1b40918014a20b801a0b40918014a20b8019fb40918014a20b8019eb409
+18014a20b8019db40918014a20b8019cb40918014a20b8019bb40918014a20b8019ab4091801
+4a20b80199b40918014a20b80198b40918014a20b80197b40918014a20b80196b40918014a20
+b80195b40918014a20b80194b40918014a20b80193b40918014a20b80192b40918014a20b801
+91b40918014a20b80190b40918014a20b8018fb40918014a20b8018eb40918014a20b8018db4
+0918014a20b8018cb40918014a20b8018bb40918014a20b8018ab40918014a20b80189b40918
+014a20b80188b40918014a20b80187b40918014a20b80186b40918014a20b80185b40918014a
+20b80184b40918014a20b80183b40918014a20b80182b40918014a20b80181b40918014a20b8
+0180b40918014a20b8017fb40918014a20b8017eb40918014a20b8017db40918014a20b8017c
+b40918014a20b8017bb40918014a20b8017ab40918014a20b80179b40918014a20b80178b409
+18014a20b80177b40918014a20b80176b40918014a20b80175b40918014a20b80174b4091801
+4a20b80173b40918014a20b80172b40918014a20b80171b40918014a20b80170b40918014a20
+b8016fb40918014a20b8016eb40918014a20b8016db40918014a20b8016cb40918014a20b801
+6bb40918014a20b8016ab40918014a20b80169b40918014a20b80168b40918014a20b80167b4
+0918014a20b80166b40918014a20b80165b40918014a20b80164b40918014a20b80163b40918
+014a20b80162b40918014a20b80161b40918014a20b80160b40918014a20b8015fb40918014a
+20b8015eb40918014a20b8015db40918014a20b8015cb40918014a20b8015bb40918014a20b8
+015ab40918014a20b80159b40918014a20b80158b40918014a20b80157b40918014a20b80156
+b40918014a20b80155b40918014a20b80154b40918014a20b80153b40918014a20b80152b409
+18014a20b80150b40918014a20b8014fb40918014a20b8014eb40918014a20b8014cb4091801
+4a20b8014bb40918014a20b8014ab40918014a20b80149b40918014a20b80148b40918014a20
+b80147b40918014a20b80146b40918014a20b80145b40918014a20b80144b40918014a20b801
+43b30918014ab80284b21e3e1fb80283b21e151fb80282b21e3e1fb80281b21e3a1fb80280b2
+1e3e1fb8027fb21e3e1fb8027eb21e0c1fb8027db21e3e1fb8027cb21e3e1fb8027bb21e3e1f
+b8027ab21e3e1fb80279b21d411fb80278b21d431fb80277b21d431fb80276b21d431fb80275
+b21d411fb80274b21d431fb80273b21d431fb80272b21d411fb80271b21d421fb80270b21d42
+1fb8026fb21d421fb8026eb21d431fb8026db21d431fb8026cb21d431fb8026bb21c451fb802
+6ab21c451fb80269b21c451fb80268b21c451fb80267b21c451fb80266b21c441fb80265b21c
+451fb80264b21c451fb80263b21c451fb80262b21c451fb80261b21c451fb80260b21c451fb8
+025fb21c451fb8025eb21c441fb8025db21c451fb8025cb21c451fb8025bb21c451fb8025ab2
+1c451fb80259b21c451fb80258b21c451fb80257b21c451fb80256b21c451fb80255b21c451f
+b80254b21c451fb80253b21c451fb80252b21c451fb80251b21c451fb80250b21c451fb8024f
+b21c451fb8024eb21c451fb8024db21c451fb8024cb21c451fb8024bb21c451fb8024ab21b49
+1fb80249b21b491fb80248b21b4a1fb80247b21b4a1fb80246b21b4b1fb80245b21b4c1fb802
+44b21b4c1fb80243b21b4c1fb80242b21b4b1fb80241b21b491fb80240b21b491fb8023fb21b
+4a1fb8023eb21b4a1fb8023db21b4a1fb8023cb21b4b1fb8023bb21b4b1fb8023ab21b4c1fb8
+0239b21b4c1fb80238b21b4c1fb80237b21b4c1fb80236b21b4c1fb80235b21b491fb80234b2
+1b491fb80233b21b4a1fb80232b21b4a1fb80231b21b4a1fb80230b21b4b1fb8022fb21b4b1f
+b8022eb21b4c1fb8022db21b4c1fb8022cb21b4c1fb8022bb21b4c1fb8022ab21b4c1fb80229
+b21b4c1fb80228b21b4c1fb80227b21b491fb80226b21b491fb80225b21b4a1fb80224b21b4a
+1fb80223b21b4a1fb80222b21b4b1fb80221b21b4b1fb80220b21b4c1fb8021fb21b4c1fb802
+1eb21b4c1fb8021db21b4c1fb8021cb21b4c1fb8021bb21b4c1fb8021ab21a4e1fb80219b21a
+4e1fb80218b21a4f1fb80217b21a4f1fb80216b21a4e1fb80215b21a4e1fb80214b21a4f1fb8
+0213b21a4f1fb80212b21a4f1fb80211b21a4e1fb80210b21a4e1fb8020fb21a4f1fb8020eb2
+1a4f1fb8020db21a4f1fb8020cb21a4e1fb8020bb21a4e1fb8020ab21a4e1fb80209b21a4f1f
+b80208b21a4f1fb80207b21a4f1fb80206b219501fb80205b219511fb80204b219511fb80203
+b219501fb80202b219511fb80201b219511fb80200b219511fb801ffb219511fb801feb21950
+1fb801fdb219511fb801fcb219511fb801fbb219511fb801fab219501fb801f9b219511fb801
+f8b219511fb801f7b219511fb801f6b219511fb801f5b218541fb801f4b218531fb801f3b218
+541fb801f2b218541fb801f1b218541fb801f0b218531fb801efb218541fb801eeb218541fb8
+01edb218541fb801ecb218531fb801ebb218531fb801eab218541fb801e9b218541fb801e8b2
+18541fb801e7b218541fb801e6b218531fb801e5b218541fb801e4b218531fb801e3b218541f
+b801e2b218541fb801e1b218541fb801e0b218531fb801dfb218531fb801deb218541fb801dd
+b218541fb801dcb218541fb801dbb218541fb801dab218531fb801d9b218541fb801d8b21854
+1fb801d7b217571fb801d6b217561fb801d5b217561fb801d4b217571fb801d3b217571fb801
+d2b217571fb801d1b217571fb801d0b217561fb801cfb217561fb801ceb217571fb801cdb217
+571fb801ccb217571fb801cbb217571fb801cab217561fb801c9b217561fb801c8b217571fb8
+01c7b217571fb801c6b217571fb801c5b217571fb801c4b217571fb801c3b217561fb801c2b2
+17571fb801c1b217571fb801c0b217571fb801bfb217561fb801beb217561fb801bdb217571f
+b801bcb217571fb801bbb217571fb801bab217571fb801b9b217571fb801b8b217561fb801b7
+b217571fb801b6b217571fb801b5b217571fb801b4b217571fb801b3b2163f1fb801b2b2165b
+1fb801b1b2165b1fb801b0b2165b1fb801afb2165b1fb801aeb2165b1fb801adb2165b1fb801
+acb2165b1fb801abb2165b1fb801aab2163e1fb801a9b2163f1fb801a8b2163f1fb801a7b216
+5b1fb801a6b2165b1fb801a5b2165b1fb801a4b2165b1fb801a3b2165b1fb801a2b2165b1fb8
+01a1b2165b1fb801a0b2165b1fb8019fb2163e1fb8019eb2163f1fb8019db2163f1fb8019cb2
+165b1fb8019bb2165b1fb8019ab2165b1fb80199b2165b1fb80198b2163e1fb80197b2165b1f
+b80196b2165b1fb80195b2165b1fb80194b2163e1fb80193b2163f1fb80192b2163f1fb80191
+b2165b1fb80190b2165b1fb8018fb2165b1fb8018eb2165b1fb8018db2165b1fb8018cb2163f
+1fb8018bb2165b1fb8018ab2165b1fb80189b2165b1fb80188b2165b1fb80187b2165b1fb801
+86b215611fb80185b215621fb80184b215621fb80183b215661fb80182b215661fb80181b215
+551fb80180b215451fb8017fb215361fb8017eb215361fb8017db215611fb8017cb215621fb8
+017bb215621fb8017ab215641fb80179b215661fb80178b215661fb80177b215661fb80176b2
+15661fb80175b215661fb80174b215661fb80173b215451fb80172b215621fb80171b215621f
+b80170b215631fb8016fb215641fb8016eb215661fb8016db215661fb8016cb215661fb8016b
+b215661fb8016ab215661fb80169b215621fb80168b215621fb80167b215611fb80166b21564
+1fb80165b215641fb80164b215661fb80163b215661fb80162b215661fb80161b215661fb801
+60b215661fb8015fb215661fb8015eb215551fb8015db215451fb8015cb215451fb8015bb215
+361fb8015ab215611fb80159b215621fb80158b215621fb80157b215631fb80156b215641fb8
+0155b215661fb80154b215661fb80153b215661fb80152b215661fb80151b214401fb80150b2
+14551fb8014fb214561fb8014eb214831fb8014db2142d1fb8014cb214401fb8014bb214401f
+b8014ab214411fb80149b214401fb80148b214401fb80147b214411fb80146b2147e1fb80145
+b214871fb80144b2147f1fb80143b214801fb80142b212461fb80141b212461fb80140b21246
+1fb8013fb212461fb8013eb212441fb8013db212461fb8013cb211591fb8013bb211591fb801
+3ab2115b1fb80139b2115b1fb80138b211471fb80137b211581fb80136b2115a1fb80135b211
+5b1fb80134b2115b1fb80133b2112c1fb80132b211471fb80131b211551fb80130b211571fb8
+012fb211571fb8012eb211581fb8012db211591fb8012cb211591fb8012bb2115a1fb8012ab2
+115a1fb80129b2115b1fb80128b2115b1fb80127b2115b1fb80126b2115b1fb80125b211561f
+b80124b211561fb80123b211571fb80122b211581fb80121b211591fb80120b2115a1fb8011f
+b2115a1fb8011eb2115b1fb8011db2115b1fb8011cb2115b1fb8011bb2115b1fb8011ab2115b
+1fb80119b2105d1fb80118b2105e1fb80117b2105f1fb80116b2105f1fb80115b2105f1fb801
+14b2105f1fb80113b2105f1fb80112b2105d1fb80111b2105e1fb80110b2105f1fb8010fb210
+5f1fb8010eb2105f1fb8010db2105f1fb8010cb2105d1fb8010bb2105e1fb8010ab2105f1fb8
+0109b2105f1fb80108b2105f1fb80107b2105f1fb80106b2105d1fb80105b2105e1fb80104b2
+105f1fb80103b2105f1fb80102b2105f1fb80101b2105f1fb8010040ff0f621fff0f621ffe0f
+631ffd0f641ffc0f621ffb0f621ffa0f621ff90f631ff80f641ff70f641ff60f641ff50f641f
+f40f621ff30f621ff20f631ff10f641ff00f641fef0f641fee0f641fed0f621fec0f621feb0f
+631fea0f641fe90f641fe80f641fe70f641fe60e671fe50e681fe40e681fe30e681fe20e681f
+e10e671fe00e681fdf0e681fde0e681fdd0e671fdc0e681fdb0e681fda0e681fd90e681fd80d
+6b1fd70d311fd60d6b1fd50d6c1fd40d261fd30d261fd20d6c1fd10d2b1fd00d2b1fcf0d2b1f
+ce0d6b1fcd0d6c1fcc0d6d1fcb0d6b1fca0d6c1fc90d6d1fc80d6a1fc70d691fc60d681fc50d
+671fc40d261fc30d311fc20d311fc10d311f40ffc00d311fbf0d311fbe0d311fbd0c711fbc0c
+721fbb0c731fba0c741fb90c741fb80c741fb70c711fb60c711fb50c721fb40c731fb30c741f
+b20c741fb10c741fb00c741faf0b791fae0b7a1fad0b7c1fac0b7d1fab0b7e1faa0b7e1fa90b
+7e1fa80b7e1fa70b7e1fa60b7e1fa50b2d1fa40b7e1fa30b7e1fa20b791fa10b7e1fa00b6b1f
+9f0b791f9e0b7e1f9d0b7e1f9c0b791f9b0b7a1f9a0b7c1f990b7d1f980b7e1f970b7e1f960b
+7e1f950b7e1f940b7e1f930b7e1f920b6b1f910b2d1f900a4e1f8f0a4f1f8e0a671f8d0aa51f
+8c0aa71f8503251f8403381f8301381f8255805581ab80557f557d557eab7d550b7d010b7d1b
+7d4b7d7b7dab7ddb7d4012060a7c557a557bab7a557955775578ab7755ba028600660285403c
+5576ab755504751475747503f47501ab750144750130750102007510752075030c7455725573
+ab7255007250728072b072043bb072e072020072010ab8ffc0b3721b1e46b8ffc0407c720d10
+4671556f5570ab6f556e666d556a03251f6938675568ab67556638645565ab64556338625561
+3860555f385d555eab5d555c385a555bab5a55593858555703251f5638545555ab5455533851
+5552ab51554f384e554e03251f4d384b554cab4b554a38485549ab4855473846554503381f00
+1c101c201c0310b8ffc0404e1c1b1e46001b0142301b401be01bf01b04001bb01bc01b03120f
+1a1f1a02290f1901434f19016f197f198f19030f18cf18024018292c460f17cf17df17ef1704
+134017292e460016101620160315b8ffc0b3164d5446b8ffc0b3163f4446b8ffc0b316313546
+b8ffc0401f162326460f15010f151f150245ef1501860003012001010001100120010308b8ff
+c0b401151f4603bd0100010000050001019000542b4bb80800524bb008505bb00188b02553b0
+0188b040515ab00688b000555a5b58b101018e59b101024354b0144b515a58b101018e59858d
+8d001d424bb01d5358b203a0a01d42594bb0805358b20340401d42594bb0ff5358b20300001d
+42592b5e7375732b58403d0011e011f0110315bf10cf10020f0f010f0fff0f02400f3135460f
+0e1f0e020f0e1f0eff0e03400e3137460f0d1f0d020f0d1f0dff0d0316400d313746b8ffc040
+270c5054460f0b1f0b02553f0b4f0b02400b3f4346400b2d3046000301200101000110012001
+0308b8ffc0b301151f462b5e7375732b2b745e732b2b5e73742b73742b7374745e735901755e
+73742b2b2b2b5e732b5e732b7374755e735e735e73755e732b5e73002b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b5e73755e732b2b5e735f73737373742b2b2b
+2b2b2b5e73742b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b012b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2bb1000243545841ff0284006402
+830064028200640281006402800064027f0064027e0064027d0064027c0064027b0064027a00
+6402790064027800640277006402760064027500640274006402730064027100640270006402
+6f0064026e0064026d0064026c0064026b0064026a0064026900640268006402670064026600
+64026500640264006402630064026200640261006402600064025f0064025e0064025d006402
+5c0064025b0064025a0064025900640258006402570064025600640255006402540064025300
+64025200640251006402500064024f0064024e0064024d0064024c0064024b0064024a006402
+4900640248006402470064024600640245006402440064024300640242006402410064024000
+64023f0064023e0064023d0064023c0064023b0064023a006402390064023800640237006402
+360064023500640234006402330064023200640231006402300064022f0064022e0064022d00
+64022c0064022b0064022a006402290064022800640227006402260064022500640224006402
+230064022200640221006402200064021f0064021e0064021d0064021c0064021b0064021a00
+6402190064021800640217006402160064021500640214006402130064021200640211006402
+100064020f0064020e0064020d0064020c0064020b0064020a00640209006402080064020700
+640206006402050064020441ff00640203006402020064020100640200006401ff006401fe00
+6401fd006401fc006401fb006401fa006401f9006401f8006401f7006401f6006401f5006401
+f4006401f3006401f2006401f1006401f0006401ef006401ee006401ed006401ec006401eb00
+6401ea006401e9006401e8006401e7006401e6006401e5006401e4006401e3006401e2006401
+e1006401e0006401df006401de006401dd006401dc006401db006401da006401d9006401d800
+6401d7006401d6006401d5006401d4006401d3006401d2006401d1006401d0006401cf006401
+ce006401cd006401cc006401cb006401ca006401c9006401c8006401c7006401c6006401c500
+6401c4006401c3006401c2006401c1006401c0006401bf006401be006401bd006401bc006401
+bb006401ba006401b9006401b8006401b7006401b6006401b5006401b4006401b3006401b200
+6401b1006401b0006401af006401ae006401ad006401ac006401ab006401aa006401a9006401
+a8006401a7006401a6006401a5006401a4006401a3006401a2006401a1006401a00064019f00
+64019e0064019d0064019c0064019b0064019a00640199006401980064019700640196006401
+9500640194006401930064019200640191006401900064018f0064018e0064018d0064018c00
+64018b0064018a00640189006401880064018700640186006401850064418001840064018300
+64018200640181006401800064017f0064017e0064017d0064017c0064017b0064017a006401
+7900640178006401770064017600640175006401740064017300640172006401710064017000
+64016f0064016e0064016d0064016c0064016b0064016a006401690064016800640167006401
+660064016500640164006401630064016200640161006401600064015f0064015e0064015d00
+64015c0064015b0064015a006401590064015800640157006401560064015500640154006401
+5300640152006401500064014f0064014e0064014c0064014b0064014a006401490064014800
+6401470064014600640145006401440064014300642b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b592b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b00737373737373742b2b2b2b2b2b2b2b2b2b185f5e0000>
+] def
+/f-0-1 currentdict end definefont pop
+%%EndResource
+%%BeginResource: font CambriaMath
+11 dict begin
+/FontType 42 def
+/FontName /CambriaMath def
+/PaintType 0 def
+/FontMatrix [ 1 0 0 1 0 0 ] def
+/FontBBox [ 0 0 0 0 ] def
+/Encoding 256 array def
+0 1 255 { Encoding exch /.notdef put } for
+Encoding 120 /x put
+Encoding 121 /y put
+Encoding 122 /z put
+/CharStrings 4 dict dup begin
+/.notdef 0 def
+/x 1 def
+/y 2 def
+/z 3 def
+end readonly def
+/sfnts [
+<0001000000090080000300106376742003031598000005500000089e6670676db5b318120000
+0df0000010b3676c7966308291460000009c000004b468656164fa71ceca00001ea400000036
+6868656112c4133c00001edc00000024686d747810cd013a00001f00000000106c6f63610000
+0b3800001f10000000146d6178700a75036300001f240000002070726570664ecf8500001f44
+00001128000400be0000048605540028002c00300034004b4025152f3428292c002c1d0b312e
+342c0b2e2e0b2c3404353600292b30331213130e18182e3103003fcd322fcd322f3fddd6cd32
+11120117392f2f2f2f10cd10cd113310cd3210ddc631300135343e02373e0335342623220e02
+072335363633321e0215140e02070e031515171523350111211101112111023706162a241726
+1b0f413e2030241909603c894346633e1c0f243c2c20261507129001fcfd060361fc3801e716
+16252a3527192f3339234b521424321e821e2e1d334629263e3d462d212c27281c066ea1a1fe
+e4049afb6604f7faac05540000010017000003c703bc00370094b0852b58b9002afff8b30f01
+4d2bb8fff840300f014d1b2a000e04233012152503222322a7441423070a32032f302fa74408
+300f000e1b2a04123009300925121239252f12392f1239392f2f121739003f332b1100173318
+2f332b110017331112173931302b012b1b40161b2a000e04233012152503221423070a32032f
+08300f00183f331117332f331117331112173930315901373636353426273521150606070713
+161617152135363534262727070606151416171521353e023713032e02273521150615141617
+020882151a22240147264f39cfe4314e27fe6e530e13919a11132528feb22135372dd0d52c34
+2c1601884f15160241a51b331b171e0731310b4047fefecd42460f31310a34152619cac81625
+171b230431310c243937010201243c361c0631310c32172e1c00000000010014fe4a040a03bc
+002e00b1b0852b58403e0b18111648e50bf50b020740111648000710072007030903070b4004
+0b030bab40041c2000101615272a03181718a74428170f08a50707161000202029162f123911
+333311392fed003f332b11001733183f33333f1aed2b001a1810cc5f5e5d2b5d2b31301b402c
+0b18111648e50bf50b0207401116480007100720070309030740040bab6c041c200010161527
+2a031828170f00183f331117333f33333f2b1acc5f5e5d2b5d2b303159050e02232227353316
+1633323e0237012e02273521150e021514161713133636353426273521150e0207020837687d
+563745590c24221e2f33452bfee81b21262701972f26120d0eb2c811132f3a0176272a2a1d52
+7c9a4e0dc629201738745902f1493a1e0931310b15211a1b3a27fe0b01e028431d2b2c0d3131
+082147400000000100510000035303bc001400fbb0852b5840140f0a1f0a0200141014020903
+20090d48030e020db8ffe04029090d480d050b00141014020f140e000a100a0219030a05020e
+030e9540020b050305950b0f09a50a04b8fff0401f0f014d040d100f014d0d0a0d0a0314a500
+100f014d0000160e100f014d0e032f332b12392f2be11239392f2f2b332b10e1003fed2b0018
+2f1aed2b001810c45f5e5d10c65e5d1112392b1112392b5e5d5d31301b40140f0a1f0a020014
+101402090320090d48030e020db8ffe04022090d480d050b00141014020f140e000a100a0219
+030a05020e956c020b05956c0b0f00183f2b2f2b10c45f5e5d10c65e5d1112392b1112392b5e
+5d5d30315901112135012122060607231121150121323e02370353fcfe0224fef1323a341857
+02f6fddd010734342624190122fede31033a245447011032fcc710234c52058d000a00000555
+0010002b00000000000004170010000000000000000003bc001000000000fff0ff9d0000fff0
+0000000000000000fe52fff00000000000000000000005b1000d033d000d055500100215fff0
+02e00010ffa0fff00000000000000000000000000000000000000000000000000000000003e0
+00100000000000000800000008000000040000000042007d0000000000000063000000000000
+0063007000000000005600000000000000000000000000000000000000000000000000000000
+00c2000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000ce00c900bb00830000000000bc00b300ac000000000000
+00ac00b5008500c200bc0078000000000059004f008400a0004f00540078005a00490055005e
+00690000007100a400a500000000000000620060003100310000003e000a008a000000000000
+00ca00e800b601fc00a4009b0000000000000000000000000000000000930085007200b800c2
+009b004a0069003e00910063009400ab009f004b008600910000000000000000000000d60000
+000000e00261006a007300a700b000850064006800000000004d00810048005c007800460056
+0071006e008a005a00af00b4006500b10099007800bc0052009e06be00080274000d033dfff3
+023afff3008b0000009602740281028e03800074007c009e00de00f40090008ffec2fff00000
+0000000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000900098004b0084008e0042005a033d
+03500360007d0000000000000000000000000000000000000000000000000000000000000000
+00000000000000b700a400c10072007800b300a600ac009e00900125009a0087007d010c009d
+00bc013200910000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000b7008c00a60000
+00000000000000000000000000c300b900af00a50055008e00520073009b00a8004200500000
+00000000000000000000000000000128010a0083006a005a010e00fa005f0000000000000000
+0000000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000000000000000
+00700063007800540082006a0072008700580066003100750058006800580075000000000000
+00000136013e0088007100a3012d00e400750042007e006e0121013000c600880118007a0068
+009d0042009400ba0130013e007300b4012800f90070005b008e000000000000000000000000
+000000000000058d0010000005550010000000000800011600ce0000040003fa0000000003ea
+001000000000fff000000000fff00000012400c80000fe52fff00000000000000123010d00bc
+00b700aa00c600a2009b011b010300f500e100fe012f011c00bc012900d1012900c600fa00ba
+00c1010e00ec011b011800d70101000000000000000000000000000000000000058d00100000
+0555001000000000080000ba008b0565040000000000000003ea001000000000fff000000000
+fff0000000b1008d0000fe52fff0000000000000008100a7009c00c2007d00ac00b400bb00c1
+009200b600bb008c00b400a00085009700ad00a600a60091008000a200000000000000000000
+055a0033000005670033000000000800010e00c30000040000000000000003c000330000ffd1
+ffcd00000000ffcd0000000000000000fe8effcd00000000000000d5006900db003e00500049
+0000000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000207fce305df0249050f0501ffeb04aa0704fe5b01f5
+000000a50070009300a5007b007b006700000000000000000000000000000000000000000000
+03fd03e805afffee05bafe4205110524fe71fe7c000a00d700d900cf00c500e300d300d500ca
+00e7033003c503e103f20460040605cd05a200b5042e00770096000000000000000000000000
+00000000046e0468045104a4045a042e05270000041c004d00520057005c00600062006b0072
+00000590073104920556056403f203fa05980000006c00780086008e0093007e000040718574
+737271706f6e6d6c6b6a69686766656463625f5e5d5c5b5a595855545351504f4e524d4c4b4a
+4948474644434241403f3e3d3c3b3a393837363534333231302f2e2d2c2b2a29282726252423
+2221201f1e1d1c1b1a191817161514131211100f0e0d0c0b0a090807060504030201002c0118
+b0184358456ab0194360b00c2344231020b00c4ef04d2fb000121b21231120332f592d2c0118
+b0184358b0052bb000134bb0145058b100403859b0062b1b21231120332f592d2c0118b01843
+584eb0032510f221b000124d1b2045b00425b00425234a6164b0285258212310d61bb0032510
+f221b0001259592d2cb01a435821211bb00225b0022549b00325b003254a612064b010505821
+21211bb00325b0032549b0005058b0005058b8ffe238211bb0003821591bb0005258b01e3821
+1bb0003821595959592d2c0118b0184358b0052bb000134bb0145058b90000ffc03859b0062b
+1b21231120332f592d2c4e018a10b10c194344b00014b1000ce2b00015b90000fff03800b000
+3cb0282bb0022510b0003c2d2c0118b0002fb00114f2b00113b001154db000122d2c0118b018
+4358b0052bb00013b90000ffe038b0062b1b21231120332f592d2c0118b018435845646a2345
+6469b01943646060b00c2344231020b00cf02fb000121b2121208a208a525811331b21215959
+2d2c014bb0c85158b10b0a432343650a592d2c004bb0c8515800b10a0b4323430b592d2c00b0
+0c2370b1010c3e01b00c2370b1020c453ab10200080d2d2cb0122bb0022545b00225456ab040
+8b60b0022523442121212d2cb0132bb0022545b00225456ab8ffc08c60b0022523442121212d
+2cb000b0122b2121212d2cb000b0132b2121212d2c014bb0c85158b00643b00743650a592d2c
+2069b04061b0008b20b12cc08a8cb8100062602b0c642364615c58b00361592d2cb100032545
+6854b01c4b505a58b0032545b0032545606820b004252344b0042523441bb00325204568208a
+2344b00325456860b003252344592d2cb00325204568208a2344b003254564686560b00425b0
+016023442d2cb00143588721c01bb01243588745b0112bb00d2344b00d7ae41b038a45186920
+b00d23448a8a8720b0a05158b0112bb00d2344b00d7ae41b21b00d7ae4595959182d2c208a45
+23456860442d2c456a422d2c01182f2d2c0118b0184358b00425b00425496423456469b0408b
+6120b080626ab00225b00225618cb0194360b00c2344218a10b00cf6211b21212121592d2c01
+b0184358b0022545b002254564606ab00325456a6120b00425456a208a8b65b0042523448cb0
+0325234421211b20456a4420456a44592d2c012045b00055b018435a584568234569b0408b61
+20b080626a208a236120b003258b65b0042523448cb00325234421211b2121b0192b592d2c01
+8a8a45642345646164422d2cb00425b00425b0192bb0184358b00425b00425b00325b01b2b01
+b0022543b04054b0022543b000545a58b003252045b040614459b0022543b00054b0022543b0
+40545a58b004252045b04060445959212121212d2cb0032520b0072587052e23208ab00425b0
+0725b0142b1021c4212d2cc02d2c4b525845441b2121592d2cb00243583ded181bed592d2c4b
+505845441b2121592d2c01184b52588a2fed1b212121592d2c4b53234b515a58b003254568b0
+03254568b003256054582121211bb00225456860b0032523442121591b212121592d2cb00243
+583dcd181bcd592d2cb002435c58462346608a8a462320468a608a61b8ff8062232010238ab1
+0c0c8a70456020b0005058b00161b8ffba8b1bb0468c59b0106068013a1b2121212121592d2c
+2045b0032546524bb013515b58b0022546206861b00325b003253f2321381b2111592d2c2045
+b00325465058b0022546206861b00325b003253f2321381b2111592d2c004bb0c8515800b007
+43b006430b592d2c8a10ec2d2cb00e4358211b2046b0005258b8fff0381bb0103859592d2c20
+b0005558b8100063b003254564b00325456461b0005358b0021bb04061b00359254569535845
+441b2121591b21b0022545b00225456164b028515845441b212159592d2c21210c6423648bb8
+4000622d2c21b08051580c6423648bb82000621bb200402f2b59b002602d2c21b0c051580c64
+23648bb81555621bb200802f2b59b002602d2c0c6423648bb84000626023212d2c184b5358b0
+0425b00425496423456469b0408b6120b080626ab00225b00225618cb00c2344218a10b00cf6
+211b218a11231220392f592d2cb00225b002254964b0c05458b8fff838b008381b2121592d2c
+b0134358031b02592d2cb0134358021b03592d2cb00a2b2310203cb0172b2d2cb00225b8fff0
+38b0282b8a102320d023b0102bb0044358c01b3c59201011b00012012d2cb0482b2d2c01b002
+2510d023c901b00113b0001410b0013cb001162d2c01b00013b001b0032549b0031738b00113
+2d2c4b53234b515a5820458a60441b2121592d2c184b5358b00425b004254964b00325b00325
+496468b0408b6120b080626ab00225b00225618cb00c234421b004251023b00cf61bb00425b0
+042511122320392f59cc21212d2c0118b0184358b0052546234564611b21b00425b004254a59
+b00e23442310b00eec2310b00eec2d2cb01b435820b0016045b000515820b0016020452068b0
+005558b0206044211b212121591b20b0016020452068b0005558b8ffe06044b01c4b50582045
+b02060441b21591b21212159591b21592d2cb0022546206861b00325b003253f2321382d2c46
+2346608a8a462320468a608a61b8ff8062232010238ab10c0c8a70456020b0005058b00161b8
+ff808b1bb0818c59683a2d2cb0402a212d2c2035b001602d2cb0024354584b53234b515a5838
+1b2121591b21212121592d2c49b00e23442d2cb0024354584b53234b515a5820458a60441b21
+21591b21212121592d2c8a10b002435821b0301ac9181bb0401a18ed592d2c4b53234b515a58
+20458a60441b2121592d2c4b545820458a60441b2121592d2c4b53234b515a58381b2121592d
+2c4b5458381b2121592d2cb002435458b0462b1b21212121592d2cb002435458b0472b1b2121
+21592d2cb002435458b0482b1b21212121592d2cb002435458b0492b1b212121592d2c4b5258
+7d1b7a592d2c2320b000508a8a64b10003255458b0401bb10103255458b005438b59b04f2b59
+23b0622b2321235865592d2cb108000c215460432d2c014623466023466123201020468a61b8
+ff80628ab140408a704560683a2d2c208a2349648a2353583c1b21592d2cb012004b014b5442
+2d2cb1020042b123018851b1400188535a58b910000020885458b202010243604259b1240188
+5158b920000040885458b2020202436042b12401885458b2022002436042004b014b5258b202
+0802436042591bb940000080885458b202040243604259b94000008063b80100885458b20208
+0243604259b94000010063b80200885458b202100243604259b12601885158b94000020063b8
+0400885458b202400243604259b94000040063b80800885458b202800243604259b128018851
+58b94000080063b81000885458ba00020100000243604259595959595959b10002435458400a
+0540084009400c020d021bb10102435458b2054008ba010000090100b30c010d011bb1800243
+5258b2054008b80180b109401bb901000002435258b2054008ba0180000901401bb901800002
+435258b2054008b80200b109401bb2054008ba010000090100595959b9400000808855b94000
+020063b8040088555a58b30c000d011bb30c000d0159595942424242422d2c451868234b5158
+2320452064b04050587c59688a6059442d2cb00016b00225b0022501b001233e00b002233eb1
+0102060cb00a236542b00b234201b001233f00b002233fb10102060cb006236542b0072342b0
+0116012d2c20b82000628a6023622d2cb0072558001b0159b0042510b00325b0022520b8ffff
+545821cd1bed5921b006255cb006255a58b0092b5920b005254ab0042547b004254760b00625
+47b0806361b00225b0005558b00325b00725496359b0082558001b0159b00425b0062549b009
+255cb009255a58b0092b59b0072546b0806361b0032520b0005558631b2159612320b0005558
+b080631b21b08059b0592bb006255c586959b00425202010b00048233ab0062658001b0159b0
+052658b003252f598a12233221212d2cb00625b00a2587b00625b009254ab0005358b00625b0
+0a251bb00925b0072559b00225b00225070cb005256323b00625636020b94000040063535821
+b00426b00426b00a1bb94000040063655158b0042665b0042665b00a1bb00426b00426b000b0
+0325b003250b0d0ab0092eb00725b007250b0d0ab00b2eb00525b0052507595920b0005558b0
+0525b0052587b00725b007250bb0092510b00b25b0092620b8ffff545821cd1bed59b00525b0
+052507b00825b00b254923b00625b0062587b00a2510b00b25c15920b00051b800522378b001
+61b00225b00725b0072507b00a25b00d254961b08062b00525b005250bb00a252338b00625b0
+062587b00825b008250bb00a2510b00b25c4b00625b0062507b00925b00c2549b0032554b8ff
+a723792121212121212121212121212d2c23b0005458b9400000001bb900004000598ab00054
+58b9400000001bb90000400059b05b2b2d2c08b0005458b9400000001bb900004000590db05b
+2b2d2c8a8a080d8ab0005458b9400000001bb90000400059b05b2b2d2cb00426b00426080db0
+0426b00426080db05b2b2d2cb0022563b0206066b00225b82000626023622d2c0020b2004003
+25b0062649618b3812342d2c204569442d2c234ab1024e2b2d2c234ab1014e2b2d2c238a4a23
+4564b0022564b002256164b00343525821206459b1024e2b23b000505865592d2c238a4a2345
+64b0022564b002256164b00343525821206459b1014e2b23b000505865592d2c20b003254ab1
+024e2b8a103b2d2c20b003254ab1014e2b8a103b2d2cb00325b003258ab0672b8a103b2d2cb0
+0325b003258ab0682b8a103b2d2cb0032546b003254660b004252eb00425b00425b0042620b0
+00505821b06a1bb06c592bb0032546b00325466061b08062208a2010233a232010233a2d2cb0
+032547b003254760b0052547b0806361b00225b00625496323b005254ab080632058621b2159
+b0042646608a468a4660b02063612d2cb00426b00425b00425b00426b06e2b208a2010233a23
+2010233a2d2c2320b001545821b00225b1024e2bb0805020605920606020b001515821211b20
+b005515821206661b0402361b100032550b00325b00325505a5820b00325618a535821b00059
+1b21591bb00754582066616523211b2121b000595959b1024e2b2d2cb00225b004254ab00053
+58b0001b8a8a238ab00159b004254620666120b00526b0062649b00526b00526b0702b236165
+b02060206661b02061652d2cb0022546208a20b000505821b1024e2b1b452321596165b00225
+103b2d2cb0042620b802006220b80200638a236120b05d602bb00525118a128a20398a58ba00
+5d10000004266356602b23212010204620b1024e2b23611b2321208a201049b1024e2b593b2d
+2cba005d10000009256356602bb00525b00525b00526b06d2bb15d0725602bb00525b00525b0
+0525b00525b06f2bba005d10000008266356602b20b0005258b0502bb00525b00525b00725b0
+0725b00525b0712bb0021738b00052b00225b001525a58b00425b0062549b00325b005254960
+20b0405258211bb000525820b0025458b00425b00425b00725b0072549b00217381bb00425b0
+0425b00425b0062549b0021738595959595921212121212d2cb12501885058b94000020063b8
+040088545cb0164b525b1bb001592d00000100000006fd710cd1df7a5f0f3cf5001b08000000
+0000b9e6983d00000000d630eee4f434ec4a16f118ef00000009000200010000000000010000
+063bfe390161175af434fda416f1000100000000000000000000000000000004054400be03de
+00170408001403a3005100000000000000ec0000022c0000036c000004b400010000000400da
+002d0097000600020010002f0086000009a401c000030001b9002001feb40918014a20b801fa
+b40918014a20b801f9b40918014a20b801f8b40918014a20b801f7b40918014a20b801f6b409
+18014a20b801f0b40918014a20b801efb40918014a20b801eeb40918014a20b801edb4091801
+4a20b801ecb40918014a20b801ebb40918014a20b801e6b40918014a20b801e5b40918014a20
+b801e4b40918014a20b801e3b40918014a20b801e2b40918014a20b801e1b40918014a20b801
+e0b40918014a20b801d3b40918014a20b801d2b40918014a20b801d1b40918014a20b801cfb4
+0918014a20b801ceb40918014a20b801cdb40918014a20b801ccb40918014a20b801a0b40918
+014a20b8018fb40918014a20b8018eb40918014a20b8018ab40918014a20b80188b40918014a
+20b80187b40918014a20b80186b40918014a20b8015bb40918014a20b8015ab40918014a20b8
+0159b40918014a20b80158b40918014a20b80154b40918014a20b80150b40918014a20b8014c
+b40918014a20b8014bb40918014a20b8014ab40918014a20b80136b40918014a20b80130b409
+18014a20b8012fb40918014a20b8012db40918014a20b8012cb40918014a20b80109b4091801
+4a20b80107b40918014a20b8010540ff0918014a20f40918014a20f20918014a20f10918014a
+20f00918014a20ef0918014a20ed0918014a20ec0918014a20ea0918014a20e50918014a20e4
+0918014a20e30918014a20e10918014a20de0918014a20da0918014a20d80918014a20d30918
+014a20cd0918014a20cc0918014a20ca0918014a20c90918014a20c80918014a20c60918014a
+20c40918014a20c20918014a20c00918014a20bf0918014a20bd0918014a20b30918014a20b1
+0918014a20af0918014a20a50918014a20a40918014a20a00918014a208e0918014a208d0918
+014a208c0918014a208b0918014a208a0918014a20890918014a20850918014a20840918014a
+2083091801403e4a20800918014a207f0918014a207e0918014a207d0918014a20620918014a
+20510918014a20500918014a20480918014a20420918014a200e0918014a0f41630441001f04
+41002f0441003f0441004f0441005f0441006f0441007f0441008f0441009f044100af044100
+bf044100cf0441000d005f03ea0001008003f4009003f400a003f400b003f400c003f400d003
+f400e003f400f003f40008002f0433003f0433004f0433005f0433006f0433007f0433008f04
+33009f043300af043300bf0433000a001f0434002f0434003f0434004f0434005f0434006f04
+34007f0434000700cf042300df042300ef04230003000f0423001f0423003f0423005f042300
+9f0423402305f0e201b0fdc0fd02c0fdd0fde0fdf0fd04d0fde0fdf0fd03c0ffd0ffe0fff0ff
+0470410a0425000100c0042500d0042500e0042500f00425400c04e0bef0be02e0bef0be020f
+41110421003f04210002001002580001000f025800e002580002000f040a0001000f0408b401
+0f26010f411b04070001000f04060001007f02170001000f029c001f029c002f029c003f029c
+004f029c005f029c000600df029c00ef029c00ff029c405303dfe016171cd4d516171c7b7c16
+1b7b7c19d1d216171c767716171c6d7016171c6c6f16171c6b6e161b6b6e7f721a747514151c
+676a14151c666914151c6568141b656885711a1973167a431921794319211941310292009902
+920002001c0292002c029200020299029a029b000c028d028e028f000c028a028b028c000c00
+1b0299008b02990002000f0299009f029900bb029900db0299000402a5028b02a7000d029f02
+9a02a1000d029c028e029e000dffe8028eb2142339b9ffe8029ab2142339411a0282027d0008
+002b0281027c0005002b027e027a0004002b027d027a0004002b027a02570005002b02770267
+0005002b02670257b2052b20b80270b21b2039bd027202570004002b026e0257b2042b20b802
+57b331333909414102710019027100aa025700b8025700040069027100da025700e802570003
+028402790006002b028002790004002b027f02790008002b027b02790008002b027902560006
+002b027802660000002b027602660008002b027502660008002b027302660008002b02660256
+0006002b027402560000002b027302560000002b026f0256b2072b2941500256000100860256
+0001025d025e025f000c025102520253000c024e024f0250000c000b024e000b0251000a025d
+003b024e00590251007602510075025d009b024e00b5025d00d9024e000a0269024f026b000d
+0263025e0265000d026002520262000d0269003c0263003c0260003c025d003c0251003c024e
+003c0244023c0005002b024302110002002b0240023c0005002b023e02110004002b023d0211
+b2042b464115023c00010046023c00c6023c0002023b02110007002b023902110006002b0237
+02110004002b02210211b2072b20b80233b21316394116022f02110004002b022e0211000400
+2b022d02110005002b022c02110004002b022b02110004002b022a0211b2052b474142021100
+010005021100a502110002003b0233004b023300640211007402110004024202100007002b02
+4102100005002b023f02100002002b023a02100007002b023802100007002b02360210000700
+2b023502100007002b022002100007002b023402100005002b023102100005002b0230021000
+07002b022902100007002b02280210b2072b8a416e02100001001a021000b902320002021702
+180219000c020b020c020d000c02080209020a000c000b0208000b020b000a0217003b020800
+59020b0076020b00750217009b020800b5021700d90208000a022302090225000d021d021802
+1f000d021a020c021c000d0223003c021d003c021a003c0217003c020b003c0208003c015301
+4d0002002b014e014d0002002b0156015c0004002b0155015c0004002b0157015c0002002b01
+da01d4000a002b01d801d4000a002b01e501e00005002b01e101e00005002b01e001eb000500
+2b01ef01eb0002002b01ec01ebb2052b40b801ebb2090a39b9ffc00104b2313139b9ffc00104
+b21b2039b8ffc0b4c71f203940b80103b22c2c39ba010301000100b21f2223b901030100b3c0
+1e1e23ba010301000100b21d1d23b901030100b3c01c1c23ba010301000100b21b1b23b90103
+0100b3c0141a23b901030100b3800b1323b901030100b340090a23b901020101b340508b23b9
+01010100b340508b23410a01020100004f001f01010100004f001fffc00100b2505539b9ffc0
+0100b323233940b80100b71d1e3940e81b1b39b8ffc0b4e724253956b80108401301ddd8052b
+3bd64bd60240b00b0d39c1c0052bb8ffc040379f131339409c2f30399c9a012b9b9a052b9a91
+042ba999042b9992032b40c52c31399291032b889198910209631863c7630320630d0f39b8ff
+f0b4471f2539cbb8010a401c019895012b379e019695022b1897262a3917970110953f4039d9
+9501bc0136012c0003002b0130b2cd042bb8012fb2cc042bb8012db2cd032bb8012cb2cd042b
+bc014c014a0003002b014ab27f052bb9015b0154b2042b0f41190154001f0154000201860188
+0002002b018701880004002b018901880004002b0188018f0003002b018e018f0004002b018f
+b385052b3f410c01a0000101ce01cc0003002b01d201cc0006002b01d101ccb2062b40b80107
+b2323239b80107b2af032bb8ffc0b3de1e2039b8ffc04011dc181a39c9ca032bcac8042b40c8
+212239b8ffc0b3c8151739b8ffc0b3c6242539b8ffc0b3c6161a39b8ffc04023bf2d31395051
+032b40511b1b39e5cc042be4e3032b40e32a2a39cdcc052b40cc424439b8ffc0b3cc272739b8
+ffc0b7cc171a39c2ea012bb80109b2da032bb8ffc04033ea252539dfea0140c41b1d39b3b105
+2bb1c0052b40c03d3d39c0af042bd3af052baf7d052b20da121639c5bd01208e01108e01b8ff
+c0b38b363839b8ffc0b38b272b39b8ffc040328b171a398c8d052b8d8a042b898a052b8a7f05
+2bf4ef032bf2ef052bf180022bf0a0042bef85052b40ec32343940ec1b1d39b8ffc0b3a05152
+39b8ffc0b3a0454739b8ffc0b3a0383c39b8ffc0400ba02c3139dfa001a080022bb8ffc0b394
+313139b8ffc040d480181a39817f012b7e7d052b7d7f052bed7f052bd87f017f85251f888501
+2b8785012b8485052b8385052b298539854985036685014685013685012685011b3715183615
+1535151234150f33150c3215093115063015032f15002e15f9fa0f20f930f90226270e28270f
+2a2b0e2c2b0f22230e24230f1e1f0e201f0f00051005023c3d0e0b3c743c993c030f10110c09
+0a0b0c0607080c0304050c0001020c0603641f702a010f2a010b0f4b0f020b003b0044037403
+ab00db0f060b000b030b0f3b003b0959035b0976039b009b09990fd9000cb9010b010c402a0f
+1b011d0d18071a0d1510170d1204140d2ff96ff99ff9a0f9cff9d0f9063ff940f9aff9b0f9e0
+f90500b8010bb22ff92fba010b003f010b403004fb3cf93cf73cf53c2c3c2a3c283c263c243c
+223c203c1e3c1b3c183c153c123c0f3c093c063c033c003c035050335401b0124b004b5442b0
+13014b004b5342b0332b4bb8032052b0322b4bb009505b58b101018e59b0332bb00288b80100
+54b00488b8020054b012435a5b58b80119b101018e851bb900010100b04b60858d592b2b1d42
+b0644b5358b20380801d4259b0324b5358b20390901d4259004bb03251b01b23422b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b7374752b2b2b2b2b73747573742b2b2b2b2b2b732b73
+2b2b2b2b2b2bb1282645b02a4561b02c4560442b2b732b2b2b2b2b2b2b2b2b2b2b0173737373
+742b2b2b2b2b742b2b2b2b2b2b2b742b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b7475732b2b
+2b2b2b2b2b2b732b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b732b2b2b2b
+2b2b732b2b2b012b2b2b2b2b00742b742b2b742b732b2b74742b2b2b2b2b2b2b2b2b2b2b732b
+742b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b002b2b2b2b2b2b2b2b2b2b2b2b2b002b
+2b2b2b2b2b2b2b2b732b2b2b0173742b2b2b2b2b2b2b2b2b2b2b2b2b007374752b2b2b2b2b2b
+2b2b2b2b2b73742b2b2b2b2b002b2b2b2b2b2b2b2b2b732b2b2b0173742b2b2b2b2b2b2b2b2b
+2b2b2b2b0073742b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b73742b2b2b0173742b2bb018b03f4b
+53422b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2bb101322b4bb0505242b002435c4bb064524bb01e
+505b60b01a23424bb0c8524bb036505bb00e2342007374737373737373737473737473757373
+74757373747373737373b100024354b102024354b1060243545b5b58416301fe006401fa0064
+01f9006401f8006401f7006401f6006401f0006401ef006401ee006401ed006401ec006401eb
+006401e6006401e5006401e4006401e3006401e2006401e1006401e0006401d3006401d20064
+01d1006401cf006401ce006401cd006401cc006401a00064018f0064018e0064018a00640188
+00640187006401860064015b0064015a006401590064015800640154006401500064014c0064
+014b0064014a00640136006401300064012f0064012d0064012c006401090064010700640105
+406964f464f264f164f064ef64ed64ec64ea64e564e464e364e164de64da64d864d364cd64cc
+64ca64c964c864c664c464c264c064bf64bd64b364b164af64a564a464a0648e648d648c648b
+648a64896485648464836480647f647e647d64626451645064486442640e642b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b592b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
+2b2b2b2b2b2b2b2b00>
+] def
+/f-1-0 currentdict end definefont pop
+%%EndResource
+%%EndSetup
+%%Page: 1 1
+%%BeginPageSetup
+%%PageBoundingBox: 0 0 396 135
+%%EndPageSetup
+q 0 0 396 135 rectclip
+1 0 0 -1 0 135 cm q
+0.501961 0 0.501961 rg
+1.700787 w
+0 J
+1 j
+[] 0.0 d
+4 M q 1 0 0 1 0 0 cm
+294.461 70.109 m 293.527 67.93 299.516 65.832 310.039 64.66 c 320.563 63.488
+ 333.91 63.426 344.762 64.504 c 355.613 65.578 362.211 67.617 361.918 69.805
+ c S Q
+Q q
+263.461 4.418 129.848 129.848 re W n
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.156863 0.843137 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+282.176 123.504 m 285.641 120.918 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.192157 0.807843 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+285.641 120.918 m 288.996 118.191 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.231373 0.768627 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+288.996 118.191 m 292.227 115.32 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.270588 0.729412 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+292.227 115.32 m 295.324 112.305 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.309804 0.690196 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+295.324 112.305 m 298.281 109.152 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.352941 0.647059 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+298.281 109.152 m 301.078 105.859 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.4 0.6 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+301.078 105.859 m 303.703 102.426 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.443137 0.556863 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+303.703 102.426 m 306.137 98.855 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.490196 0.509804 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+306.137 98.855 m 308.352 95.148 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.541176 0.458824 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+308.352 95.148 m 310.332 91.309 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.588235 0.411765 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+310.332 91.309 m 312.035 87.34 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.631373 0.368627 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+312.035 87.34 m 313.434 83.258 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.67451 0.32549 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+313.434 83.258 m 314.5 79.07 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.705882 0.294118 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+314.5 79.07 m 315.207 74.813 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.733333 0.266667 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+315.207 74.813 m 315.527 70.508 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.745098 0.254902 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+315.527 70.508 m 315.438 66.188 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.741176 0.258824 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+315.438 66.188 m 314.938 61.898 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.721569 0.278431 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+314.938 61.898 m 314.051 57.668 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.694118 0.305882 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+314.051 57.668 m 312.813 53.531 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.654902 0.345098 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+312.813 53.531 m 311.254 49.5 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.611765 0.388235 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+311.254 49.5 m 309.41 45.598 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.564706 0.435294 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+309.41 45.598 m 307.313 41.82 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.517647 0.482353 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+307.313 41.82 m 304.988 38.18 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.470588 0.529412 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+304.988 38.18 m 302.461 34.68 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.423529 0.576471 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+302.461 34.68 m 299.75 31.313 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.376471 0.623529 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+299.75 31.313 m 296.871 28.09 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.333333 0.666667 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+296.871 28.09 m 293.84 25.008 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.290196 0.709804 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+293.84 25.008 m 290.672 22.07 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.25098 0.74902 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+290.672 22.07 m 287.375 19.27 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.211765 0.788235 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+287.375 19.27 m 283.965 16.617 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.176471 0.823529 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+283.965 16.617 m 280.445 14.102 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.164706 0.835294 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+286.91 126.027 m 290.055 123.059 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.2 0.8 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+290.055 123.059 m 293.09 119.98 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.239216 0.760784 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+293.09 119.98 m 296.004 116.785 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.278431 0.721569 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+296.004 116.785 m 298.793 113.484 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.317647 0.682353 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+298.793 113.484 m 301.449 110.074 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.360784 0.639216 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+301.449 110.074 m 303.953 106.551 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.403922 0.596078 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+303.953 106.551 m 306.297 102.918 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.137255 0.862745 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+288.844 131.145 m 291.746 127.938 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.172549 0.827451 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+291.746 127.938 m 294.551 124.648 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.207843 0.792157 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+294.551 124.648 m 297.25 121.27 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.247059 0.752941 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+297.25 121.27 m 299.84 117.809 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.286275 0.713726 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+299.84 117.809 m 302.316 114.262 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.32549 0.67451 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+302.316 114.262 m 304.66 110.633 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.368627 0.631373 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+304.66 110.633 m 306.867 106.918 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.141176 0.858824 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+294.805 134.266 m 297.27 130.711 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.176471 0.823529 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+297.27 130.711 m 299.652 127.102 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.211765 0.788235 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+299.652 127.102 m 301.945 123.434 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.247059 0.752941 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+301.945 123.434 m 304.141 119.707 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.286275 0.713726 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+304.141 119.707 m 306.23 115.926 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.32549 0.67451 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+306.23 115.926 m 308.211 112.082 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.168627 0.831373 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+303.758 134.266 m 305.625 130.363 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.203922 0.796078 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+305.625 130.363 m 307.418 126.426 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.239216 0.760784 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+307.418 126.426 m 309.137 122.457 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.27451 0.72549 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+309.137 122.457 m 310.773 118.457 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.313726 0.686275 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+310.773 118.457 m 312.332 114.422 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.356863 0.643137 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+312.332 114.422 m 313.797 110.352 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.396078 0.603922 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+313.797 110.352 m 315.16 106.25 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.439216 0.560784 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+315.16 106.25 m 316.422 102.117 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.482353 0.517647 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+316.422 102.117 m 317.57 97.949 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.52549 0.47451 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+317.57 97.949 m 318.598 93.746 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.568627 0.431373 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+318.598 93.746 m 319.492 89.52 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.611765 0.388235 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+319.492 89.52 m 320.242 85.262 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.65098 0.34902 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+320.242 85.262 m 320.828 80.977 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.682353 0.317647 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+320.828 80.977 m 321.238 76.672 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.705882 0.294118 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+321.238 76.672 m 321.465 72.352 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.721569 0.278431 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+321.465 72.352 m 321.5 68.023 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.721569 0.278431 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+321.5 68.023 m 321.348 63.703 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.713726 0.286275 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+321.348 63.703 m 321.016 59.391 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.694118 0.305882 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+321.016 59.391 m 320.5 55.094 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.662745 0.337255 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+320.5 55.094 m 319.824 50.824 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.627451 0.372549 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+319.824 50.824 m 318.996 46.582 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.588235 0.411765 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+318.996 46.582 m 318.027 42.371 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.545098 0.454902 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+318.027 42.371 m 316.93 38.188 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.501961 0.498039 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+316.93 38.188 m 315.715 34.035 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.454902 0.545098 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+315.715 34.035 m 314.395 29.922 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.411765 0.588235 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+314.395 29.922 m 312.973 25.836 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.372549 0.627451 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+312.973 25.836 m 311.457 21.785 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.329412 0.670588 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+311.457 21.785 m 309.859 17.77 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.290196 0.709804 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+309.859 17.77 m 308.18 13.785 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.254902 0.745098 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+308.18 13.785 m 306.422 9.832 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.215686 0.784314 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+306.422 9.832 m 304.59 5.914 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.180392 0.819608 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+304.59 5.914 m 303.875 4.418 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.188235 0.811765 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+312.715 134.266 m 313.926 130.113 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.223529 0.776471 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+313.926 130.113 m 315.086 125.945 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.258824 0.741176 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+315.086 125.945 m 316.191 121.766 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.298039 0.701961 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+316.191 121.766 m 317.246 117.57 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.337255 0.662745 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+317.246 117.57 m 318.242 113.359 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.2 0.8 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+321.668 134.266 m 322.195 129.969 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.235294 0.764706 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+322.195 129.969 m 322.695 125.672 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.270588 0.729412 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+322.695 125.672 m 323.172 121.375 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.305882 0.694118 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+323.172 121.375 m 323.625 117.074 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.345098 0.654902 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+323.625 117.074 m 324.055 112.773 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.388235 0.611765 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+324.055 112.773 m 324.453 108.469 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.427451 0.572549 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+324.453 108.469 m 324.824 104.16 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.470588 0.529412 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+324.824 104.16 m 325.16 99.852 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.513726 0.486275 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+325.16 99.852 m 325.461 95.539 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.556863 0.443137 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+325.461 95.539 m 325.727 91.219 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.596078 0.403922 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+325.727 91.219 m 325.949 86.898 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.635294 0.364706 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+325.949 86.898 m 326.129 82.574 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.666667 0.333333 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+326.129 82.574 m 326.258 78.246 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.694118 0.305882 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+326.258 78.246 m 326.34 73.922 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.709804 0.290196 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+326.34 73.922 m 326.367 69.594 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.717647 0.282353 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+326.367 69.594 m 326.344 65.266 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.709804 0.290196 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+326.344 65.266 m 326.27 60.938 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.694118 0.305882 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+326.27 60.938 m 326.145 56.613 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.670588 0.329412 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+326.145 56.613 m 325.973 52.285 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.639216 0.360784 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+325.973 52.285 m 325.754 47.965 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.6 0.4 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+325.754 47.965 m 325.496 43.648 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.560784 0.439216 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+325.496 43.648 m 325.195 39.332 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.517647 0.482353 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+325.195 39.332 m 324.863 35.023 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.47451 0.52549 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+324.863 35.023 m 324.496 30.715 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.431373 0.568627 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+324.496 30.715 m 324.102 26.41 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.392157 0.607843 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+324.102 26.41 m 323.676 22.105 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.352941 0.647059 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+323.676 22.105 m 323.227 17.809 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.313726 0.686275 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+323.227 17.809 m 322.75 13.508 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.27451 0.72549 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+322.75 13.508 m 322.25 9.211 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.239216 0.760784 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+322.25 9.211 m 321.73 4.918 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.203922 0.796078 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+321.73 4.918 m 321.668 4.418 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.2 0.8 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+326.145 134.266 m 326.32 129.941 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.235294 0.764706 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+326.32 129.941 m 326.488 125.617 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.270588 0.729412 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+326.488 125.617 m 326.648 121.293 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.309804 0.690196 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+326.648 121.293 m 326.801 116.969 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.2 0.8 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+330.625 134.266 m 330.449 129.941 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.235294 0.764706 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+330.449 129.941 m 330.281 125.617 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.270588 0.729412 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+330.281 125.617 m 330.121 121.293 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.309804 0.690196 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+330.121 121.293 m 329.969 116.969 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.34902 0.65098 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+329.969 116.969 m 329.828 112.648 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.388235 0.611765 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+329.828 112.648 m 329.695 108.324 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.431373 0.568627 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+329.691 108.324 m 329.57 104 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.47451 0.52549 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+329.57 104 m 329.457 99.68 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.513726 0.486275 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+329.457 99.68 m 329.359 95.355 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.556863 0.443137 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+329.359 95.355 m 329.27 91.035 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.6 0.4 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+329.27 91.035 m 329.195 86.711 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.635294 0.364706 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+329.195 86.711 m 329.137 82.383 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.666667 0.333333 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+329.137 82.383 m 329.094 78.059 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.694118 0.305882 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+329.094 78.059 m 329.07 73.73 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.709804 0.290196 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+329.07 73.73 m 329.059 69.402 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.717647 0.282353 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+329.059 69.402 m 329.066 65.074 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.709804 0.290196 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+329.066 65.074 m 329.094 60.746 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.694118 0.305882 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+329.094 60.746 m 329.137 56.422 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.670588 0.329412 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+329.137 56.422 m 329.195 52.098 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.635294 0.364706 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+329.195 52.098 m 329.266 47.773 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.6 0.4 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+329.266 47.773 m 329.355 43.449 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.556863 0.443137 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+329.355 43.449 m 329.453 39.129 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.517647 0.482353 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+329.453 39.129 m 329.566 34.805 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.47451 0.52549 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+329.566 34.805 m 329.691 30.48 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.431373 0.568627 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+329.688 30.48 m 329.824 26.16 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.392157 0.607843 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+329.824 26.16 m 329.965 21.836 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.34902 0.65098 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+329.965 21.836 m 330.117 17.512 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.309804 0.690196 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+330.117 17.512 m 330.277 13.191 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.27451 0.72549 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+330.277 13.191 m 330.445 8.867 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.235294 0.764706 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+330.445 8.867 m 330.617 4.543 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.203922 0.796078 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+330.617 4.543 m 330.625 4.418 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.2 0.8 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+335.102 134.266 m 334.578 129.969 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.235294 0.764706 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+334.578 129.969 m 334.074 125.672 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.270588 0.729412 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+334.074 125.672 m 333.598 121.375 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.305882 0.694118 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+333.598 121.375 m 333.145 117.074 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.188235 0.811765 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+344.055 134.266 m 342.848 130.113 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.223529 0.776471 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+342.848 130.113 m 341.688 125.945 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.258824 0.741176 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+341.688 125.945 m 340.578 121.766 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.298039 0.701961 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+340.578 121.766 m 339.523 117.57 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.337255 0.662745 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+339.523 117.57 m 338.527 113.359 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.376471 0.623529 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+338.527 113.359 m 337.594 109.141 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.415686 0.584314 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+337.594 109.141 m 336.73 104.902 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.458824 0.541176 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+336.73 104.902 m 335.938 100.652 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.501961 0.498039 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+335.938 100.652 m 335.223 96.387 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.545098 0.454902 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+335.223 96.387 m 334.59 92.105 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.588235 0.411765 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+334.59 92.105 m 334.055 87.816 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.627451 0.372549 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+334.055 87.816 m 333.617 83.512 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.662745 0.337255 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+333.617 83.512 m 333.285 79.199 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.690196 0.309804 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+333.285 79.199 m 333.066 74.879 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.709804 0.290196 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+333.066 74.879 m 332.973 70.555 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.717647 0.282353 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+332.973 70.555 m 332.996 66.227 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.717647 0.282353 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+332.996 66.227 m 333.148 61.902 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.701961 0.298039 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+333.148 61.902 m 333.418 57.586 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.678431 0.321569 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+333.418 57.586 m 333.801 53.277 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.647059 0.352941 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+333.801 53.277 m 334.285 48.98 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.611765 0.388235 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+334.285 48.98 m 334.871 44.695 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.568627 0.431373 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+334.871 44.695 m 335.543 40.422 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.52549 0.47451 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+335.543 40.422 m 336.297 36.16 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.482353 0.517647 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+336.297 36.16 m 337.125 31.918 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.439216 0.560784 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+337.125 31.918 m 338.023 27.691 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.4 0.6 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+338.023 27.691 m 338.988 23.477 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.356863 0.643137 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+338.988 23.477 m 340.012 19.273 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.317647 0.682353 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+340.012 19.273 m 341.098 15.086 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.278431 0.721569 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+341.098 15.086 m 342.23 10.914 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.243137 0.756863 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+342.23 10.914 m 343.418 6.754 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.207843 0.792157 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+343.418 6.754 m 344.102 4.418 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.180392 0.819608 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+348.535 134.266 m 346.992 130.223 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.215686 0.784314 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+346.992 130.223 m 345.512 126.16 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.25098 0.74902 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+345.512 126.16 m 344.094 122.074 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.286275 0.713726 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+344.094 122.074 m 342.742 117.965 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.156863 0.843137 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+357.488 134.266 m 355.316 130.523 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.188235 0.811765 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+355.316 130.523 m 353.219 126.742 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.227451 0.772549 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+353.219 126.742 m 351.207 122.914 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.262745 0.737255 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+351.207 122.914 m 349.285 119.039 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.301961 0.698039 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+349.285 119.039 m 347.457 115.121 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.341176 0.658824 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+347.457 115.121 m 345.734 111.156 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.380392 0.619608 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+345.734 111.156 m 344.117 107.145 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.423529 0.576471 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+344.117 107.145 m 342.617 103.09 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.470588 0.529412 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+342.617 103.09 m 341.246 98.992 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.513726 0.486275 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+341.246 98.992 m 340.012 94.848 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.556863 0.443137 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+340.012 94.848 m 338.93 90.66 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.6 0.4 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+338.93 90.66 m 338.016 86.438 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.156863 0.843137 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+363.703 130.918 m 361.051 127.504 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.192157 0.807843 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+361.051 127.504 m 358.496 124.016 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.227451 0.772549 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+358.496 124.016 m 356.043 120.453 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.266667 0.733333 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+356.043 120.453 m 353.695 116.824 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.305882 0.694118 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+353.695 116.824 m 351.465 113.121 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.345098 0.654902 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+351.465 113.121 m 349.355 109.348 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.388235 0.611765 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+349.355 109.348 m 347.379 105.504 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.152941 0.847059 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+369.043 128.402 m 366.008 125.32 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.188235 0.811765 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+366.008 125.32 m 363.078 122.141 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.223529 0.776471 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+363.078 122.141 m 360.258 118.863 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.262745 0.737255 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+360.258 118.863 m 357.555 115.488 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.141176 0.858824 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+373.781 126.754 m 370.445 124.004 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.176471 0.823529 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+370.445 124.004 m 367.215 121.133 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.211765 0.788235 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+367.215 121.133 m 364.102 118.133 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.25098 0.74902 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+364.102 118.133 m 361.109 115.016 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.290196 0.709804 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+361.109 115.016 m 358.246 111.773 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.329412 0.670588 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+358.246 111.773 m 355.535 108.41 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.372549 0.627451 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+355.535 108.41 m 352.977 104.926 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.419608 0.580392 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+352.977 104.926 m 350.59 101.324 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.466667 0.533333 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+350.59 101.324 m 348.398 97.602 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.513726 0.486275 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+348.398 97.602 m 346.414 93.762 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.560784 0.439216 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+346.414 93.762 m 344.668 89.809 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.603922 0.396078 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+344.668 89.809 m 343.188 85.75 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.65098 0.34902 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+343.188 85.75 m 342 81.598 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.686275 0.313726 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+342 81.598 m 341.141 77.367 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.717647 0.282353 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+341.141 77.367 m 340.637 73.078 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.733333 0.266667 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+340.637 73.078 m 340.5 68.758 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.741176 0.258824 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+340.5 68.758 m 340.734 64.445 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.729412 0.270588 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+340.734 64.445 m 341.332 60.168 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.592157 0.407843 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+345.074 47.785 m 346.875 43.863 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.545098 0.454902 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+346.875 43.863 m 348.914 40.051 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.498039 0.501961 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+348.914 40.051 m 351.152 36.355 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.45098 0.54902 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+351.152 36.355 m 353.578 32.781 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.407843 0.592157 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+353.578 32.781 m 356.176 29.324 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.364706 0.635294 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+356.176 29.324 m 358.922 25.988 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.321569 0.678431 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+358.922 25.988 m 361.813 22.773 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.278431 0.721569 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+361.813 22.773 m 364.832 19.68 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.239216 0.760784 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+364.832 19.68 m 367.973 16.711 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.203922 0.796078 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+367.973 16.711 m 371.223 13.859 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.145098 0.854902 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+377.793 122.191 m 374.145 119.875 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.184314 0.815686 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+374.145 119.875 m 370.602 117.398 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.219608 0.780392 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+370.602 117.398 m 367.176 114.762 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.258824 0.741176 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+367.176 114.762 m 363.887 111.957 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.301961 0.698039 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+363.887 111.957 m 360.746 108.992 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.160784 0.839216 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+381.012 116.746 m 377.09 114.934 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.196078 0.803922 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+377.09 114.934 m 373.273 112.91 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.235294 0.764706 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+373.273 112.91 m 369.582 110.672 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.27451 0.72549 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+369.582 110.672 m 366.02 108.223 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.129412 0.870588 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+389.012 111.379 m 384.766 110.586 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.164706 0.835294 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+384.766 110.586 m 380.582 109.5 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.203922 0.796078 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+380.582 109.5 m 376.492 108.117 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.243137 0.756863 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+376.492 108.117 m 372.516 106.438 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.286275 0.713726 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+372.516 106.438 m 368.668 104.48 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.333333 0.666667 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+368.668 104.48 m 364.98 102.238 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.376471 0.623529 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+364.98 102.238 m 361.473 99.73 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.427451 0.572549 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+361.473 99.73 m 358.168 96.949 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.478431 0.521569 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+358.168 96.949 m 355.125 93.895 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.529412 0.470588 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+355.125 93.895 m 352.371 90.578 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.580392 0.419608 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+352.371 90.578 m 349.957 87.004 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.631373 0.368627 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+349.957 87.004 m 347.945 83.195 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.678431 0.321569 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+347.945 83.195 m 346.387 79.18 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.721569 0.278431 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+346.387 79.18 m 345.332 75.004 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.74902 0.25098 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+345.332 75.004 m 344.84 70.77 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.764706 0.235294 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+344.84 70.77 m 344.918 66.59 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.760784 0.239216 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+344.918 66.59 m 345.57 62.461 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.568627 0.431373 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+353.117 47.215 m 355.965 43.969 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.513726 0.486275 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+355.965 43.969 m 359.082 40.992 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.462745 0.537255 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+359.082 40.992 m 362.449 38.289 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.415686 0.584314 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+362.449 38.289 m 366.023 35.863 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.364706 0.635294 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+366.023 35.863 m 369.77 33.715 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.317647 0.682353 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+369.77 33.715 m 373.66 31.844 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.27451 0.72549 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+373.66 31.844 m 377.672 30.258 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.235294 0.764706 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+377.672 30.258 m 381.793 28.961 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.192157 0.807843 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+381.793 28.961 m 385.992 27.957 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.129412 0.870588 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+393.309 102.922 m 389 103.254 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.164706 0.835294 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+389 103.254 m 384.68 103.18 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.203922 0.796078 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+384.68 103.18 m 380.387 102.703 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.247059 0.752941 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+380.387 102.703 m 376.156 101.84 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.290196 0.709804 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+376.156 101.84 m 372.023 100.602 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.337255 0.662745 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+372.023 100.602 m 368.027 98.98 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.384314 0.615686 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+368.027 98.98 m 364.211 96.98 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.435294 0.564706 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+364.211 96.98 m 360.609 94.625 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.486275 0.513726 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+360.609 94.625 m 357.258 91.91 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.145098 0.854902 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+393.309 98.445 m 389.07 99.273 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.184314 0.815686 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+389.07 99.273 m 384.773 99.641 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.223529 0.776471 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+384.773 99.641 m 380.457 99.551 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.262745 0.737255 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+380.457 99.551 m 376.18 99.008 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.172549 0.827451 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+393.309 89.492 m 389.484 91.469 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.207843 0.792157 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+389.484 91.469 m 385.777 92.766 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.243137 0.756863 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+385.777 92.766 m 381.934 93.555 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.282353 0.717647 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+381.934 93.555 m 377.977 93.852 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.32549 0.67451 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+377.977 93.852 m 373.906 93.645 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.372549 0.627451 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+373.906 93.645 m 369.832 92.934 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.423529 0.576471 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+369.832 92.934 m 365.813 91.703 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.478431 0.521569 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+365.813 91.703 m 362.031 89.98 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.533333 0.466667 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+362.031 89.98 m 358.656 87.828 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.588235 0.411765 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+358.656 87.828 m 355.723 85.34 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.639216 0.360784 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+355.723 85.34 m 353.184 82.434 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.694118 0.305882 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+353.184 82.434 m 351.258 79.43 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.733333 0.266667 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+351.258 79.43 m 349.75 76.078 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.768627 0.231373 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+349.75 76.078 m 348.859 72.59 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.788235 0.211765 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+348.859 72.59 m 348.605 69.441 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.792157 0.207843 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+348.605 69.441 m 348.855 66.012 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.788235 0.211765 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+348.855 66.012 m 349.723 62.605 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.768627 0.231373 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+349.723 62.605 m 351.055 59.566 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.533333 0.466667 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+361.98 48.648 m 365.777 46.898 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.478431 0.521569 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+365.777 46.898 m 369.887 45.629 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.419608 0.580392 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+369.887 45.629 m 374.129 44.895 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.368627 0.631373 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+374.129 44.895 m 378.434 44.707 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.317647 0.682353 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+378.434 44.707 m 382.727 45.09 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.27451 0.72549 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+382.727 45.09 m 386.918 46.063 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.231373 0.768627 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+386.918 46.063 m 390.891 47.613 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.188235 0.811765 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+393.309 80.535 m 391.148 83.109 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.207843 0.792157 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+391.148 83.109 m 388.613 85.328 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.235294 0.764706 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+388.613 85.328 m 385.652 87.211 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.266667 0.733333 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+385.652 87.211 m 382.418 88.637 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.301961 0.698039 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+382.418 88.637 m 379.012 89.586 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.337255 0.662745 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+379.012 89.586 m 375.355 90.086 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.380392 0.619608 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+375.355 90.086 m 371.438 90.066 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.215686 0.784314 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+391.438 61.18 m 392.637 64.059 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.2 0.8 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+392.637 64.059 m 393.309 67.102 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.513726 0.486275 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+360.375 46.223 m 364.031 43.953 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.458824 0.541176 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+364.031 43.953 m 367.914 42.102 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.407843 0.592157 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+367.914 42.102 m 371.984 40.676 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.356863 0.643137 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+371.984 40.676 m 376.18 39.676 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.309804 0.690196 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+376.18 39.676 m 380.457 39.133 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.262745 0.737255 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+380.457 39.133 m 384.773 39.043 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.223529 0.776471 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+384.773 39.043 m 389.07 39.41 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.184314 0.815686 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+389.07 39.41 m 393.309 40.238 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.290196 0.709804 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+376.156 36.844 m 380.387 35.98 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.247059 0.752941 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+380.387 35.98 m 384.68 35.504 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.203922 0.796078 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+384.68 35.504 m 389 35.43 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.164706 0.835294 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+389 35.43 m 393.309 35.762 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.411765 0.588235 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+359.383 35.984 m 362.609 33.113 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.364706 0.635294 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+362.609 33.113 m 366.02 30.461 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.317647 0.682353 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+366.02 30.461 m 369.582 28.012 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.27451 0.72549 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+369.582 28.012 m 373.273 25.773 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.235294 0.764706 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+373.273 25.773 m 377.09 23.75 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.196078 0.803922 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+377.09 23.75 m 381.012 21.941 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.301961 0.698039 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+363.887 26.727 m 367.176 23.922 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.258824 0.741176 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+367.176 23.922 m 370.602 21.285 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.219608 0.780392 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+370.602 21.285 m 374.145 18.809 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.184314 0.815686 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+374.145 18.809 m 377.793 16.492 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.345098 0.654902 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+354.98 26.668 m 357.555 23.195 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.301961 0.698039 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+357.555 23.195 m 360.258 19.82 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.262745 0.737255 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+360.258 19.82 m 363.078 16.543 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.223529 0.776471 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+363.078 16.543 m 366.008 13.363 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.188235 0.811765 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+366.008 13.363 m 369.043 10.281 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.247059 0.752941 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+359.52 17.414 m 362.219 14.035 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.207843 0.792157 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+362.219 14.035 m 365.027 10.746 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.627451 0.372549 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+339.523 50.855 m 340.621 46.676 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.584314 0.415686 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+340.621 46.676 m 341.906 42.551 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.541176 0.458824 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+341.906 42.551 m 343.355 38.477 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.498039 0.501961 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+343.355 38.477 m 344.957 34.461 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.45098 0.54902 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+344.957 34.461 m 346.691 30.504 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.407843 0.592157 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+346.691 30.504 m 348.559 26.602 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.364706 0.635294 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+348.559 26.602 m 350.539 22.758 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.32549 0.67451 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+350.539 22.758 m 352.633 18.977 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.286275 0.713726 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+352.633 18.977 m 354.824 15.25 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.247059 0.752941 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+354.824 15.25 m 357.117 11.582 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.211765 0.788235 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+357.117 11.582 m 359.5 7.973 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.176471 0.823529 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+359.5 7.973 m 361.309 5.402 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.52549 0.47451 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+339.199 40.734 m 340.348 36.566 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.482353 0.517647 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+340.348 36.566 m 341.609 32.434 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.439216 0.560784 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+341.609 32.434 m 342.977 28.332 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.396078 0.603922 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+342.977 28.332 m 344.441 24.262 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.356863 0.643137 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+344.441 24.262 m 345.996 20.227 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.313726 0.686275 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+345.996 20.227 m 347.633 16.227 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.27451 0.72549 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+347.633 16.227 m 349.352 12.258 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.239216 0.760784 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+349.352 12.258 m 351.145 8.32 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.203922 0.796078 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+351.145 8.32 m 353.012 4.418 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.345098 0.654902 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+333.145 21.609 m 333.598 17.309 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.305882 0.694118 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+333.598 17.309 m 334.074 13.012 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.270588 0.729412 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+334.074 13.012 m 334.578 8.715 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.235294 0.764706 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+334.578 8.715 m 335.102 4.418 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.34902 0.65098 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+326.801 21.715 m 326.648 17.391 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.309804 0.690196 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+326.648 17.391 m 326.488 13.066 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.270588 0.729412 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+326.488 13.066 m 326.32 8.742 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.235294 0.764706 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+326.32 8.742 m 326.148 4.418 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.588235 0.411765 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+322.18 46.578 m 321.551 42.297 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.545098 0.454902 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+321.551 42.297 m 320.836 38.031 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.501961 0.498039 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+320.836 38.031 m 320.043 33.781 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.458824 0.541176 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+320.043 33.781 m 319.176 29.543 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.415686 0.584314 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+319.176 29.543 m 318.242 25.324 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.376471 0.623529 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+318.242 25.324 m 317.246 21.113 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.337255 0.662745 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+317.246 21.113 m 316.191 16.918 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.298039 0.701961 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+316.191 16.918 m 315.086 12.738 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.258824 0.741176 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+315.086 12.738 m 313.926 8.57 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.223529 0.776471 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+313.926 8.57 m 312.715 4.418 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.541176 0.458824 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+314.863 42.551 m 313.414 38.477 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.498039 0.501961 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+313.414 38.477 m 311.816 34.461 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.45098 0.54902 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+311.816 34.461 m 310.078 30.504 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.407843 0.592157 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+310.078 30.504 m 308.211 26.602 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.364706 0.635294 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+308.211 26.602 m 306.23 22.758 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.32549 0.67451 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+306.23 22.758 m 304.141 18.977 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.286275 0.713726 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+304.141 18.977 m 301.945 15.25 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.247059 0.752941 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+301.945 15.25 m 299.652 11.582 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.211765 0.788235 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+299.652 11.582 m 297.27 7.973 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.176471 0.823529 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+297.27 7.973 m 294.805 4.418 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.368627 0.631373 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+304.66 28.051 m 302.316 24.422 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.32549 0.67451 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+302.316 24.422 m 299.84 20.875 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.286275 0.713726 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+299.84 20.875 m 297.25 17.414 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.247059 0.752941 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+297.25 17.414 m 294.551 14.035 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.207843 0.792157 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+294.551 14.035 m 291.746 10.746 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.172549 0.827451 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+291.746 10.746 m 288.844 7.539 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.262745 0.737255 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+296.512 19.82 m 293.691 16.543 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.223529 0.776471 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+293.691 16.543 m 290.762 13.363 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.188235 0.811765 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+290.762 13.363 m 287.727 10.281 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.423529 0.576471 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+299.73 35.996 m 296.719 32.898 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.376471 0.623529 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+296.719 32.898 m 293.531 29.984 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.333333 0.666667 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+293.531 29.984 m 290.18 27.258 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.290196 0.709804 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+290.18 27.258 m 286.684 24.715 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.247059 0.752941 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+286.684 24.715 m 283.066 22.348 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.207843 0.792157 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+283.066 22.348 m 279.336 20.168 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.172549 0.827451 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+279.336 20.168 m 275.5 18.18 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.690196 0.309804 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+310.277 56.484 m 308.512 52.547 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.647059 0.352941 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+308.512 52.547 m 306.352 48.813 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.596078 0.403922 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+306.352 48.813 m 303.852 45.293 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.545098 0.454902 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+303.852 45.293 m 301.063 42.004 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.494118 0.505882 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+301.063 42.004 m 298.023 38.941 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.443137 0.556863 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+298.023 38.941 m 294.754 36.117 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.396078 0.603922 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+294.754 36.117 m 291.289 33.535 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.34902 0.65098 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+291.289 33.535 m 287.664 31.188 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.305882 0.694118 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+287.664 31.188 m 283.898 29.082 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.262745 0.737255 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+283.898 29.082 m 280 27.223 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.219608 0.780392 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+280 27.223 m 275.992 25.609 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.180392 0.819608 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+275.992 25.609 m 271.887 24.258 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.243137 0.756863 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+280.277 30.566 m 276.188 29.184 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.203922 0.796078 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+276.188 29.184 m 272.004 28.098 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.164706 0.835294 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+272.004 28.098 m 267.758 27.305 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.65098 0.34902 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+305.191 53.23 m 302.547 49.836 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.596078 0.403922 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+302.547 49.836 m 299.512 46.773 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.541176 0.458824 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+299.512 46.773 m 296.164 44.059 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.486275 0.513726 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+296.164 44.059 m 292.559 41.703 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.435294 0.564706 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+292.559 41.703 m 288.742 39.703 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.384314 0.615686 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+288.742 39.703 m 284.746 38.082 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.337255 0.662745 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+284.746 38.082 m 280.617 36.844 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.290196 0.709804 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+280.617 36.844 m 276.387 35.98 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.247059 0.752941 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+276.387 35.98 m 272.09 35.504 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.203922 0.796078 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+272.09 35.504 m 267.77 35.43 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.164706 0.835294 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+267.77 35.43 m 263.461 35.762 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.309804 0.690196 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+280.59 39.676 m 276.313 39.133 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.262745 0.737255 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+276.313 39.133 m 272 39.043 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.223529 0.776471 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+272 39.043 m 267.699 39.41 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.184314 0.815686 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+267.699 39.41 m 263.461 40.238 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.168627 0.831373 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+263.461 89.91 m 265.879 91.07 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.192157 0.807843 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+265.879 91.07 m 269.852 92.621 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.231373 0.768627 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+269.852 92.621 m 274.043 93.594 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.27451 0.72549 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+274.043 93.594 m 278.336 93.977 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.317647 0.682353 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+278.336 93.977 m 282.641 93.789 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.368627 0.631373 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+282.641 93.789 m 286.883 93.055 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.419608 0.580392 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+286.883 93.055 m 290.992 91.785 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.478431 0.521569 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+290.992 91.785 m 294.789 90.035 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.533333 0.466667 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+294.789 90.035 m 298.277 87.789 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.588235 0.411765 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+298.277 87.789 m 301.172 85.297 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.639216 0.360784 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+301.172 85.297 m 303.695 82.371 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.694118 0.305882 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+303.695 82.371 m 305.715 79.117 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.737255 0.262745 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+305.715 79.117 m 307.051 76.078 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.768627 0.231373 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+307.051 76.078 m 307.914 72.672 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.788235 0.211765 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+307.914 72.672 m 308.164 69.242 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.792157 0.207843 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+308.164 69.242 m 307.91 66.094 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.788235 0.211765 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+307.91 66.094 m 307.02 62.605 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.768627 0.231373 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+307.02 62.605 m 305.516 59.254 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.733333 0.266667 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+305.516 59.254 m 303.586 56.25 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.694118 0.305882 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+303.586 56.25 m 301.047 53.344 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.639216 0.360784 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+301.047 53.344 m 298.117 50.855 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.588235 0.411765 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+298.117 50.855 m 294.738 48.703 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.533333 0.466667 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+294.738 48.703 m 290.957 46.98 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.478431 0.521569 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+290.957 46.98 m 286.938 45.754 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.423529 0.576471 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+286.938 45.754 m 282.863 45.039 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.372549 0.627451 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+282.863 45.039 m 278.793 44.832 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.32549 0.67451 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+278.793 44.832 m 274.836 45.129 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.282353 0.717647 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+274.836 45.129 m 270.992 45.918 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.243137 0.756863 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+270.992 45.918 m 267.285 47.215 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.207843 0.792157 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+267.285 47.215 m 263.461 49.191 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.431373 0.568627 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+285.336 48.617 m 281.418 48.598 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.380392 0.619608 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+281.418 48.598 m 277.758 49.098 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.337255 0.662745 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+277.758 49.098 m 274.352 50.047 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.301961 0.698039 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+274.352 50.047 m 271.121 51.473 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.266667 0.733333 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+271.121 51.473 m 268.156 53.355 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.235294 0.764706 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+268.156 53.355 m 265.621 55.574 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.207843 0.792157 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+265.621 55.574 m 263.461 58.148 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.192157 0.807843 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+263.461 71.582 m 264.137 74.625 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.2 0.8 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+264.137 74.625 m 265.332 77.504 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.215686 0.784314 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+265.332 77.504 m 267.031 80.172 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.231373 0.768627 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+267.031 80.172 m 269.156 82.543 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.254902 0.745098 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+269.156 82.543 m 271.723 84.609 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.282353 0.717647 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+271.723 84.609 m 274.586 86.25 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.313726 0.686275 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+274.586 86.25 m 277.746 87.484 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.34902 0.65098 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+277.746 87.484 m 281.211 88.277 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.392157 0.607843 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+281.211 88.277 m 284.777 88.539 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.435294 0.564706 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+284.777 88.539 m 288.184 88.277 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.482353 0.517647 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+288.184 88.277 m 291.613 87.516 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.533333 0.466667 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+291.613 87.516 m 295 86.227 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.145098 0.854902 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+263.461 98.445 m 267.699 99.273 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.184314 0.815686 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+267.699 99.273 m 272 99.641 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.223529 0.776471 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+272 99.641 m 276.313 99.551 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.262745 0.737255 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+276.313 99.551 m 280.59 99.008 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.309804 0.690196 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+280.59 99.008 m 284.789 98.008 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.356863 0.643137 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+284.789 98.008 m 288.855 96.582 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.407843 0.592157 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+288.855 96.582 m 292.742 94.73 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.458824 0.541176 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+292.742 94.73 m 296.395 92.461 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.129412 0.870588 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+263.461 102.922 m 267.77 103.254 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.164706 0.835294 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+267.77 103.254 m 272.09 103.18 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.203922 0.796078 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+272.09 103.18 m 276.387 102.703 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.247059 0.752941 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+276.387 102.703 m 280.617 101.84 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.129412 0.870588 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+267.758 111.379 m 272.004 110.586 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.164706 0.835294 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+272.004 110.586 m 276.188 109.5 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.203922 0.796078 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+276.188 109.5 m 280.277 108.117 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.243137 0.756863 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+280.277 108.117 m 284.258 106.438 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.286275 0.713726 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+284.258 106.438 m 288.102 104.48 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.333333 0.666667 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+288.102 104.48 m 291.789 102.238 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.376471 0.623529 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+291.789 102.238 m 295.301 99.73 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.427451 0.572549 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+295.301 99.73 m 298.602 96.949 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.478431 0.521569 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+298.602 96.949 m 301.645 93.895 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.529412 0.470588 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+301.645 93.895 m 304.398 90.578 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.580392 0.419608 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+304.398 90.578 m 306.813 87.004 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.631373 0.368627 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+306.813 87.004 m 308.824 83.195 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.678431 0.321569 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+308.824 83.195 m 310.387 79.18 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.721569 0.278431 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+310.387 79.18 m 311.441 75.004 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.74902 0.25098 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+311.441 75.004 m 311.934 70.77 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.764706 0.235294 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+311.934 70.77 m 311.852 66.59 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.145098 0.854902 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+271.887 114.426 m 275.992 113.074 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.180392 0.819608 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+275.992 113.074 m 280 111.461 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.137255 0.862745 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+275.5 120.504 m 279.336 118.516 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.172549 0.827451 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+279.336 118.516 m 283.066 116.336 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.207843 0.792157 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+283.066 116.336 m 286.684 113.973 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.247059 0.752941 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+286.684 113.973 m 290.18 111.426 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.290196 0.709804 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+290.18 111.426 m 293.531 108.699 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.333333 0.666667 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+293.531 108.699 m 296.719 105.785 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.376471 0.623529 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+296.719 105.785 m 299.73 102.688 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.423529 0.576471 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+299.73 102.688 m 302.547 99.414 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.254902 0.745098 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+388.223 61.398 m 389.434 64.152 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.243137 0.756863 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+389.434 64.152 m 390.129 67.07 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.235294 0.764706 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+390.129 67.07 m 390.273 70.125 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.231373 0.768627 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+390.273 70.125 m 389.836 73.145 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.239216 0.760784 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+389.836 73.145 m 388.832 76.059 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.247059 0.752941 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+388.832 76.059 m 387.34 78.695 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.266667 0.733333 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+387.34 78.695 m 385.406 81.043 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.380392 0.619608 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+302.371 30.563 m 299.754 27.125 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.337255 0.662745 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+299.754 27.125 m 296.992 23.797 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.298039 0.701961 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+296.992 23.797 m 294.098 20.59 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.258824 0.741176 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+294.098 20.59 m 291.078 17.492 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.219608 0.780392 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+291.078 17.492 m 287.949 14.512 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.180392 0.819608 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+287.949 14.512 m 284.711 11.645 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.286275 0.713726 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+271.363 57.641 m 269.43 59.988 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.266667 0.733333 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+269.43 59.988 m 267.938 62.625 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.247059 0.752941 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+267.938 62.625 m 266.934 65.539 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.239216 0.760784 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+266.934 65.539 m 266.496 68.559 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.231373 0.768627 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+266.496 68.559 m 266.641 71.613 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.235294 0.764706 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+266.641 71.613 m 267.336 74.531 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.243137 0.756863 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+267.336 74.531 m 268.547 77.285 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.254902 0.745098 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+268.547 77.285 m 270.266 79.816 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.27451 0.72549 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+270.266 79.816 m 272.367 82.008 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.298039 0.701961 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+272.367 82.008 m 274.984 83.945 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.329412 0.670588 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+274.984 83.945 m 277.75 85.355 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.360784 0.639216 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+277.75 85.355 m 280.875 86.391 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.4 0.6 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+280.875 86.391 m 284.313 86.953 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.443137 0.556863 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+284.313 86.953 m 287.617 86.965 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.490196 0.509804 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+287.617 86.965 m 290.969 86.469 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.313726 0.686275 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+384.164 62.258 m 385.305 64.871 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.301961 0.698039 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+385.305 64.871 m 385.914 67.617 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.294118 0.705882 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+385.914 67.617 m 385.973 70.512 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.294118 0.705882 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+385.973 70.512 m 385.445 73.348 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.298039 0.701961 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+385.445 73.348 m 384.355 76.059 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.313726 0.686275 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+272.418 62.625 m 271.324 65.336 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.298039 0.701961 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+271.324 65.336 m 270.797 68.172 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.294118 0.705882 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+270.797 68.172 m 270.855 71.066 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.294118 0.705882 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+270.855 71.066 m 271.465 73.813 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.301961 0.698039 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+271.465 73.813 m 272.605 76.426 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.176471 0.823529 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+307.723 134.266 m 308.223 133.008 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.188235 0.811765 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+308.223 133.008 m 309.785 128.973 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.223529 0.776471 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+309.785 128.973 m 311.281 124.914 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.258824 0.741176 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+311.281 124.914 m 312.715 120.832 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.352941 0.647059 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+379.875 85.012 m 376.727 86.199 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.388235 0.611765 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+376.727 86.199 m 373.496 86.859 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.431373 0.568627 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+373.496 86.859 m 370.133 87.027 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.47451 0.52549 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+370.133 87.027 m 366.645 86.684 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.52549 0.47451 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+366.645 86.684 m 363.277 85.773 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.576471 0.423529 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+363.277 85.773 m 360.355 84.441 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.623529 0.376471 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+360.355 84.441 m 357.535 82.578 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.776471 0.223529 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+355.438 77.574 m 353.973 75.48 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.807843 0.192157 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+353.973 75.48 m 352.91 72.832 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.835294 0.164706 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+352.91 72.832 m 352.473 70.293 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.843137 0.156863 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+352.473 70.293 m 352.609 67.359 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.847059 0.152941 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+352.609 67.359 m 353.184 65.086 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.827451 0.172549 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+353.184 65.086 m 354.195 62.918 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.803922 0.196078 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+354.195 62.918 m 355.938 60.668 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.4 0.6 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+378.727 61.039 m 380.23 63.215 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.380392 0.619608 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+380.23 63.215 m 381.277 65.672 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.368627 0.631373 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+381.277 65.672 m 381.781 68.234 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.360784 0.639216 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+381.781 68.234 m 381.723 70.957 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.360784 0.639216 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+381.723 70.957 m 381.082 73.586 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.368627 0.631373 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+381.082 73.586 m 379.875 76.059 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.384314 0.615686 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+379.875 76.059 m 378.242 78.172 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.407843 0.592157 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+378.242 78.172 m 376.211 79.93 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.435294 0.564706 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+376.211 79.93 m 373.84 81.305 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.470588 0.529412 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+373.84 81.305 m 371.238 82.254 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.505882 0.494118 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+371.238 82.254 m 368.172 82.766 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.552941 0.447059 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+368.172 82.766 m 365.422 82.699 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.596078 0.403922 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+365.422 82.699 m 362.512 82.109 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.647059 0.352941 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+362.512 82.109 m 359.824 80.996 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.298039 0.701961 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+344.055 17.852 m 345.488 13.77 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.258824 0.741176 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+345.488 13.77 m 346.984 9.711 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.223529 0.776471 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+346.984 9.711 m 348.547 5.676 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.188235 0.811765 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+348.547 5.676 m 349.047 4.418 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.678431 0.321569 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+299.238 56.105 m 296.414 54.242 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.623529 0.376471 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+296.414 54.242 m 293.492 52.91 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.576471 0.423529 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+293.492 52.91 m 290.125 52 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.52549 0.47451 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+290.125 52 m 286.641 51.656 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.47451 0.52549 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+286.641 51.656 m 283.277 51.824 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.431373 0.568627 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+283.277 51.824 m 280.043 52.484 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.388235 0.611765 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+280.043 52.484 m 276.895 53.672 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.690196 0.309804 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+296.949 57.688 m 294.258 56.574 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.647059 0.352941 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+294.258 56.574 m 291.348 55.984 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.596078 0.403922 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+291.348 55.984 m 288.602 55.918 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.552941 0.447059 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+288.602 55.918 m 285.531 56.43 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.505882 0.494118 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+285.531 56.43 m 282.93 57.379 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.470588 0.529412 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+282.93 57.379 m 280.559 58.754 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.435294 0.564706 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+280.559 58.754 m 278.531 60.512 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.407843 0.592157 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+278.531 60.512 m 276.895 62.625 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.384314 0.615686 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+276.895 62.625 m 275.691 65.098 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.368627 0.631373 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+275.691 65.098 m 275.047 67.727 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.360784 0.639216 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+275.047 67.727 m 274.988 70.449 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.360784 0.639216 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+274.988 70.449 m 275.492 73.012 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.368627 0.631373 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+275.492 73.012 m 276.539 75.469 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.380392 0.619608 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+276.539 75.469 m 278.043 77.645 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.4 0.6 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+278.043 77.645 m 279.992 79.516 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.427451 0.572549 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+279.992 79.516 m 282.273 80.992 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.458824 0.541176 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+282.273 80.992 m 284.855 82.059 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.498039 0.501961 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+284.855 82.059 m 287.762 82.672 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.537255 0.462745 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+287.762 82.672 m 290.586 82.77 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.584314 0.415686 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+290.586 82.77 m 293.68 82.289 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.635294 0.364706 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+293.68 82.289 m 296.254 81.348 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.678431 0.321569 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+296.254 81.348 m 298.738 79.875 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.72549 0.27451 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+298.738 79.875 m 300.832 78.016 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.768627 0.231373 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+300.832 78.016 m 302.574 75.766 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.803922 0.196078 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+302.574 75.766 m 303.586 73.598 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.827451 0.172549 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+303.586 73.598 m 304.16 71.324 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.847059 0.152941 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+304.16 71.324 m 304.297 68.391 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.843137 0.156863 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+304.297 68.391 m 303.863 65.852 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.835294 0.164706 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+303.863 65.852 m 302.797 63.203 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.807843 0.192157 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+302.797 63.203 m 301.336 61.109 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.545098 0.454902 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+371.566 61.43 m 373.207 62.934 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.521569 0.478431 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+373.207 62.934 m 374.547 64.82 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.498039 0.501961 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+374.547 64.82 m 375.375 66.992 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.482353 0.517647 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+375.375 66.992 m 375.668 69.273 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.478431 0.521569 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+375.668 69.273 m 375.398 71.582 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.482353 0.517647 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+375.398 71.582 m 374.617 73.715 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.494118 0.505882 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+374.617 73.715 m 373.313 75.629 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.517647 0.482353 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+373.313 75.629 m 371.691 77.16 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.541176 0.458824 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+285.078 61.523 m 283.457 63.055 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.517647 0.482353 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+283.457 63.055 m 282.152 64.969 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.494118 0.505882 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+282.152 64.969 m 281.371 67.102 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.482353 0.517647 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+281.371 67.102 m 281.102 69.41 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.478431 0.521569 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+281.102 69.41 m 281.395 71.691 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.482353 0.517647 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+281.395 71.691 m 282.227 73.863 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.498039 0.501961 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+282.227 73.863 m 283.563 75.75 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.521569 0.478431 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+283.563 75.75 m 285.203 77.254 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.392157 0.607843 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+321.668 111.879 m 322.293 107.598 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.435294 0.564706 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+322.293 107.598 m 322.867 103.309 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.478431 0.521569 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+322.867 103.309 m 323.391 99.02 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.521569 0.478431 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+323.391 99.02 m 323.859 94.723 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.792157 0.207843 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+361.148 62.383 m 363.305 62.086 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.745098 0.254902 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+363.305 62.086 m 365.215 62.246 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.705882 0.294118 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+365.215 62.246 m 367.039 62.906 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.67451 0.32549 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+367.039 62.906 m 368.672 64.043 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.643137 0.356863 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+368.672 64.043 m 369.953 65.621 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.619608 0.380392 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+369.953 65.621 m 370.746 67.461 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.603922 0.396078 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+370.746 67.461 m 371 69.387 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.596078 0.403922 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+371 69.387 m 370.664 71.438 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.607843 0.392157 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+370.664 71.438 m 369.746 73.352 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.623529 0.376471 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+369.746 73.352 m 368.324 74.926 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.65098 0.34902 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+368.324 74.926 m 366.445 76.059 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.686275 0.313726 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+366.445 76.059 m 364.445 76.578 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.721569 0.278431 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+364.445 76.578 m 362.578 76.586 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.764706 0.235294 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+362.578 76.582 m 360.277 76.043 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.803922 0.196078 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+296.492 62.641 m 294.191 62.102 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.764706 0.235294 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+294.191 62.102 m 292.324 62.105 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.721569 0.278431 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+292.324 62.105 m 290.328 62.625 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.686275 0.313726 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+290.328 62.625 m 288.449 63.758 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.65098 0.34902 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+288.449 63.758 m 287.023 65.332 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.623529 0.376471 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+287.023 65.332 m 286.109 67.246 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.607843 0.392157 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+286.109 67.246 m 285.77 69.297 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.596078 0.403922 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+285.77 69.297 m 286.023 71.223 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.603922 0.396078 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+286.023 71.223 m 286.816 73.063 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.619608 0.380392 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+286.816 73.063 m 288.098 74.641 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.643137 0.356863 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+288.098 74.641 m 289.734 75.777 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.67451 0.32549 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+289.734 75.777 m 291.555 76.438 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.705882 0.294118 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+291.555 76.438 m 293.465 76.598 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.745098 0.254902 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+293.465 76.598 m 295.621 76.301 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.972549 0.027451 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+358.719 71.172 m 358.117 70 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.968627 0.0313726 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+358.117 70 m 358.109 68.805 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.968627 0.0313726 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+358.109 68.805 m 358.523 67.836 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.972549 0.027451 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+358.523 67.836 m 359.422 67.109 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.980392 0.0196078 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+359.422 67.109 m 360.559 66.848 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.976471 0.0235294 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+360.559 66.848 m 361.871 67.043 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+1 0 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+361.871 67.043 m 363.258 67.664 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.929412 0.0705882 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+363.258 67.664 m 364.16 68.438 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.882353 0.117647 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+364.16 68.438 m 364.465 69.313 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.866667 0.133333 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+364.465 69.313 m 364.188 70.168 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.882353 0.117647 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+364.188 70.168 m 363.324 70.953 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.929412 0.0705882 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+363.324 70.953 m 361.965 71.582 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+1 0 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+361.965 71.582 m 360.668 71.809 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.85098 0.14902 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+292.063 68.949 m 292.117 69.859 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.854902 0.145098 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+292.117 69.859 m 292.727 70.703 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.890196 0.109804 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+292.727 70.703 m 294.16 71.531 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.968627 0.0313726 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+294.16 71.531 m 295.695 71.922 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.980392 0.0196078 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+295.695 71.922 m 297.066 71.789 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.972549 0.027451 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+297.066 71.789 m 298.102 71.082 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.972549 0.027451 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+298.102 71.082 m 298.652 69.902 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.968627 0.0313726 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+298.652 69.902 m 298.621 68.723 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.968627 0.0313726 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+298.621 68.723 m 298.172 67.777 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.972549 0.027451 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+298.172 67.777 m 297.25 67.094 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.980392 0.0196078 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+297.25 67.094 m 296.102 66.875 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.980392 0.0196078 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+296.102 66.875 m 294.805 67.102 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+1 0 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+294.805 67.102 m 293.445 67.73 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.929412 0.0705882 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+293.445 67.73 m 292.582 68.516 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.466667 0.533333 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+311.023 102.426 m 312.715 98.445 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.513726 0.486275 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+312.715 98.445 m 314.238 94.398 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.560784 0.439216 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+314.238 94.398 m 315.574 90.289 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.603922 0.396078 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+315.574 90.289 m 316.699 86.117 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+[ 1 0 0 1 0 0 ] concat
+  q
+0.643137 0.356863 1 rg
+0.383709 w
+0 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 1 0 0 cm
+316.699 86.117 m 317.598 81.891 l S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+  q
+0.745098 0.254902 1 rg
+0.383709 w
+1 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 -1 0 0 cm
+315.512 -69.738 m 315.504 -69.531 315.504 -69.465 315.504 -69.543 c S Q
+314.77 71.094 m 315.504 69.543 l 316.305 71.063 l h
+314.77 71.094 m f
+q 1 0 0 -1 0 0 cm
+314.77 -71.094 m 315.504 -69.543 l 316.305 -71.063 l h
+314.77 -71.094 m S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+  q
+0.2 0.8 1 rg
+0.383709 w
+1 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 -1 0 0 cm
+290.594 -122.512 m 290.738 -122.363 290.785 -122.316 290.734 -122.371 c
+ S Q
+289.109 122.926 m 290.734 122.371 l 290.203 124.004 l h
+289.109 122.926 m f
+q 1 0 0 -1 0 0 cm
+289.109 -122.926 m 290.734 -122.371 l 290.203 -124.004 l h
+289.109 -122.926 m S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+  q
+0.207843 0.792157 1 rg
+0.383709 w
+1 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 -1 0 0 cm
+295.031 -124.047 m 295.16 -123.883 295.203 -123.832 295.156 -123.891 c S Q
+293.598 124.613 m 295.156 123.891 l 294.797 125.57 l h
+293.598 124.613 m f
+q 1 0 0 -1 0 0 cm
+293.598 -124.613 m 295.156 -123.891 l 294.797 -125.57 l h
+293.598 -124.613 m S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+  q
+0.211765 0.788235 1 rg
+0.383709 w
+1 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 -1 0 0 cm
+300.059 -126.449 m 300.172 -126.273 300.207 -126.219 300.164 -126.281 c
+ S Q
+298.699 127.176 m 300.164 126.281 l 300.004 127.992 l h
+298.699 127.176 m f
+q 1 0 0 -1 0 0 cm
+298.699 -127.176 m 300.164 -126.281 l 300.004 -127.992 l h
+298.699 -127.176 m S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+  q
+0.721569 0.278431 1 rg
+0.383709 w
+1 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 -1 0 0 cm
+321.469 -71.582 m 321.473 -71.375 321.473 -71.309 321.473 -71.383 c S Q
+320.691 72.914 m 321.473 71.383 l 322.227 72.926 l h
+320.691 72.914 m f
+q 1 0 0 -1 0 0 cm
+320.691 -72.914 m 321.473 -71.383 l 322.227 -72.926 l h
+320.691 -72.914 m S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+  q
+0.258824 0.741176 1 rg
+0.383709 w
+1 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 -1 0 0 cm
+315.281 -125.203 m 315.336 -125 315.352 -124.938 315.332 -125.012 c S Q
+314.195 126.297 m 315.332 125.012 l 315.68 126.691 l h
+314.195 126.297 m f
+q 1 0 0 -1 0 0 cm
+314.195 -126.297 m 315.332 -125.012 l 315.68 -126.691 l h
+314.195 -126.297 m S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+  q
+0.717647 0.282353 1 rg
+0.383709 w
+1 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 -1 0 0 cm
+326.363 -68.824 m 326.363 -68.617 326.363 -68.547 326.363 -68.625 c S Q
+325.602 70.164 m 326.363 68.625 l 327.137 70.156 l h
+325.602 70.164 m f
+q 1 0 0 -1 0 0 cm
+325.602 -70.164 m 326.363 -68.625 l 327.137 -70.156 l h
+325.602 -70.164 m S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+  q
+0.235294 0.764706 1 rg
+0.383709 w
+1 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 -1 0 0 cm
+326.352 -129.172 m 326.359 -128.965 326.363 -128.898 326.359 -128.973 c
+ S Q
+325.531 130.477 m 326.359 128.973 l 327.066 130.539 l h
+325.531 130.477 m f
+q 1 0 0 -1 0 0 cm
+325.531 -130.477 m 326.359 -128.973 l 327.066 -130.539 l h
+325.531 -130.477 m S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+  q
+0.717647 0.282353 1 rg
+0.383709 w
+1 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 -1 0 0 cm
+329.063 -68.637 m 329.063 -68.426 329.063 -68.359 329.063 -68.438 c S Q
+328.289 69.969 m 329.063 68.438 l 329.824 69.973 l h
+328.289 69.969 m f
+q 1 0 0 -1 0 0 cm
+328.289 -69.969 m 329.063 -68.438 l 329.824 -69.973 l h
+328.289 -69.969 m S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+  q
+0.235294 0.764706 1 rg
+0.383709 w
+1 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 -1 0 0 cm
+334.488 -129.207 m 334.465 -129 334.457 -128.934 334.465 -129.008 c S Q
+333.879 130.621 m 334.465 129.008 l 335.406 130.445 l h
+333.879 130.621 m f
+q 1 0 0 -1 0 0 cm
+333.879 -130.621 m 334.465 -129.008 l 335.406 -130.445 l h
+333.879 -130.621 m S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+  q
+0.717647 0.282353 1 rg
+0.383709 w
+1 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 -1 0 0 cm
+332.977 -69.785 m 332.977 -69.578 332.977 -69.512 332.977 -69.586 c S Q
+332.199 71.117 m 332.977 69.586 l 333.734 71.125 l h
+332.199 71.117 m f
+q 1 0 0 -1 0 0 cm
+332.199 -71.117 m 332.977 -69.586 l 333.734 -71.125 l h
+332.199 -71.117 m S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+  q
+0.25098 0.74902 1 rg
+0.383709 w
+1 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 -1 0 0 cm
+345.258 -125.434 m 345.191 -125.238 345.168 -125.176 345.191 -125.246 c
+ S Q
+344.973 126.949 m 345.191 125.246 l 346.422 126.445 l h
+344.973 126.949 m f
+q 1 0 0 -1 0 0 cm
+344.973 -126.949 m 345.191 -125.246 l 346.422 -126.445 l h
+344.973 -126.949 m S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+  q
+0.341176 0.658824 1 rg
+0.383709 w
+1 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 -1 0 0 cm
+347.152 -114.418 m 347.07 -114.227 347.043 -114.164 347.074 -114.234 c S Q
+346.98 115.949 m 347.074 114.234 l 348.391 115.336 l h
+346.98 115.949 m f
+q 1 0 0 -1 0 0 cm
+346.98 -115.949 m 347.074 -114.234 l 348.391 -115.336 l h
+346.98 -115.949 m S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+  q
+0.227451 0.772549 1 rg
+0.383709 w
+1 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 -1 0 0 cm
+358.059 -123.383 m 357.941 -123.211 357.902 -123.156 357.945 -123.219 c
+ S Q
+358.188 124.918 m 357.945 123.219 l 359.449 124.047 l h
+358.188 124.918 m f
+q 1 0 0 -1 0 0 cm
+358.188 -124.918 m 357.945 -123.219 l 359.449 -124.047 l h
+358.188 -124.918 m S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+  q
+0.733333 0.266667 1 rg
+0.383709 w
+1 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 -1 0 0 cm
+340.609 -72.313 m 340.605 -72.102 340.602 -72.039 340.605 -72.113 c S Q
+339.887 73.672 m 340.605 72.113 l 341.422 73.625 l h
+339.887 73.672 m f
+q 1 0 0 -1 0 0 cm
+339.887 -73.672 m 340.605 -72.113 l 341.422 -73.625 l h
+339.887 -73.672 m S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+  q
+0.160784 0.839216 1 rg
+0.383709 w
+1 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 -1 0 0 cm
+380.316 -116.422 m 380.129 -116.336 380.066 -116.309 380.137 -116.34 c S Q
+381.207 117.68 m 380.137 116.34 l 381.852 116.285 l h
+381.207 117.68 m f
+q 1 0 0 -1 0 0 cm
+381.207 -117.68 m 380.137 -116.34 l 381.852 -116.285 l h
+381.207 -117.68 m S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+  q
+0.764706 0.235294 1 rg
+0.383709 w
+1 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 -1 0 0 cm
+344.852 -70.004 m 344.855 -69.816 344.859 -69.773 344.855 -69.875 c S Q
+344.059 71.395 m 344.855 69.875 l 345.594 71.426 l h
+344.059 71.395 m f
+q 1 0 0 -1 0 0 cm
+344.059 -71.395 m 344.855 -69.875 l 345.594 -71.426 l h
+344.059 -71.395 m S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+  q
+0.290196 0.709804 1 rg
+0.383709 w
+1 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 -1 0 0 cm
+375.418 -101.621 m 375.219 -101.563 375.16 -101.543 375.234 -101.566 c S Q
+376.484 102.742 m 375.234 101.566 l 376.926 101.27 l h
+376.484 102.742 m f
+q 1 0 0 -1 0 0 cm
+376.484 -102.742 m 375.234 -101.566 l 376.926 -101.27 l h
+376.484 -102.742 m S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+  q
+0.184314 0.815686 1 rg
+0.383709 w
+1 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 -1 0 0 cm
+388.305 -99.34 m 388.098 -99.355 388.035 -99.363 388.113 -99.355 c S Q
+389.707 99.988 m 388.113 99.355 l 389.574 98.461 l h
+389.707 99.988 m f
+q 1 0 0 -1 0 0 cm
+389.707 -99.988 m 388.113 -99.355 l 389.574 -98.461 l h
+389.707 -99.988 m S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+  q
+0.792157 0.207843 1 rg
+0.383709 w
+1 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 -1 0 0 cm
+348.66 -68.676 m 348.664 -68.613 348.66 -68.695 348.645 -68.918 c S Q
+347.766 70.395 m 348.645 68.918 l 349.297 70.504 l h
+347.766 70.395 m f
+q 1 0 0 -1 0 0 cm
+347.766 -70.395 m 348.645 -68.918 l 349.297 -70.504 l h
+347.766 -70.395 m S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+  q
+0.266667 0.733333 1 rg
+0.383709 w
+1 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 -1 0 0 cm
+384.949 -87.52 m 384.879 -87.551 384.938 -87.523 385.129 -87.441 c S Q
+386.844 87.523 m 385.129 87.441 l 386.223 86.117 l h
+386.844 87.523 m f
+q 1 0 0 -1 0 0 cm
+386.844 -87.523 m 385.129 -87.441 l 386.223 -86.117 l h
+386.844 -87.523 m S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+  q
+0.309804 0.690196 1 rg
+0.383709 w
+1 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 -1 0 0 cm
+376.941 -39.582 m 377.148 -39.555 377.211 -39.547 377.133 -39.555 c S Q
+375.512 38.988 m 377.133 39.555 l 375.707 40.512 l h
+375.512 38.988 m f
+q 1 0 0 -1 0 0 cm
+375.512 -38.988 m 377.133 -39.555 l 375.707 -40.512 l h
+375.512 -38.988 m S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+  q
+0.203922 0.796078 1 rg
+0.383709 w
+1 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 -1 0 0 cm
+385.445 -35.492 m 385.656 -35.488 385.723 -35.488 385.645 -35.488 c S Q
+384.098 34.746 m 385.645 35.488 l 384.125 36.281 l h
+384.098 34.746 m f
+q 1 0 0 -1 0 0 cm
+384.098 -34.746 m 385.645 -35.488 l 384.125 -36.281 l h
+384.098 -34.746 m S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+  q
+0.235294 0.764706 1 rg
+0.383709 w
+1 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 -1 0 0 cm
+373.953 -25.414 m 374.137 -25.316 374.191 -25.285 374.125 -25.324 c S Q
+372.41 25.363 m 374.125 25.324 l 373.129 26.723 l h
+372.41 25.363 m f
+q 1 0 0 -1 0 0 cm
+372.41 -25.363 m 374.125 -25.324 l 373.129 -26.723 l h
+372.41 -25.363 m S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+  q
+0.223529 0.776471 1 rg
+0.383709 w
+1 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 -1 0 0 cm
+363.598 -15.98 m 363.738 -15.824 363.785 -15.777 363.734 -15.832 c S Q
+362.129 16.441 m 363.734 15.832 l 363.258 17.48 l h
+362.129 16.441 m f
+q 1 0 0 -1 0 0 cm
+362.129 -16.441 m 363.734 -15.832 l 363.258 -17.48 l h
+362.129 -16.441 m S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+  q
+0.172549 0.827451 1 rg
+0.383709 w
+1 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 -1 0 0 cm
+365.539 -10.176 m 365.68 -10.023 365.727 -9.973 365.672 -10.031 c S Q
+364.074 10.652 m 365.672 10.031 l 365.215 11.684 l h
+364.074 10.652 m f
+q 1 0 0 -1 0 0 cm
+364.074 -10.652 m 365.672 -10.031 l 365.215 -11.684 l h
+364.074 -10.652 m S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+  q
+0.407843 0.592157 1 rg
+0.383709 w
+1 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 -1 0 0 cm
+347.023 -29.813 m 347.113 -29.625 347.141 -29.563 347.109 -29.633 c S Q
+345.754 30.688 m 347.109 29.633 l 347.141 31.348 l h
+345.754 30.688 m f
+q 1 0 0 -1 0 0 cm
+345.754 -30.688 m 347.109 -29.633 l 347.141 -31.348 l h
+345.754 -30.688 m S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+  q
+0.356863 0.643137 1 rg
+0.383709 w
+1 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 -1 0 0 cm
+344.715 -23.547 m 344.793 -23.352 344.816 -23.289 344.789 -23.359 c S Q
+343.52 24.516 m 344.789 23.359 l 344.953 25.066 l h
+343.52 24.516 m f
+q 1 0 0 -1 0 0 cm
+343.52 -24.516 m 344.789 -23.359 l 344.953 -25.066 l h
+343.52 -24.516 m S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+  q
+0.270588 0.729412 1 rg
+0.383709 w
+1 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 -1 0 0 cm
+334.164 -12.246 m 334.188 -12.039 334.195 -11.973 334.188 -12.051 c S Q
+333.246 13.484 m 334.188 12.051 l 334.77 13.664 l h
+333.246 13.484 m f
+q 1 0 0 -1 0 0 cm
+333.246 -13.484 m 334.188 -12.051 l 334.77 -13.664 l h
+333.246 -13.484 m S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+  q
+0.270588 0.729412 1 rg
+0.383709 w
+1 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 -1 0 0 cm
+326.461 -12.301 m 326.453 -12.09 326.449 -12.023 326.453 -12.102 c S Q
+325.746 13.664 m 326.453 12.102 l 327.277 13.605 l h
+325.746 13.664 m f
+q 1 0 0 -1 0 0 cm
+325.746 -13.664 m 326.453 -12.102 l 327.277 -13.605 l h
+325.746 -13.664 m S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+  q
+0.376471 0.623529 1 rg
+0.383709 w
+1 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 -1 0 0 cm
+318.066 -24.574 m 318.02 -24.371 318.004 -24.309 318.02 -24.383 c S Q
+317.629 26.051 m 318.02 24.383 l 319.121 25.699 l h
+317.629 26.051 m f
+q 1 0 0 -1 0 0 cm
+317.629 -26.051 m 318.02 -24.383 l 319.121 -25.699 l h
+317.629 -26.051 m S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+  q
+0.32549 0.67451 1 rg
+0.383709 w
+1 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 -1 0 0 cm
+305.859 -22.086 m 305.758 -21.906 305.727 -21.848 305.762 -21.914 c S Q
+305.832 23.629 m 305.762 21.914 l 307.176 22.887 l h
+305.832 23.629 m f
+q 1 0 0 -1 0 0 cm
+305.832 -23.629 m 305.762 -21.914 l 307.176 -22.887 l h
+305.832 -23.629 m S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+  q
+0.247059 0.752941 1 rg
+0.383709 w
+1 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 -1 0 0 cm
+296.773 -16.816 m 296.641 -16.652 296.602 -16.602 296.648 -16.66 c S Q
+297.008 18.336 m 296.648 16.66 l 298.207 17.379 l h
+297.008 18.336 m f
+q 1 0 0 -1 0 0 cm
+297.008 -18.336 m 296.648 -16.66 l 298.207 -17.379 l h
+297.008 -18.336 m S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+  q
+0.188235 0.811765 1 rg
+0.383709 w
+1 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 -1 0 0 cm
+290.223 -12.816 m 290.078 -12.668 290.031 -12.621 290.082 -12.676 c S Q
+290.613 14.309 m 290.082 12.676 l 291.707 13.23 l h
+290.613 14.309 m f
+q 1 0 0 -1 0 0 cm
+290.613 -14.309 m 290.082 -12.676 l 291.707 -13.23 l h
+290.613 -14.309 m S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+  q
+0.207843 0.792157 1 rg
+0.383709 w
+1 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 -1 0 0 cm
+282.402 -21.961 m 282.223 -21.855 282.168 -21.824 282.234 -21.863 c S Q
+283.172 23.301 m 282.234 21.863 l 283.945 21.973 l h
+283.172 23.301 m f
+q 1 0 0 -1 0 0 cm
+283.172 -23.301 m 282.234 -21.863 l 283.945 -21.973 l h
+283.172 -23.301 m S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+  q
+0.34902 0.65098 1 rg
+0.383709 w
+1 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 -1 0 0 cm
+290.645 -33.117 m 290.469 -33.004 290.414 -32.969 290.48 -33.012 c S Q
+291.352 34.492 m 290.48 33.012 l 292.188 33.203 l h
+291.352 34.492 m f
+q 1 0 0 -1 0 0 cm
+291.352 -34.492 m 290.48 -33.012 l 292.188 -33.203 l h
+291.352 -34.492 m S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+  q
+0.164706 0.835294 1 rg
+0.383709 w
+1 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 -1 0 0 cm
+271.25 -27.957 m 271.047 -27.918 270.98 -27.906 271.055 -27.918 c S Q
+272.426 28.957 m 271.055 27.918 l 272.707 27.445 l h
+272.426 28.957 m f
+q 1 0 0 -1 0 0 cm
+272.426 -28.957 m 271.055 -27.918 l 272.707 -27.445 l h
+272.426 -28.957 m S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+  q
+0.384314 0.615686 1 rg
+0.383709 w
+1 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 -1 0 0 cm
+288.031 -39.414 m 287.84 -39.336 287.781 -39.313 287.855 -39.344 c S Q
+288.988 40.633 m 287.855 39.344 l 289.566 39.211 l h
+288.988 40.633 m f
+q 1 0 0 -1 0 0 cm
+288.988 -40.633 m 287.855 -39.344 l 289.566 -39.211 l h
+288.988 -40.633 m S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+  q
+0.223529 0.776471 1 rg
+0.383709 w
+1 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 -1 0 0 cm
+271.234 -39.109 m 271.027 -39.125 270.961 -39.133 271.039 -39.125 c S Q
+272.637 39.758 m 271.039 39.125 l 272.504 38.23 l h
+272.637 39.758 m f
+q 1 0 0 -1 0 0 cm
+272.637 -39.758 m 271.039 -39.125 l 272.504 -38.23 l h
+272.637 -39.758 m S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+  q
+0.788235 0.211765 1 rg
+0.383709 w
+1 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 -1 0 0 cm
+307.969 -71.906 m 307.973 -71.848 307.969 -71.93 307.953 -72.152 c S Q
+307.074 73.625 m 307.953 72.152 l 308.605 73.738 l h
+307.074 73.625 m f
+q 1 0 0 -1 0 0 cm
+307.074 -73.625 m 307.953 -72.152 l 308.605 -73.738 l h
+307.074 -73.625 m S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+  q
+0.301961 0.698039 1 rg
+0.383709 w
+1 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 -1 0 0 cm
+273.652 -50.355 m 273.578 -50.387 273.641 -50.363 273.832 -50.277 c S Q
+275.547 50.359 m 273.832 50.277 l 274.926 48.957 l h
+275.547 50.359 m f
+q 1 0 0 -1 0 0 cm
+275.547 -50.359 m 273.832 -50.277 l 274.926 -48.957 l h
+275.547 -50.359 m S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+  q
+0.313726 0.686275 1 rg
+0.383709 w
+1 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 -1 0 0 cm
+275.301 -86.531 m 275.352 -86.551 275.27 -86.516 275.051 -86.434 c S Q
+273.902 85.16 m 275.051 86.434 l 273.344 86.59 l h
+273.902 85.16 m f
+q 1 0 0 -1 0 0 cm
+273.902 -85.16 m 275.051 -86.434 l 273.344 -86.59 l h
+273.902 -85.16 m S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+  q
+0.262745 0.737255 1 rg
+0.383709 w
+1 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 -1 0 0 cm
+277.074 -99.453 m 277.277 -99.43 277.344 -99.422 277.266 -99.43 c S Q
+275.645 98.863 m 277.266 99.43 l 275.84 100.387 l h
+275.645 98.863 m f
+q 1 0 0 -1 0 0 cm
+275.645 -98.863 m 277.266 -99.43 l 275.84 -100.387 l h
+275.645 -98.863 m S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+  q
+0.164706 0.835294 1 rg
+0.383709 w
+1 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 -1 0 0 cm
+268.539 -103.238 m 268.746 -103.234 268.813 -103.234 268.734 -103.238 c
+ S Q
+267.188 102.496 m 268.734 103.238 l 267.215 104.031 l h
+267.188 102.496 m f
+q 1 0 0 -1 0 0 cm
+267.188 -102.496 m 268.734 -103.238 l 267.215 -104.031 l h
+267.188 -102.496 m S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+  q
+0.427451 0.572549 1 rg
+0.383709 w
+1 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 -1 0 0 cm
+295.887 -99.234 m 296.047 -99.102 296.094 -99.059 296.035 -99.109 c S Q
+294.367 99.512 m 296.035 99.109 l 295.355 100.688 l h
+294.367 99.512 m f
+q 1 0 0 -1 0 0 cm
+294.367 -99.512 m 296.035 -99.109 l 295.355 -100.688 l h
+294.367 -99.512 m S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+  q
+0.207843 0.792157 1 rg
+0.383709 w
+1 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 -1 0 0 cm
+283.707 -115.914 m 283.883 -115.801 283.938 -115.766 283.875 -115.805 c
+ S Q
+282.172 116.004 m 283.875 115.805 l 283.008 117.289 l h
+282.172 116.004 m f
+q 1 0 0 -1 0 0 cm
+282.172 -116.004 m 283.875 -115.805 l 283.008 -117.289 l h
+282.172 -116.004 m S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+  q
+0.219608 0.780392 1 rg
+0.383709 w
+1 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 -1 0 0 cm
+290.523 -16.965 m 290.371 -16.82 290.324 -16.773 290.379 -16.828 c S Q
+290.961 18.441 m 290.379 16.828 l 292.02 17.328 l h
+290.961 18.441 m f
+q 1 0 0 -1 0 0 cm
+290.961 -18.441 m 290.379 -16.828 l 292.02 -17.328 l h
+290.961 -18.441 m S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+  q
+0.254902 0.745098 1 rg
+0.383709 w
+1 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 -1 0 0 cm
+268.977 -77.918 m 269.121 -78.129 269.184 -78.223 269.168 -78.195 c S Q
+268.938 76.496 m 269.168 78.195 l 267.668 77.355 l h
+268.938 76.496 m f
+q 1 0 0 -1 0 0 cm
+268.938 -76.496 m 269.168 -78.195 l 267.668 -77.355 l h
+268.938 -76.496 m S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+  q
+0.294118 0.705882 1 rg
+0.383709 w
+1 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 -1 0 0 cm
+385.93 -68.387 m 385.934 -68.613 385.938 -68.695 385.934 -68.637 c S Q
+386.672 67.086 m 385.934 68.637 l 385.137 67.117 l h
+386.672 67.086 m f
+q 1 0 0 -1 0 0 cm
+386.672 -67.086 m 385.934 -68.637 l 385.137 -67.117 l h
+386.672 -67.086 m S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+  q
+0.294118 0.705882 1 rg
+0.383709 w
+1 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 -1 0 0 cm
+270.813 -68.938 m 270.816 -69.164 270.82 -69.25 270.816 -69.191 c S Q
+271.555 67.641 m 270.816 69.191 l 270.02 67.672 l h
+271.555 67.641 m f
+q 1 0 0 -1 0 0 cm
+271.555 -67.641 m 270.816 -69.191 l 270.02 -67.672 l h
+271.555 -67.641 m S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+  q
+0.223529 0.776471 1 rg
+0.383709 w
+1 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 -1 0 0 cm
+310.051 -128.254 m 310.125 -128.055 310.148 -127.992 310.121 -128.066 c
+ S Q
+308.871 129.242 m 310.121 128.066 l 310.309 129.77 l h
+308.871 129.242 m f
+q 1 0 0 -1 0 0 cm
+308.871 -129.242 m 310.121 -128.066 l 310.309 -129.77 l h
+308.871 -129.242 m S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+  q
+0.47451 0.52549 1 rg
+0.383709 w
+1 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 -1 0 0 cm
+369.367 -86.953 m 369.297 -86.945 369.367 -86.953 369.578 -86.973 c S Q
+371.031 87.887 m 369.578 86.973 l 371.184 86.359 l h
+371.031 87.887 m f
+q 1 0 0 -1 0 0 cm
+371.031 -87.887 m 369.578 -86.973 l 371.184 -86.359 l h
+371.031 -87.887 m S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+  q
+0.258824 0.741176 1 rg
+0.383709 w
+1 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 -1 0 0 cm
+345.754 -13.047 m 345.824 -12.852 345.848 -12.789 345.82 -12.863 c S Q
+344.57 14.035 m 345.82 12.863 l 346.012 14.566 l h
+344.57 14.035 m f
+q 1 0 0 -1 0 0 cm
+344.57 -14.035 m 345.82 -12.863 l 346.012 -14.566 l h
+344.57 -14.035 m S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+  q
+0.52549 0.47451 1 rg
+0.383709 w
+1 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 -1 0 0 cm
+289.359 -51.926 m 289.289 -51.918 289.359 -51.926 289.574 -51.945 c S Q
+291.023 52.859 m 289.574 51.945 l 291.176 51.332 l h
+291.023 52.859 m f
+q 1 0 0 -1 0 0 cm
+291.023 -52.859 m 289.574 -51.945 l 291.176 -51.332 l h
+291.023 -52.859 m S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+  q
+0.4 0.6 1 rg
+0.383709 w
+1 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 -1 0 0 cm
+278.598 -78.176 m 278.738 -78.313 278.773 -78.348 278.707 -78.281 c S Q
+278.133 76.664 m 278.707 78.281 l 277.07 77.773 l h
+278.133 76.664 m f
+q 1 0 0 -1 0 0 cm
+278.133 -76.664 m 278.707 -78.281 l 277.07 -77.773 l h
+278.133 -76.664 m S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+  q
+0.482353 0.517647 1 rg
+0.383709 w
+1 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 -1 0 0 cm
+375.473 -67.754 m 375.488 -67.879 375.488 -67.863 375.469 -67.707 c S Q
+376.031 66.086 m 375.469 67.707 l 374.512 66.281 l h
+376.031 66.086 m f
+q 1 0 0 -1 0 0 cm
+376.031 -66.086 m 375.469 -67.707 l 374.512 -66.281 l h
+376.031 -66.086 m S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+  q
+0.478431 0.521569 1 rg
+0.383709 w
+1 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 -1 0 0 cm
+281.199 -70.172 m 281.215 -70.297 281.215 -70.281 281.195 -70.125 c S Q
+281.762 68.504 m 281.195 70.125 l 280.238 68.699 l h
+281.762 68.504 m f
+q 1 0 0 -1 0 0 cm
+281.762 -68.504 m 281.195 -70.125 l 280.238 -68.699 l h
+281.762 -68.504 m S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+  q
+0.435294 0.564706 1 rg
+0.383709 w
+1 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 -1 0 0 cm
+322.395 -106.836 m 322.422 -106.629 322.43 -106.563 322.422 -106.637 c S Q
+321.457 108.059 m 322.422 106.637 l 322.977 108.262 l h
+321.457 108.059 m f
+q 1 0 0 -1 0 0 cm
+321.457 -108.059 m 322.422 -106.637 l 322.977 -108.262 l h
+321.457 -108.059 m S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+  q
+0.596078 0.403922 1 rg
+0.383709 w
+1 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 -1 0 0 cm
+370.875 -70.145 m 370.859 -70.23 370.871 -70.18 370.902 -69.988 c S Q
+371.906 68.598 m 370.902 69.988 l 370.395 68.348 l h
+371.906 68.598 m f
+q 1 0 0 -1 0 0 cm
+371.906 -68.598 m 370.902 -69.988 l 370.395 -68.348 l h
+371.906 -68.598 m S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+  q
+0.607843 0.392157 1 rg
+0.383709 w
+1 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 -1 0 0 cm
+285.984 -68.008 m 285.969 -68.094 285.977 -68.043 286.008 -67.852 c S Q
+287.016 66.461 m 286.008 67.852 l 285.5 66.211 l h
+287.016 66.461 m f
+q 1 0 0 -1 0 0 cm
+287.016 -66.461 m 286.008 -67.852 l 285.5 -66.211 l h
+287.016 -66.461 m S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+  q
+1 0 1 rg
+0.383709 w
+1 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 -1 0 0 cm
+361.871 -67.043 m 362.102 -67.148 362.203 -67.191 362.172 -67.18 c S Q
+361.086 65.852 m 362.172 67.18 l 360.457 67.254 l h
+361.086 65.852 m f
+q 1 0 0 -1 0 0 cm
+361.086 -65.852 m 362.172 -67.18 l 360.457 -67.254 l h
+361.086 -65.852 m S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+  q
+0.972549 0.027451 1 rg
+0.383709 w
+1 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 -1 0 0 cm
+298.102 -71.082 m 298.191 -70.887 298.223 -70.82 298.195 -70.883 c S Q
+296.852 71.949 m 298.195 70.883 l 298.242 72.598 l h
+296.852 71.949 m f
+q 1 0 0 -1 0 0 cm
+296.852 -71.949 m 298.195 -70.883 l 298.242 -72.598 l h
+296.852 -71.949 m S Q
+  Q
+Q
+q
+263 4 131 131 re W n
+  q
+0.560784 0.439216 1 rg
+0.383709 w
+1 J
+1 j
+[] 0.0 d
+10 M q 1 0 0 -1 0 0 cm
+314.473 -93.668 m 314.539 -93.473 314.559 -93.41 314.535 -93.484 c S Q
+313.328 94.707 m 314.535 93.484 l 314.789 95.18 l h
+313.328 94.707 m f
+q 1 0 0 -1 0 0 cm
+313.328 -94.707 m 314.535 -93.484 l 314.789 -95.18 l h
+313.328 -94.707 m S Q
+  Q
+Q
+0 g
+307.426 101.785 m 316.32 96.176 l 320.277 102.453 l 311.387 108.063 l h
+307.426 101.785 m f
+1 g
+0.310473 w
+0 J
+1 j
+[] 0.0 d
+4 M q 1 0 0 1 0 0 cm
+307.426 101.785 m 316.32 96.176 l 320.277 102.453 l 311.387 108.063 l h
+307.426 101.785 m S Q
+0 g
+313.898 96.973 m 315.465 95.984 l 313.488 92.848 l 311.918 93.836 l h
+313.898 96.973 m f
+1 g
+q 1 0 0 1 0 0 cm
+313.898 96.973 m 315.465 95.984 l 313.488 92.848 l 311.918 93.836 l h
+313.898 96.973 m S Q
+0 g
+310.758 98.953 m 312.328 97.965 l 310.348 94.824 l 308.777 95.816 l h
+310.758 98.953 m f
+1 g
+q 1 0 0 1 0 0 cm
+310.758 98.953 m 312.328 97.965 l 310.348 94.824 l 308.777 95.816 l h
+310.758 98.953 m S Q
+0 g
+307.621 100.934 m 309.191 99.945 l 307.211 96.805 l 305.641 97.797 l h
+307.621 100.934 m f
+1 g
+q 1 0 0 1 0 0 cm
+307.621 100.934 m 309.191 99.945 l 307.211 96.805 l 305.641 97.797 l h
+307.621 100.934 m S Q
+0 g
+320.496 107.434 m 322.066 106.445 l 320.086 103.309 l 318.516 104.297 l
+ h
+320.496 107.434 m f
+1 g
+q 1 0 0 1 0 0 cm
+320.496 107.434 m 322.066 106.445 l 320.086 103.309 l 318.516 104.297 l
+ h
+320.496 107.434 m S Q
+0 g
+317.359 109.414 m 318.926 108.426 l 316.949 105.285 l 315.379 106.277 l
+ h
+317.359 109.414 m f
+1 g
+q 1 0 0 1 0 0 cm
+317.359 109.414 m 318.926 108.426 l 316.949 105.285 l 315.379 106.277 l
+ h
+317.359 109.414 m S Q
+0 g
+314.219 111.395 m 315.789 110.406 l 313.809 107.266 l 312.238 108.258 l
+ h
+314.219 111.395 m f
+1 g
+q 1 0 0 1 0 0 cm
+314.219 111.395 m 315.789 110.406 l 313.809 107.266 l 312.238 108.258 l
+ h
+314.219 111.395 m S Q
+0.164706 0.831373 1 rg
+316.406 100.473 m 317.293 101.875 316.871 103.727 315.473 104.609 c 314.07
+ 105.492 312.219 105.074 311.332 103.672 c 310.449 102.273 310.867 100.418
+ 312.27 99.535 c 313.672 98.652 315.523 99.07 316.406 100.473 c h
+316.406 100.473 m f
+0 g
+0.719231 w
+q 1 -0.630864 0.630864 1 0 0 cm
+180.99 214.653 m 180.991 216.056 179.854 217.19 178.455 217.19 c 177.054
+ 217.189 175.918 216.054 175.916 214.651 c 175.916 213.252 177.052 212.114
+ 178.454 212.115 c 179.855 212.117 180.991 213.251 180.99 214.653 c h
+180.99 214.653 m S Q
+0.964706 1 0.835294 rg
+296.781 117.398 m 316.07 117.398 l 318.355 117.398 320.195 119.238 320.195
+ 121.523 c 320.195 123.617 l 320.195 125.902 318.355 127.742 316.07 127.742
+ c 296.781 127.742 l 294.496 127.742 292.656 125.902 292.656 123.617 c 292.656
+ 121.523 l 292.656 119.238 294.496 117.398 296.781 117.398 c h
+296.781 117.398 m f
+0.666667 0.831373 0 rg
+0.850394 w
+q 1 0 0 1 0 0 cm
+296.781 117.398 m 316.07 117.398 l 318.355 117.398 320.195 119.238 320.195
+ 121.523 c 320.195 123.617 l 320.195 125.902 318.355 127.742 316.07 127.742
+ c 296.781 127.742 l 294.496 127.742 292.656 125.902 292.656 123.617 c 292.656
+ 121.523 l 292.656 119.238 294.496 117.398 296.781 117.398 c h
+296.781 117.398 m S Q
+0 g
+BT
+10.000006 0 0 -10.000006 294.678926 125.319575 Tm
+/f-0-0 1 Tf
+[(.)-11(g)9(e)5(tB)]TJ
+ET
+0.501961 g
+BT
+14.000003 0 0 -14.000003 335.554948 58.913623 Tm
+/f-0-0 1 Tf
+(CURRENT)Tj
+ET
+Q q
+0.501961 g
+BT
+14.000003 0 0 -14.000003 389.832307 58.913623 Tm
+/f-0-0 1 Tf
+(S)Tj
+ET
+1 0.8 0 rg
+1.417323 w
+0 J
+1 j
+[] 0.0 d
+4 M q 1 0 0 1 0 0 cm
+327.227 69.953 m 327.227 48 l S Q
+323.258 49.984 m 327.227 39.07 l 331.195 49.984 l 328.887 48 325.582 48
+ 323.258 49.984 c h
+323.258 49.984 m f*
+q 1 0 0 1 0 0 cm
+327.227 69.953 m 350.105 69.953 l S Q
+348.121 65.984 m 359.035 69.953 l 348.121 73.918 l 350.105 71.609 350.105
+ 68.305 348.121 65.984 c h
+348.121 65.984 m f*
+0.164706 0.831373 1 rg
+330.227 69.953 m 330.227 71.609 328.887 72.953 327.227 72.953 c 325.57 
+72.953 324.227 71.609 324.227 69.953 c 324.227 68.293 325.57 66.953 327.227
+ 66.953 c 328.887 66.953 330.227 68.293 330.227 69.953 c h
+330.227 69.953 m f
+0 g
+0.850394 w
+q 1 0 0 1 0 0 cm
+330.227 69.953 m 330.227 71.609 328.887 72.953 327.227 72.953 c 325.57 
+72.953 324.227 71.609 324.227 69.953 c 324.227 68.293 325.57 66.953 327.227
+ 66.953 c 328.887 66.953 330.227 68.293 330.227 69.953 c h
+330.227 69.953 m S Q
+0.501961 0 0.501961 rg
+1.700787 w
+q 1 0 0 1 0 0 cm
+361.684 68.953 m 363.199 71.156 357.605 73.32 347.176 74.566 c 336.75 75.816
+ 323.227 75.938 312.117 74.887 c 301.008 73.836 294.164 71.785 294.371 69.57
+ c S Q
+0.964706 1 0.835294 rg
+277.363 102.293 m 297.406 102.293 l 299.691 102.293 301.531 104.133 301.531
+ 106.418 c 301.531 108.516 l 301.531 110.801 299.691 112.641 297.406 112.641
+ c 277.363 112.641 l 275.078 112.641 273.238 110.801 273.238 108.516 c 273.238
+ 106.418 l 273.238 104.133 275.078 102.293 277.363 102.293 c h
+277.363 102.293 m f
+0.666667 0.831373 0 rg
+0.850394 w
+q 1 0 0 1 0 0 cm
+277.363 102.293 m 297.406 102.293 l 299.691 102.293 301.531 104.133 301.531
+ 106.418 c 301.531 108.516 l 301.531 110.801 299.691 112.641 297.406 112.641
+ c 277.363 112.641 l 275.078 112.641 273.238 110.801 273.238 108.516 c 273.238
+ 106.418 l 273.238 104.133 275.078 102.293 277.363 102.293 c h
+277.363 102.293 m S Q
+0 g
+BT
+10.000006 0 0 -10.000006 276.18115 110.216597 Tm
+/f-0-0 1 Tf
+[(.)-11(g)9(e)5(tH)]TJ
+ET
+0.964706 1 0.835294 rg
+24.402 28.836 m 49.879 28.836 l 52.164 28.836 54.004 30.676 54.004 32.961
+ c 54.004 35.055 l 54.004 37.34 52.164 39.18 49.879 39.18 c 24.402 39.18
+ l 22.117 39.18 20.277 37.34 20.277 35.055 c 20.277 32.961 l 20.277 30.676
+ 22.117 28.836 24.402 28.836 c h
+24.402 28.836 m f
+0.666667 0.831373 0 rg
+q 1 0 0 1 0 0 cm
+24.402 28.836 m 49.879 28.836 l 52.164 28.836 54.004 30.676 54.004 32.961
+ c 54.004 35.055 l 54.004 37.34 52.164 39.18 49.879 39.18 c 24.402 39.18
+ l 22.117 39.18 20.277 37.34 20.277 35.055 c 20.277 32.961 l 20.277 30.676
+ 22.117 28.836 24.402 28.836 c h
+24.402 28.836 m S Q
+0.0156863 0.705882 0.329412 rg
+153.594 119.629 45 11.25 re f
+0.898039 g
+153.594 97.129 45 22.5 re f
+0.937255 0.0980392 0.0980392 rg
+153.594 85.879 45 11.25 re f
+1 0.8 0 rg
+1.417323 w
+q 1 0 0 1 0 0 cm
+176.094 108.379 m 176.094 88.41 l S Q
+172.125 90.395 m 176.094 79.48 l 180.063 90.395 l 177.75 88.41 174.445 
+88.41 172.125 90.395 c h
+172.125 90.395 m f*
+q 1 0 0 1 0 0 cm
+176.094 108.379 m 196.813 108.379 l S Q
+194.828 104.41 m 205.742 108.379 l 194.828 112.348 l 196.813 110.035 196.813
+ 106.73 194.828 104.41 c h
+194.828 104.41 m f*
+0.501961 g
+1.133858 w
+q 1 0 0 1 0 0 cm
+21.164 93.613 m 21.164 61.379 l S Q
+17.992 62.969 m 21.164 54.238 l 24.34 62.969 l 22.492 61.379 19.848 61.379
+ 17.992 62.969 c h
+17.992 62.969 m f*
+0.898039 g
+24.914 82.363 m 10.539 96.34 l f
+0.501961 g
+q 1 0 0 1 0 0 cm
+24.914 82.363 m 10.539 96.34 l S Q
+13.891 97.512 m 5.418 101.32 l 9.465 92.957 l 9.617 95.391 11.457 97.285
+ 13.891 97.512 c h
+13.891 97.512 m f*
+q 1 0 0 1 0 0 cm
+13.664 86.113 m 45.371 86.113 l S Q
+43.781 82.938 m 52.512 86.113 l 43.781 89.289 l 45.371 87.441 45.371 84.797
+ 43.781 82.938 c h
+43.781 82.938 m f*
+0.164706 0.831373 1 rg
+179.094 108.379 m 179.094 110.035 177.75 111.379 176.094 111.379 c 174.438
+ 111.379 173.094 110.035 173.094 108.379 c 173.094 106.723 174.438 105.379
+ 176.094 105.379 c 177.75 105.379 179.094 106.723 179.094 108.379 c h
+179.094 108.379 m f
+0 g
+0.850394 w
+q 1 0 0 1 0 0 cm
+179.094 108.379 m 179.094 110.035 177.75 111.379 176.094 111.379 c 174.438
+ 111.379 173.094 110.035 173.094 108.379 c 173.094 106.723 174.438 105.379
+ 176.094 105.379 c 177.75 105.379 179.094 106.723 179.094 108.379 c h
+179.094 108.379 m S Q
+0.686275 0.913725 0.686275 rg
+207.277 38.609 45 11.25 re f
+0.94902 g
+207.277 16.109 45 22.5 re f
+1 0.835294 0.835294 rg
+207.277 4.859 45 11.25 re f
+0.164706 0.831373 1 rg
+21.406 86.324 m 164.301 106.965 l f
+1.700787 w
+q 1 0 0 1 0 0 cm
+21.406 86.324 m 164.301 106.965 l S Q
+162.625 101.91 m 174.906 108.496 l 161.266 111.336 l 164.016 108.934 164.586
+ 105.008 162.625 101.91 c h
+162.625 101.91 m f*
+0.666667 0.831373 0 rg
+2.267717 w
+[ 1.133858 1.133858] 0 d
+q 1 0 0 1 0 0 cm
+175.344 108.004 m 224.172 35.957 l S Q
+218.43 35.195 m 230.715 26.305 l 227.012 41.012 l 225.965 37.172 222.395
+ 34.75 218.43 35.195 c h
+218.43 35.195 m f*
+0 g
+77.063 32.539 m 93.16 22.387 l 100.328 33.75 l 84.23 43.902 l h
+77.063 32.539 m f
+1 g
+0.283465 w
+[] 0.0 d
+q 1 0 0 1 0 0 cm
+77.063 32.539 m 93.16 22.387 l 100.328 33.75 l 84.23 43.902 l h
+77.063 32.539 m S Q
+0 g
+88.773 23.828 m 91.617 22.035 l 88.031 16.355 l 85.191 18.145 l h
+88.773 23.828 m f
+1 g
+q 1 0 0 1 0 0 cm
+88.773 23.828 m 91.617 22.035 l 88.031 16.355 l 85.191 18.145 l h
+88.773 23.828 m S Q
+0 g
+83.094 27.414 m 85.934 25.621 l 82.352 19.938 l 79.508 21.73 l h
+83.094 27.414 m f
+1 g
+q 1 0 0 1 0 0 cm
+83.094 27.414 m 85.934 25.621 l 82.352 19.938 l 79.508 21.73 l h
+83.094 27.414 m S Q
+0 g
+77.41 30.996 m 80.254 29.203 l 76.668 23.523 l 73.828 25.316 l h
+77.41 30.996 m f
+1 g
+q 1 0 0 1 0 0 cm
+77.41 30.996 m 80.254 29.203 l 76.668 23.523 l 73.828 25.316 l h
+77.41 30.996 m S Q
+0 g
+100.723 42.766 m 103.563 40.973 l 99.98 35.293 l 97.137 37.086 l h
+100.723 42.766 m f
+1 g
+q 1 0 0 1 0 0 cm
+100.723 42.766 m 103.563 40.973 l 99.98 35.293 l 97.137 37.086 l h
+100.723 42.766 m S Q
+0 g
+95.043 46.352 m 97.883 44.559 l 94.297 38.879 l 91.457 40.668 l h
+95.043 46.352 m f
+1 g
+q 1 0 0 1 0 0 cm
+95.043 46.352 m 97.883 44.559 l 94.297 38.879 l 91.457 40.668 l h
+95.043 46.352 m S Q
+0 g
+89.359 49.934 m 92.199 48.145 l 88.617 42.461 l 85.773 44.254 l h
+89.359 49.934 m f
+1 g
+q 1 0 0 1 0 0 cm
+89.359 49.934 m 92.199 48.145 l 88.617 42.461 l 85.773 44.254 l h
+89.359 49.934 m S Q
+0.666667 0.831373 0 rg
+1.917948 w
+[ 0.958974 0.958974] 0 d
+q 1 -0.630864 0.630864 1 0 0 cm
+47.797 88.755 m 36.914 88.452 27.526 81.017 24.734 70.495 c 21.94 59.97
+ 26.406 48.861 35.711 43.201 c 45.012 37.541 56.932 38.678 64.995 45.995
+ c S Q
+98.816 55.398 m 114.031 52.531 l 104.211 64.5 l 104.918 60.5 102.672 56.711
+ 98.816 55.398 c h
+98.816 55.398 m f*
+0.501961 g
+BT
+14.000003 0 0 -14.000003 203.22693 130.210503 Tm
+/f-0-0 1 Tf
+[(MA)7(GNET)5(S)]TJ
+-6.773842 5.909029 Td
+[(SENSOR)13(S)]TJ
+ET
+0.964706 1 0.835294 rg
+217.16 58.445 m 242.637 58.445 l 244.922 58.445 246.762 60.285 246.762 
+62.57 c 246.762 64.664 l 246.762 66.949 244.922 68.789 242.637 68.789 c 
+217.16 68.789 l 214.875 68.789 213.035 66.949 213.035 64.664 c 213.035 62.57
+ l 213.035 60.285 214.875 58.445 217.16 58.445 c h
+217.16 58.445 m f
+0.666667 0.831373 0 rg
+0.850394 w
+[] 0.0 d
+q 1 0 0 1 0 0 cm
+217.16 58.445 m 242.637 58.445 l 244.922 58.445 246.762 60.285 246.762 
+62.57 c 246.762 64.664 l 246.762 66.949 244.922 68.789 242.637 68.789 c 
+217.16 68.789 l 214.875 68.789 213.035 66.949 213.035 64.664 c 213.035 62.57
+ l 213.035 60.285 214.875 58.445 217.16 58.445 c h
+217.16 58.445 m S Q
+0 g
+BT
+10.000006 0 0 -10.000006 216.909928 66.366095 Tm
+/f-0-0 1 Tf
+[(.mo)4(v)10(e)]TJ
+-19.366675 2.904078 Td
+[(.r)16(ot)12(a)10(t)10(e)]TJ
+ET
+1 0.964706 0.835294 rg
+111.281 0.426 m 160.422 0.426 l 162.707 0.426 164.547 2.266 164.547 4.551
+ c 164.547 6.645 l 164.547 8.93 162.707 10.77 160.422 10.77 c 111.281 10.77
+ l 108.996 10.77 107.156 8.93 107.156 6.645 c 107.156 4.551 l 107.156 2.266
+ 108.996 0.426 111.281 0.426 c h
+111.281 0.426 m f
+1 0.8 0 rg
+q 1 0 0 1 0 0 cm
+111.281 0.426 m 160.422 0.426 l 162.707 0.426 164.547 2.266 164.547 4.551
+ c 164.547 6.645 l 164.547 8.93 162.707 10.77 160.422 10.77 c 111.281 10.77
+ l 108.996 10.77 107.156 8.93 107.156 6.645 c 107.156 4.551 l 107.156 2.266
+ 108.996 0.426 111.281 0.426 c h
+111.281 0.426 m S Q
+0 g
+BT
+10.000006 0 0 -10.000006 111.428596 8.443178 Tm
+/f-0-0 1 Tf
+[(.orien)9(t)12(a)]TJ
+/f-0-1 1 Tf
+[<>10<01>]TJ
+/f-0-0 1 Tf
+(on)Tj
+ET
+0.501961 g
+BT
+11.000012 0 0 -11.000012 -0.123535 107.023057 Tm
+/f-1-0 1 Tf
+(x)Tj
+4.871919 1.761444 Td
+(y)Tj
+-3.145265 3.242239 Td
+(z)Tj
+ET
+0.835294 0.964706 1 rg
+68.145 108.191 m 102.438 108.191 l 104.723 108.191 106.563 110.031 106.563
+ 112.316 c 106.563 114.41 l 106.563 116.695 104.723 118.535 102.438 118.535
+ c 68.145 118.535 l 65.859 118.535 64.02 116.695 64.02 114.41 c 64.02 112.316
+ l 64.02 110.031 65.859 108.191 68.145 108.191 c h
+68.145 108.191 m f
+0.164706 0.831373 1 rg
+q 1 0 0 1 0 0 cm
+68.145 108.191 m 102.438 108.191 l 104.723 108.191 106.563 110.031 106.563
+ 112.316 c 106.563 114.41 l 106.563 116.695 104.723 118.535 102.438 118.535
+ c 68.145 118.535 l 65.859 118.535 64.02 116.695 64.02 114.41 c 64.02 112.316
+ l 64.02 110.031 65.859 108.191 68.145 108.191 c h
+68.145 108.191 m S Q
+0 g
+BT
+10.000006 0 0 -10.000006 66.702328 115.953947 Tm
+/f-0-0 1 Tf
+(.posi)Tj
+/f-0-1 1 Tf
+<01>Tj
+/f-0-0 1 Tf
+(on)Tj
+ET
+0.898039 g
+88.98 33.605 m 79.457 18.32 l f
+1 0.8 0 rg
+1.417323 w
+q 1 0 0 1 0 0 cm
+88.98 33.605 m 79.457 18.32 l S Q
+77.137 22.102 m 74.734 10.738 l 83.875 17.906 l 80.863 17.441 78.059 19.191
+ 77.137 22.102 c h
+77.137 22.102 m f*
+0.898039 g
+88.98 33.605 m 104.398 23.156 l f
+1 0.8 0 rg
+q 1 0 0 1 0 0 cm
+88.98 33.605 m 104.398 23.156 l S Q
+100.527 20.984 m 111.789 18.145 l 104.98 27.555 l 105.328 24.527 103.473
+ 21.793 100.527 20.984 c h
+100.527 20.984 m f*
+0.164706 0.831373 1 rg
+91.516 32.004 m 92.402 33.406 91.98 35.258 90.582 36.145 c 89.18 37.027
+ 87.328 36.605 86.441 35.207 c 85.559 33.805 85.977 31.953 87.379 31.066
+ c 88.781 30.184 90.633 30.602 91.516 32.004 c h
+91.516 32.004 m f
+0 g
+0.719231 w
+q 1 -0.630864 0.630864 1 0 0 cm
+51.02 64.191 m 51.022 65.594 49.884 66.728 48.484 66.731 c 47.082 66.73
+ 45.948 65.593 45.945 64.192 c 45.946 62.791 47.081 61.655 48.484 61.653
+ c 49.886 61.655 51.021 62.789 51.02 64.191 c h
+51.02 64.191 m S Q
+0.164706 0.831373 1 rg
+21.516 86.098 m 80.563 40.563 l f
+1.700787 w
+q 1 0 0 1 0 0 cm
+21.516 86.098 m 80.563 40.563 l S Q
+75.77 38.246 m 89.047 34.02 l 81.586 45.789 l 81.777 42.137 79.355 39 75.77
+ 38.246 c h
+75.77 38.246 m f*
+Q Q
+showpage
+%%Trailer
+end
+%%EOF
diff --git a/docs/_static/images/index/source_fundamentals.pdf b/docs/_static/images/index/source_fundamentals.pdf
new file mode 100644
index 000000000..42ce71ab9
Binary files /dev/null and b/docs/_static/images/index/source_fundamentals.pdf differ
diff --git a/docs/_static/images/index/source_fundamentals.png b/docs/_static/images/index/source_fundamentals.png
index 1c7189b24..60d89cdc6 100644
Binary files a/docs/_static/images/index/source_fundamentals.png and b/docs/_static/images/index/source_fundamentals.png differ
diff --git a/docs/conf.py b/docs/conf.py
index d347431d6..bda9b0ea8 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -84,13 +84,10 @@ def setup(app):
     "sphinx.ext.autosummary",
     "sphinx.ext.ifconfig",
     "matplotlib.sphinxext.plot_directive",
-    # "nbsphinx",
-    # "sphinx_gallery.load_style",
     "sphinx_copybutton",
     "myst_nb",
     "sphinx_thebe",
-    # "myst_parser",
-    # "sphinx_panels",
+    "sphinx_favicon",
 ]
 
 # Add any paths that contain templates here, relative to this directory.
@@ -127,7 +124,7 @@ def setup(app):
 #
 html_theme = "sphinx_book_theme"
 
-html_logo = "./_static/images/magpylib_logo.png"
+html_logo = "./_static/images/magpylib_flag.png"
 # Theme options are theme-specific and customize the look and feel of a theme
 # further.  For a list of options available for each theme, see the
 # documentation.
@@ -138,8 +135,32 @@ def setup(app):
     "repository_branch": release,
     "use_repository_button": True,
     "use_download_button": True,
+    "use_source_button": True,
+    "use_edit_page_button": True,
+    "use_issues_button": True,
     "launch_buttons": {"binderhub_url": "https://mybinder.org", "thebe": True},
+    "icon_links": [
+        {
+            "name": "Github",
+            "url": "https://github.com/magpylib/magpylib",
+            "icon": "https://img.shields.io/github/stars/magpylib/magpylib?style=social",
+            "type": "url",
+        },
+        {
+            "name": "PyPI",
+            "url": "https://pypi.org/project/magpylib/",
+            "icon": "https://img.shields.io/pypi/v/magpylib",
+            "type": "url",
+        },
+        {
+            "name": "Conda",
+            "url": "https://anaconda.org/conda-forge/magpylib",
+            "icon": "https://img.shields.io/conda/vn/conda-forge/magpylib",
+            "type": "url",
+        },
+    ],
 }
+
 # Add any paths that contain custom static files (such as style sheets) here,
 # relative to this directory. They are copied after the builtin static files,
 # so a file named "default.css" will overwrite the builtin "default.css".
@@ -279,3 +300,11 @@ def setup(app):
 }
 
 myst_update_mathjax = False
+
+suppress_warnings = ["mystnb.unknown_mime_type"]
+
+favicons = [
+    "images/favicons/favicon-16x16.png",
+    "images/favicons/favicon-32x32.png",
+    "images/favicons/icon.ico",
+]
diff --git a/docs/examples/examples_06_triangle.md b/docs/examples/examples_06_triangle.md
index 35682a703..168b092dc 100644
--- a/docs/examples/examples_06_triangle.md
+++ b/docs/examples/examples_06_triangle.md
@@ -4,24 +4,28 @@ jupytext:
     extension: .md
     format_name: myst
     format_version: 0.13
-    jupytext_version: 1.14.1
+    jupytext_version: 1.14.5
 kernelspec:
-  display_name: Python 3 (ipykernel)
+  display_name: Python 3
   language: python
   name: python3
 ---
 
+```{versionadded} 4.2
+The `Triangle` class
+```
+
 (examples-triangle)=
 
-# Complex shapes - The Triangle class
+# Complex shapes - Triangle
 
 The field of a homogeneously charged magnet is, on the outside, the same as the field of a similarly shaped body with a magnetic surface charge. The surface charge is proportional to the projection of the magnetization vector onto the surface normal.
 
 The `Triangle` class is set up so that it can easily be used for this purpose. Arbitrary surfaces are easily approximated by triangles, and given the magnetization vector, the surface charge density is automatically computed. One must be very careful to orient the triangles correctly, with surface normal vectors pointing outwards (right-hand-rule). The resulting H-field of such a collection is correct, but the B-field is only correct on the outside of the body. On the inside the magnetization must be added to the field.
 
-## Example: Triangular prisma magnet
+## Example: Triangular prism magnet
 
-Consider a Prisma with triangular base that is magnetized orthogonal to the base. All surface normals of the sides of the prisma are orthogonal to the magnetization vector. As a result the sides do not contribute to the magnetic field because their charge desity dissappears. Only top and bottom surfaces contribute. One must be very careful when defining those surfaces in such a way that the surface normals point outwards. For this purpose the surface normal of `Triangle` objects is graphically displayed by default. The following examples shows how the `Triangle` class can be used to create a prisma magnet object.
+Consider a prism with triangular base that is magnetized orthogonal to the base. All surface normals of the sides of the prism are orthogonal to the magnetization vector. As a result the sides do not contribute to the magnetic field because their charge density disappears. Only top and bottom surfaces contribute. One must be very careful when defining those surfaces in such a way that the surface normals point outwards. For this purpose the surface normal of `Triangle` objects is graphically displayed by default. The following examples shows how the `Triangle` class can be used to create a prism magnet object.
 
 ```{code-cell} ipython3
 import magpylib as magpy
@@ -35,9 +39,9 @@ bott = magpy.misc.Triangle(
     vertices= ((-1,-1,-1), (0,2,-1), (1,-1,-1)),
 )
 
-prisma = magpy.Collection(top, bott)
+prism = magpy.Collection(top, bott)
 
-prisma.show(
+prism.show(
     style_opacity=0.5,
     style_magnetization_size=0.2,
 )
@@ -93,3 +97,5 @@ magpy.show(
     jupyter_backend="panel", # better pyvista rendering in a jupyter notebook
 )
 ```
+
+However, despite the potential of the `Triangle` class to build complex shapes, its application is prone to error because there is no intrinsic check of face orientation, connectedness, and being inside or outside of the magnet. For convenience the `TriangularMesh` class provides all these features, and enables users to quickly import complex triangular meshes as single magnet objects, see {ref}`examples-triangularmesh`.
diff --git a/docs/examples/examples_07_triangularmesh.md b/docs/examples/examples_07_triangularmesh.md
new file mode 100644
index 000000000..8fc946db0
--- /dev/null
+++ b/docs/examples/examples_07_triangularmesh.md
@@ -0,0 +1,270 @@
+---
+jupytext:
+  text_representation:
+    extension: .md
+    format_name: myst
+    format_version: 0.13
+    jupytext_version: 1.14.5
+kernelspec:
+  display_name: Python 3
+  language: python
+  name: python3
+---
+
+```{versionadded} 4.3
+The `TriangularMesh` class
+```
+
+(examples-triangularmesh)=
+
+# Complex shapes - TrianglularMesh
+
+The `TriangularMesh` class is used to create magnets from triangular surface meshes, instead of assembling them from individual `Triangle` objects as described in {ref}`examples-triangle`. This class is initialized with the `vertices` (an array_like of positions) and the `faces` (an array_like of index triplets) inputs. In addition, a set of useful classmethods enables initialization from various inputs:
+
+- `TriangularMesh.from_mesh()`: from an array_like of triplets of vertices
+- `TriangularMesh.from_triangles()`: from a list of `Triangle` objects
+- `TriangularMesh.from_ConvexHull()`: from the convex hull of a given point cloud
+- `TriangularMesh.from_pyvista()`: from a Pvista `PolyData` object
+
+In contrast to a `Collection` of `Triangle` objects the `TriangularMesh` class performs several important checks at initialization by default to ensure that the given triangular mesh forms a proper magnet:
+
+- `check_open`: checks if given mesh forms a closed surface
+- `check_disconnected`: checks if given mesh is connected
+- `reorient_faces`: checks if faces are oriented outwards, and flips the ones wrongly oriented. This works only if the mesh is closed.
+
+All three checks will throw warnings by default if the mesh is open, disconnected, or cannot be reoriented. Four options enable error handling: `"skip"`, `"ignore"`, `"warn"` (default), `"raise"`. If skipped at initialization, the checks can be performed by hand via respective methods.
+
+The mesh status is set by the checks, and can be viewed via the properties `status_open`, `status_disconnected` and `status_reoriented` with possible values `None`, `True`, `False`. Problems of the mesh (e.g. open edges) are stored in `status_open_data` and `status_disconnected_data`. Such problems can be viewed with `show`.
+
+```{caution}
+* Only if the mesh is closed and all faces are properly oriented outwards, `getB` and `getH` compute the fields correctly.
+
+* Input checks and face reorientation can be computationally expensive. The checks can be individually deactivated by setting `reorient_faces="skip"`, `check_open="skip"` and `check_disconnected="skip"` at initialization of `TriangularMesh` objects. The checks can also be performed by hand after initialization.
+
+* Meshing tools such as the [Pyvista](https://docs.pyvista.org/) library can be very convenient for building complex shapes, but often do not guarantee that the mesh is properly closed or connected.
+
+* Meshing tools often create meshes with a lot of faces, especially when working with curved surfaces. Keep in mind that the field computation takes of the order of a few microseconds per observer position per face, and that RAM is a limited ressource.
+```
+
+## Example - Tetrahedron magnet
+
+```{code-cell} ipython3
+import magpylib as magpy
+
+# create faceted tetrahedron from vertices and faces
+tmesh_tetra = magpy.magnet.TriangularMesh(
+    magnetization=(0, 0, 1000),
+    vertices=((0, 0, 0), (1, 0, 0), (0, 1, 0), (0, 0, 1)),
+    faces=((2, 1, 0), (3, 0, 1), (3, 2, 0), (3, 1, 2)),
+)
+
+# print mesh status
+print("mesh status open:", tmesh_tetra.status_open)
+print("mesh status disconnected:", tmesh_tetra.status_disconnected)
+print("mesh status reoriented:", tmesh_tetra.status_reoriented)
+
+tmesh_tetra.show()
+```
+
+## Example - Dodecahedron magnet from pyvista
+
+`TriangularMesh` magnets can be directly created from Pyvista `PolyData` objects via the classmethod `from_pyvista`.
+
+```{note}
+The Pyvista library used in the following examples is not automatically installed with Magpylib. A Pyvista installation guide is found [here](https://docs.pyvista.org/getting-started/installation.html).
+```
+
+```{code-cell} ipython3
+import pyvista as pv
+import magpylib as magpy
+
+# create a simple pyvista PolyData object
+dodec_mesh = pv.Dodecahedron()
+
+dodec = magpy.magnet.TriangularMesh.from_pyvista(
+    magnetization=(0, 0, 100),
+    polydata=dodec_mesh,
+)
+
+dodec.show()
+```
+
+We can now add a sensor and plot the B-field value along the sensor path.
+
+```{code-cell} ipython3
+import numpy as np
+import matplotlib.pyplot as plt
+import pyvista as pv
+import magpylib as magpy
+
+# create a simple pyvista PolyData object
+dodec_mesh = pv.Dodecahedron()
+
+# create TriangularMesh object
+tmesh_dodec = magpy.magnet.TriangularMesh.from_pyvista(
+    magnetization=(1000, 0, 0),
+    polydata=dodec_mesh,
+)
+
+# add sensor and rotate around source
+sens = magpy.Sensor(position=(2, 0, 0))
+sens.rotate_from_angax(angle=np.linspace(0, 320, 50), axis="z", start=0, anchor=0)
+
+# define matplotlib figure and axes
+fig = plt.figure(figsize=(12, 6))
+ax1 = fig.add_subplot(
+    121,
+    projection="3d",
+    azim=-80,
+    elev=15,
+)
+ax2 = fig.add_subplot(
+    122,
+)
+
+# plot 3D model and B-field
+magpy.show(tmesh_dodec, sens, canvas=ax1)
+B = tmesh_dodec.getB(sens)
+ax2.plot(B, label=["Bx", "By", "Bz"])
+
+# plot styling
+ax1.set(
+    title="3D model",
+    aspect="equal",
+)
+ax2.set(
+    title="Dodecahedron field",
+    xlabel="path index ()",
+    ylabel="B-field (mT)",
+)
+
+plt.gca().grid(color=".9")
+plt.gca().legend()
+plt.tight_layout()
+plt.show()
+```
+
+## Example - Pyramid magnet from ConvexHull
+
+`TriangularMesh` objects are easily constructed from the convex hull of a given point cloud using the classmethod `from_ConvexHull`. This classmethod  makes use of the [scipy.spatial.ConvexHull](https://docs.scipy.org/doc/scipy/reference/generated/scipy.spatial.ConvexHull.html) class. Note that the Scipy method does not guarantee correct face orientations if `reorient_faces` is disabled.
+
+```{code-cell} ipython3
+import magpylib as magpy
+
+# create Pyramid
+points = [[-2,-2, 0], [-2,2,0], [2,-2,0], [2,2,0], [0,0,3]]
+tmesh_pyramid = magpy.magnet.TriangularMesh.from_ConvexHull(
+    magnetization=(0, 0, 1000),
+    points=points,
+)
+
+#display graphically
+tmesh_pyramid.show(
+    style_opacity=0.5,
+    style_orientation_show=True,
+    style_orientation_size=1.5,
+)
+```
+
+## Example - Prism magnet with open mesh
+
+In some cases it may be desirable to generate a `TriangularMesh` object from an open mesh, as described in {ref}`examples-triangle`. In this case one has to be extremely careful because one cannot rely on the checks. Not to generate warnings or error messages, these checks can be disabled with `"skip"` or their outcome can be ignored with `"ignore"`. The `show` function can be used to view open edges and disconnected parts. In the following example we generate such an open mesh directly from `Triangle` objects.
+
+```{code-cell} ipython3
+import magpylib as magpy
+import numpy as np
+
+top = magpy.misc.Triangle(
+    magnetization=(1000,0,0),
+    vertices= ((-1,-1,1), (1,-1,1), (0,2,1)),
+)
+bottom = magpy.misc.Triangle(
+    magnetization=(1000,0,0),
+    vertices= ((-1,-1,-1), (0,2,-1), (1,-1,-1)),
+)
+
+# create faceted prism with open edges
+prism = magpy.magnet.TriangularMesh.from_triangles(
+    magnetization=(0, 0, 1000),   # overrides triangles magnetization
+    triangles=[top, bottom],
+    check_open="ignore",        # check but ignore open mesh
+    check_disconnected="ignore",     # check but ignore disconnected mesh
+    reorient_faces="ignore",      # check but ignore non-orientable mesh
+    style_label="Open prism",
+)
+prism.style.magnetization.mode = "arrow"
+
+print("mesh status open:", prism.status_open)
+print("mesh status disconnected:", prism.status_disconnected)
+print("mesh status reoriented:", prism.status_reoriented)
+
+prism.show(
+    backend="plotly",
+    style_mesh_open_show=True,
+    style_mesh_disconnected_show=True,
+)
+```
+
+## Example - Boolean operations with Pyvista
+
+It is noteworthy that with [Pyvista](https://docs.pyvista.org/) it is possible to build complex shapes with boolean geometric operations. However, such operations often result in open and disconnected meshes that require some refinement to produce solid magnets. The following example demonstrates the problem, and how to view it with `show`.
+
+```{code-cell} ipython3
+import magpylib as magpy
+import pyvista as pv
+
+# create a complex pyvista PolyData object with a boolean operation
+sphere = pv.Sphere(radius=0.6)
+cube = pv.Cube().triangulate()
+obj = cube.boolean_difference(sphere)
+
+# use the `from_pyvista` classmethod to construct our magnet
+magnet = magpy.magnet.TriangularMesh.from_pyvista(
+    magnetization=(0, 0, 100),
+    polydata=obj,
+    check_disconnected="ignore",
+    check_open="ignore",
+    reorient_faces="ignore",
+    style_label="magnet",
+)
+
+print(f'mesh status open: {magnet.status_open}')
+print(f'mesh status disconnected: {magnet.status_disconnected}')
+print(f'mesh status reoriented: {magnet.status_reoriented}')
+
+magnet.show(
+    backend="plotly",
+    style_mesh_open_show=True,
+    style_mesh_disconnected_show=True,
+)
+```
+
+Such problems can typically be avoided by
+1. Subdivision of the initial triangulation (give Pyvista a finer mesh to work with from the start)
+2. Cleaning (merge duplicate points, remove unused points, remove degenerate faces)
+
+The following code solves these problems and produces a clean magnet.
+
+```{code-cell} ipython3
+import pyvista as pv
+import magpylib as magpy
+
+# create a complex pyvista PolyData object with a boolean operation
+sphere = pv.Sphere(radius=0.6)
+dodec = pv.Cube().triangulate().subdivide(2)
+obj = dodec.boolean_difference(sphere)
+obj = obj.clean()
+
+# use the `from_pyvista` classmethod to construct our magnet
+magnet = magpy.magnet.TriangularMesh.from_pyvista(
+    magnetization=(0, 0, 100),
+    polydata=obj,
+    style_label="magnet",
+)
+
+print(f'mesh status open: {magnet.status_open}')
+print(f'mesh status disconnected: {magnet.status_disconnected}')
+print(f'mesh status reoriented: {magnet.status_reoriented}')
+
+magnet.show(backend="plotly")
+```
\ No newline at end of file
diff --git a/docs/examples/examples_13_3d_models.md b/docs/examples/examples_13_3d_models.md
index dcced61e8..ff48dde15 100644
--- a/docs/examples/examples_13_3d_models.md
+++ b/docs/examples/examples_13_3d_models.md
@@ -158,7 +158,7 @@ trace_trisurf = {
     'constructor': 'plot_trisurf',
     'args': (xs,ys,zs),
     'kwargs': {
-        'triangles': tri.triangles,
+        'faces': tri.faces,
         'cmap': plt.cm.coolwarm,
     },
 }
diff --git a/docs/examples/examples_30_coil_field_lines.md b/docs/examples/examples_30_coil_field_lines.md
index 48e048b91..91b25e6f8 100644
--- a/docs/examples/examples_30_coil_field_lines.md
+++ b/docs/examples/examples_30_coil_field_lines.md
@@ -4,9 +4,9 @@ jupytext:
     extension: .md
     format_name: myst
     format_version: 0.13
-    jupytext_version: 1.13.7
+    jupytext_version: 1.14.0
 kernelspec:
-  display_name: Python 3 (ipykernel)
+  display_name: Python 3
   language: python
   name: python3
 ---
@@ -137,7 +137,7 @@ for z in np.linspace(-8, 8, 16):
     coil1.add(winding)
 
 grid = pv.UniformGrid(
-    dims=(41, 41, 41),
+    dimensions=(41, 41, 41),
     spacing=(2, 2, 2),
     origin=(-40, -40, -40),
 )
diff --git a/docs/index.md b/docs/index.md
index 86bbc95ec..5ba71cbae 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -5,10 +5,10 @@
 
 # What is Magpylib ?
 
-Magpylib is a Python package for calculating **3D static magnetic fields** of permanent magnets, currents and other sources. The computation is based on analytical expressions and therefore **extremely fast**. A **user friendly API** combined with **graphic output** enables convenient positioning of sources and observers.
+Magpylib is a Python package for calculating **3D static magnetic fields** of permanent magnets, currents and other sources. The computation is based on analytical expressions and therefore **extremely fast**. A **user friendly API** combined with **graphic output** enables convenient positioning of sources and observers relative to each other.
 
 ```{image} _static/images/index/source_fundamentals.png
-:alt: source fundamentals
+:alt: sketch of magpylib basic functionality
 :align: center
 ```
 
@@ -16,7 +16,7 @@ Magpylib is a Python package for calculating **3D static magnetic fields** of pe
 
 # Quickstart
 
-Magpylib is on PyPI and conda-forge. **Install using pip** (`pip install magpylib`) or **conda** (`conda install magpylib`) package managers.
+Magpylib is on PyPI and conda-forge. **Install using pip** (`pip install magpylib`) or **conda** (`conda install -c conda-forge magpylib`) package managers.
 
 The following **Example code** outlines the core functionality:
 
@@ -56,6 +56,7 @@ examples/examples_03_collections.md
 examples/examples_21_compound.md
 examples/examples_01_complex_forms.md
 examples/examples_06_triangle.md
+examples/examples_07_triangularmesh.md
 examples/examples_04_custom_source.md
 ```
 
diff --git a/docs/requirements.txt b/docs/requirements.txt
index e625e68bf..d41437c14 100644
--- a/docs/requirements.txt
+++ b/docs/requirements.txt
@@ -10,3 +10,4 @@ jupytext
 numpy-stl
 pyvista
 panel
+sphinx-favicon
diff --git a/magpylib/_src/defaults/defaults_classes.py b/magpylib/_src/defaults/defaults_classes.py
index 478d77901..193874e09 100644
--- a/magpylib/_src/defaults/defaults_classes.py
+++ b/magpylib/_src/defaults/defaults_classes.py
@@ -107,11 +107,19 @@ def colorsequence(self):
 
     @colorsequence.setter
     def colorsequence(self, val):
-        assert val is None or all(color_validator(c, allow_None=False) for c in val), (
-            f"the `colorsequence` property of {type(self).__name__} must be one an iterable of"
-            f"color sequences"
-            f" but received {repr(val)} instead"
-        )
+        if val is not None:
+            name = type(self).__name__
+            try:
+                val = tuple(
+                    color_validator(c, allow_None=False, parent_name=f"{name}")
+                    for c in val
+                )
+            except TypeError as err:
+                raise ValueError(
+                    f"The `colorsequence` property of {name} must be an "
+                    f"iterable of colors but received {val!r} instead"
+                ) from err
+
         self._colorsequence = val
 
     @property
diff --git a/magpylib/_src/defaults/defaults_utility.py b/magpylib/_src/defaults/defaults_utility.py
index b49a184d3..9e95c24f6 100644
--- a/magpylib/_src/defaults/defaults_utility.py
+++ b/magpylib/_src/defaults/defaults_utility.py
@@ -1,10 +1,10 @@
 """utilities for creating property classes"""
 import collections.abc
 from copy import deepcopy
+from functools import lru_cache
 
 from magpylib._src.defaults.defaults_values import DEFAULTS
 
-
 SUPPORTED_PLOTTING_BACKENDS = ("matplotlib", "plotly", "pyvista")
 
 
@@ -188,6 +188,7 @@ def linearize_dict(kwargs, separator=".") -> dict:
     return dict_
 
 
+@lru_cache(maxsize=1000)
 def color_validator(color_input, allow_None=True, parent_name=""):
     """validates color inputs based on chosen `backend', allows `None` by default.
 
@@ -232,7 +233,6 @@ def color_validator(color_input, allow_None=True, parent_name=""):
             pass
 
         if isinstance(color_input, (tuple, list)):
-
             if len(color_input) == 4:  # do not allow opacity values for now
                 color_input = color_input[:-1]
             if len(color_input) != 3:
diff --git a/magpylib/_src/defaults/defaults_values.py b/magpylib/_src/defaults/defaults_values.py
index c123efca7..69f55c48a 100644
--- a/magpylib/_src/defaults/defaults_values.py
+++ b/magpylib/_src/defaults/defaults_values.py
@@ -97,6 +97,40 @@
                     "symbol": "arrow3d",
                 },
             },
+            "triangularmesh": {
+                "orientation": {
+                    "show": False,
+                    "size": 1,
+                    "color": "grey",
+                    "offset": 0.9,
+                    "symbol": "arrow3d",
+                },
+                "mesh": {
+                    "grid": {
+                        "show": False,
+                        "line": {"width": 2, "style": "solid", "color": "black"},
+                        "marker": {"size": 1, "symbol": "o", "color": "black"},
+                    },
+                    "open": {
+                        "show": False,
+                        "line": {"width": 2, "style": "solid", "color": "cyan"},
+                        "marker": {"size": 1, "symbol": "o", "color": "black"},
+                    },
+                    "disconnected": {
+                        "show": False,
+                        "line": {"width": 2, "style": "solid", "color": "black"},
+                        "marker": {"size": 5, "symbol": "o", "color": "black"},
+                        "colorsequence": (
+                            "red",
+                            "blue",
+                            "green",
+                            "cyan",
+                            "magenta",
+                            "yellow",
+                        ),
+                    },
+                },
+            },
             "markers": {"marker": {"size": 2, "color": "grey", "symbol": "x"}},
         },
     },
diff --git a/magpylib/_src/display/backend_matplotlib.py b/magpylib/_src/display/backend_matplotlib.py
index 5f3b8dbce..a05d3fdf5 100644
--- a/magpylib/_src/display/backend_matplotlib.py
+++ b/magpylib/_src/display/backend_matplotlib.py
@@ -101,7 +101,7 @@ def process_extra_trace(model):
         "kwargs": model_kwargs,
         "args": model_args,
     }
-    kwargs, args, = place_and_orient_model3d(
+    kwargs, args = place_and_orient_model3d(
         model_kwargs=model_kwargs,
         model_args=model_args,
         orientation=model["orientation"],
@@ -126,7 +126,6 @@ def display_matplotlib(
     return_animation=False,
     **kwargs,
 ):
-
     """Display objects and paths graphically using the matplotlib library."""
     data = get_frames(
         objs=obj_list,
diff --git a/magpylib/_src/display/backend_plotly.py b/magpylib/_src/display/backend_plotly.py
index 917095c95..48683417d 100644
--- a/magpylib/_src/display/backend_plotly.py
+++ b/magpylib/_src/display/backend_plotly.py
@@ -205,7 +205,6 @@ def display_plotly(
     update_layout=True,
     **kwargs,
 ):
-
     """Display objects and paths graphically using the plotly library."""
 
     fig = canvas
diff --git a/magpylib/_src/display/backend_pyvista.py b/magpylib/_src/display/backend_pyvista.py
index b024931a5..e0afdbc8c 100644
--- a/magpylib/_src/display/backend_pyvista.py
+++ b/magpylib/_src/display/backend_pyvista.py
@@ -114,7 +114,6 @@ def display_pyvista(
     jupyter_backend=None,
     **kwargs,
 ):
-
     """Display objects and paths graphically using the pyvista library."""
 
     if animation is not False:
diff --git a/magpylib/_src/display/display.py b/magpylib/_src/display/display.py
index 0991c65ce..7075d8ddc 100644
--- a/magpylib/_src/display/display.py
+++ b/magpylib/_src/display/display.py
@@ -54,7 +54,7 @@ def show(
         - with plotly: `plotly.graph_objects.Figure` or `plotly.graph_objects.FigureWidget`.
         By default a new canvas is created and immediately displayed.
 
-    canvas: bool, default=False
+    return_fig: bool, default=False
         If True, the function call returns the figure object.
         - with matplotlib: `matplotlib.figure.Figure`.
         - with plotly: `plotly.graph_objects.Figure` or `plotly.graph_objects.FigureWidget`.
diff --git a/magpylib/_src/display/traces_base.py b/magpylib/_src/display/traces_base.py
index f9a960453..975f03438 100644
--- a/magpylib/_src/display/traces_base.py
+++ b/magpylib/_src/display/traces_base.py
@@ -612,7 +612,7 @@ def make_Tetrahedron(
 def make_TriangularMesh(
     backend="generic",
     vertices=None,
-    triangles=None,
+    faces=None,
     position=None,
     orientation=None,
     show=True,
@@ -632,7 +632,7 @@ def make_TriangularMesh(
         Vertices (x1,y1,z1), (x2,y2,z2), (x3,y3,z3), (x4,y4,z4), in the relative
         coordinate system of the triangular mesh.
 
-    triangles: ndarray, shape (4,3)
+    faces: ndarray, shape (4,3)
         For each triangle, the indices of the three points that make up the triangle, ordered in an
         anticlockwise manner. If not specified, a `scipy.spatial.ConvexHull` triangulation is
         calculated.
@@ -662,10 +662,10 @@ def make_TriangularMesh(
     """
     vertices = np.array(vertices)
     x, y, z = vertices.T
-    if triangles is None:
+    if faces is None:
         hull = ConvexHull(vertices)
-        triangles = hull.simplices
-    i, j, k = np.array(triangles).T
+        faces = hull.simplices
+    i, j, k = np.array(faces).T
     trace = {"x": x, "y": y, "z": z, "i": i, "j": j, "k": k}
     trace = place_and_orient_model3d(trace, orientation=orientation, position=position)
     return get_model(trace, backend=backend, show=show, scale=scale, kwargs=kwargs)
diff --git a/magpylib/_src/display/traces_generic.py b/magpylib/_src/display/traces_generic.py
index cf25a5147..a103ad1e5 100644
--- a/magpylib/_src/display/traces_generic.py
+++ b/magpylib/_src/display/traces_generic.py
@@ -1,13 +1,17 @@
 """Generic trace drawing functionalities"""
 # pylint: disable=C0302
 # pylint: disable=too-many-branches
+# pylint: disable=too-many-nested-blocks
 # pylint: disable=cyclic-import
+# pylint: disable=too-many-statements
 import numbers
 import warnings
 from itertools import combinations
+from itertools import cycle
 from typing import Tuple
 
 import numpy as np
+from scipy.spatial import distance
 from scipy.spatial.transform import Rotation as RotScipy
 
 import magpylib as magpy
@@ -41,8 +45,8 @@
 from magpylib._src.display.traces_utility import place_and_orient_model3d
 from magpylib._src.display.traces_utility import triangles_area
 from magpylib._src.input_checks import check_excitations
+from magpylib._src.style import DefaultMarkers
 from magpylib._src.style import get_style
-from magpylib._src.style import Markers
 from magpylib._src.utility import format_obj_input
 from magpylib._src.utility import unit_prefix
 
@@ -51,7 +55,7 @@ class MagpyMarkers:
     """A class that stores markers 3D-coordinates."""
 
     def __init__(self, *markers):
-        self.style = Markers()
+        self.style = DefaultMarkers()
         self.markers = np.array(markers)
 
     def _draw_func(self, color=None, style=None, **kwargs):
@@ -239,6 +243,86 @@ def make_Dipole(
     )
 
 
+def make_mesh_lines(
+    obj,
+    pos_orient_inds,
+    mode,
+    label=None,
+    style=None,
+    color=None,  # pylint: disable=unused-argument
+    **kwargs,
+):
+    """Draw open or self-intersecting mesh lines and vertices"""
+    # pylint: disable=protected-access
+    style = obj.style if style is None else style
+    mesh = getattr(style.mesh, mode)
+    marker, line = mesh.marker, mesh.line
+    tr, vert = obj.faces, obj.vertices
+    if mode == "disconnected":
+        subsets = obj.get_faces_subsets()
+        lines = get_closest_vertices(subsets, vert)
+    else:
+        edges = np.concatenate([tr[:, 0:2], tr[:, 1:3], tr[:, ::2]], axis=0)
+        # make sure unique pairs are found regardless of order
+        edges = np.sort(edges, axis=1)
+        edges_uniq, edges_counts = np.unique(edges, axis=0, return_counts=True)
+        if mode == "open":
+            lines = vert[edges_uniq[edges_counts != 2]]
+        else:
+            lines = vert[edges_uniq]
+
+    out = {}
+    if lines.size != 0:
+        label = f"{obj}" if label is None else label
+        lines = np.insert(lines, 2, None, axis=1).reshape(-1, 3)
+        traces = []
+        for ind in pos_orient_inds:
+            x, y, z = (obj._orientation[ind].apply(lines) + obj._position[ind]).T
+            trace = {
+                "type": "scatter3d",
+                "x": x,
+                "y": y,
+                "z": z,
+                "marker_color": marker.color,
+                "marker_size": marker.size,
+                "marker_symbol": marker.symbol,
+                "line_color": line.color,
+                "line_width": line.width,
+                "line_dash": line.style,
+                "legendgroup": f"{obj}{mode}edges",
+                "name": f"{label} - {mode}-edges",
+            }
+            traces.append(trace)
+        out = {**merge_traces(*traces), **kwargs}
+    return out
+
+
+def get_closest_vertices(faces_subsets, vertices):
+    """Get closest pairs of points between disconnected subsets of faces indices"""
+    nparts = len(faces_subsets)
+    inds_subsets = [np.unique(v) for v in faces_subsets]
+    closest_verts_list = []
+    if nparts > 1:
+        connected = [np.min(inds_subsets[0])]
+        while len(connected) < nparts:
+            prev_min = float("inf")
+            for i in connected:
+                for j in range(nparts):
+                    if j not in connected:
+                        tr1, tr2 = inds_subsets[i], inds_subsets[j]
+                        c1, c2 = vertices[tr1], vertices[tr2]
+                        dist = distance.cdist(c1, c2)
+                        i1, i2 = divmod(dist.argmin(), dist.shape[1])
+                        min_dist = dist[i1, i2]
+                        if min_dist < prev_min:
+                            prev_min = min_dist
+                            closest_verts = [c1[i1], c2[i2]]
+                            connected_ind = j
+            connected.append(connected_ind)
+            closest_verts_list.append(closest_verts)
+    return np.array(closest_verts_list)
+
+
 def make_triangle_orientations(
     obj,
     pos_orient_inds,
@@ -259,38 +343,39 @@ def make_triangle_orientations(
     size = size if style.orientation.size is None else style.orientation.size
     offset = offset if style.orientation.offset is None else style.orientation.offset
     symbol = symbol if style.orientation.symbol is None else style.orientation.symbol
-    vert = obj.vertices
-    vec = np.cross(vert[1] - vert[0], vert[2] - vert[1])
-    nvec = vec / np.linalg.norm(vec)
-    # arrow length proportional to square root of triangle
-    length = np.sqrt(triangles_area(np.expand_dims(vert, axis=0))[0]) * 0.2
-    zaxis = np.array([0, 0, 1])
-    cross = np.cross(nvec, zaxis)
-    n = np.linalg.norm(cross)
-    if n == 0:
-        n = 1
-        cross = np.array([-np.sign(nvec[-1]), 0, 0])
-    dot = np.dot(nvec, zaxis)
-    t = np.arccos(dot)
-    vec = -t * cross / n
-    orient = RotScipy.from_rotvec(vec)
+    vertices = obj.mesh if hasattr(obj, "mesh") else [obj.vertices]
     traces = []
-    make_fn = make_BasePyramid if symbol == "cone" else make_BaseArrow
-    vmean = np.mean(vert, axis=0)
-    vmean -= (1 - offset) * length * nvec * size
-    for ind in pos_orient_inds:
-        tr = make_fn(
-            "plotly-dict",
-            base=10,
-            diameter=0.5 * size * length,
-            height=size * length,
-            pivot="tail",
-            color=color,
-            position=obj._orientation[ind].apply(vmean) + obj._position[ind],
-            orientation=obj._orientation[ind] * orient,
-            **kwargs,
-        )
-        traces.append(tr)
+    for vert in vertices:
+        vec = np.cross(vert[1] - vert[0], vert[2] - vert[1])
+        nvec = vec / np.linalg.norm(vec)
+        # arrow length proportional to square root of triangle
+        length = np.sqrt(triangles_area(np.expand_dims(vert, axis=0))[0]) * 0.2
+        zaxis = np.array([0, 0, 1])
+        cross = np.cross(nvec, zaxis)
+        n = np.linalg.norm(cross)
+        if n == 0:
+            n = 1
+            cross = np.array([-np.sign(nvec[-1]), 0, 0])
+        dot = np.dot(nvec, zaxis)
+        t = np.arccos(dot)
+        vec = -t * cross / n
+        orient = RotScipy.from_rotvec(vec)
+        make_fn = make_BasePyramid if symbol == "cone" else make_BaseArrow
+        vmean = np.mean(vert, axis=0)
+        vmean -= (1 - offset) * length * nvec * size
+        for ind in pos_orient_inds:
+            tr = make_fn(
+                "plotly-dict",
+                base=10,
+                diameter=0.5 * size * length,
+                height=size * length,
+                pivot="tail",
+                color=color,
+                position=obj._orientation[ind].apply(vmean) + obj._position[ind],
+                orientation=obj._orientation[ind] * orient,
+                **kwargs,
+            )
+            traces.append(tr)
     trace = merge_mesh3d(*traces)
     return trace
 
@@ -445,13 +530,13 @@ def make_Triangle(
     """
     vert = obj.vertices
     vec = np.cross(vert[1] - vert[0], vert[2] - vert[1])
-    triangles = np.array([[0, 1, 2]])
+    faces = np.array([[0, 1, 2]])
     # if magnetization is normal to the triangle, add a second triangle slightly above to enable
     # proper color gradient visualization. Otherwise only the middle color is shown.
     if np.all(np.cross(obj.magnetization, vec) == 0):
         epsilon = 1e-3 * vec
         vert = np.concatenate([vert - epsilon, vert + epsilon])
-        side_triangles = [
+        side_faces = [
             [0, 1, 3],
             [1, 2, 4],
             [2, 0, 5],
@@ -459,11 +544,11 @@ def make_Triangle(
             [2, 5, 4],
             [0, 3, 5],
         ]
-        triangles = np.concatenate([triangles, [[3, 4, 5]], side_triangles])
+        faces = np.concatenate([faces, [[3, 4, 5]], side_faces])
 
     style = obj.style if style is None else style
     trace = make_BaseTriangularMesh(
-        "plotly-dict", vertices=vert, triangles=triangles, color=color
+        "plotly-dict", vertices=vert, faces=faces, color=color
     )
     update_trace_name(trace, obj.__class__.__name__, "", style)
     update_magnet_mesh(
@@ -474,6 +559,35 @@ def make_Triangle(
     )
 
 
+def make_TriangularMesh(
+    obj,
+    position=(0.0, 0.0, 0.0),
+    orientation=None,
+    color=None,
+    style=None,
+    **kwargs,
+) -> dict:
+    """
+    Creates the plotly mesh3d parameters for a Trianglular facet mesh in a dictionary based on the
+    provided arguments.
+    """
+    style = obj.style if style is None else style
+    trace = make_BaseTriangularMesh(
+        "plotly-dict", vertices=obj.vertices, faces=obj.faces, color=color
+    )
+    ntri = len(obj.faces)
+    default_suffix = f" ({ntri} face{'s'[:ntri^1]})"
+    update_trace_name(trace, obj.__class__.__name__, default_suffix, style)
+    update_magnet_mesh(
+        trace, mag_style=style.magnetization, magnetization=obj.magnetization
+    )
+    # make edges sharper in plotly
+    trace.update(flatshading=True, lighting_facenormalsepsilon=0, lighting_ambient=0.7)
+    return place_and_orient_model3d(
+        trace, orientation=orientation, position=position, **kwargs
+    )
+
+
 def make_Pixels(positions, size=1) -> dict:
     """
     Create the plotly mesh3d parameters for Sensor pixels based on pixel positions and chosen size
@@ -507,7 +621,7 @@ def make_Sensor(
     style = obj.style if style is None else style
     dimension = getattr(obj, "dimension", style.size)
     pixel = obj.pixel
-    pixel = np.array(pixel).reshape((-1, 3))
+    pixel = np.unique(np.array(pixel).reshape((-1, 3)), axis=0)
     style_arrows = style.arrows.as_dict(flatten=True, separator="_")
     sensor = get_sensor_mesh(**style_arrows, center_color=color)
     vertices = np.array([sensor[k] for k in "xyz"]).T
@@ -517,11 +631,15 @@ def make_Sensor(
         [dimension] * 3 if isinstance(dimension, (float, int)) else dimension[:3],
         dtype=float,
     )
+    no_pix = pixel.shape[0] == 1 and (pixel == 0).all()
+    one_pix = pixel.shape[0] == 1 and not (pixel == 0).all()
     if autosize is not None:
         dim *= autosize
-    if pixel.shape[0] == 1:
+    if no_pix:
         dim_ext = dim
     else:
+        if one_pix:
+            pixel = np.concatenate([[[0, 0, 0]], pixel])
         hull_dim = pixel.max(axis=0) - pixel.min(axis=0)
         dim_ext = max(np.mean(dim), np.min(hull_dim))
     cube_mask = (vertices < 1).all(axis=1)
@@ -531,16 +649,18 @@ def make_Sensor(
     x, y, z = vertices.T
     sensor.update(x=x, y=y, z=z)
     meshes_to_merge = [sensor]
-    if pixel.shape[0] != 1:
+    if not no_pix:
         pixel_color = style.pixel.color
         pixel_size = style.pixel.size
         combs = np.array(list(combinations(pixel, 2)))
         vecs = np.diff(combs, axis=1)
         dists = np.linalg.norm(vecs, axis=2)
-        pixel_dim = np.min(dists) / 2
+        min_dist = np.min(dists)
+        pixel_dim = dim_ext / 5 if min_dist == 0 else min_dist / 2
         if pixel_size > 0:
             pixel_dim *= pixel_size
-            pixels_mesh = make_Pixels(positions=pixel, size=pixel_dim)
+            poss = pixel[1:] if one_pix else pixel
+            pixels_mesh = make_Pixels(positions=poss, size=pixel_dim)
             pixels_mesh["facecolor"] = np.repeat(pixel_color, len(pixels_mesh["i"]))
             meshes_to_merge.append(pixels_mesh)
         hull_pos = 0.5 * (pixel.max(axis=0) + pixel.min(axis=0))
@@ -552,8 +672,10 @@ def make_Sensor(
         meshes_to_merge.append(hull_mesh)
     trace = merge_mesh3d(*meshes_to_merge)
     default_suffix = (
-        f""" ({'x'.join(str(p) for p in pixel.shape[:-1])} pixels)"""
-        if pixel.ndim != 1
+        f" ({'x'.join(str(p) for p in obj.pixel.shape[:-1])} pixels)"
+        if obj.pixel.ndim != 1
+        else f" ({pixel[1:].shape[0]} pixel)"
+        if one_pix
         else ""
     )
     update_trace_name(trace, "Sensor", default_suffix, style)
@@ -618,6 +740,8 @@ def make_mag_arrows(obj, pos_orient_inds, style, legendgroup, kwargs):
         length = obj.diameter  # Sphere
     elif isinstance(obj, magpy.misc.Triangle):
         length = np.amax(obj.vertices) - np.amin(obj.vertices)
+    elif hasattr(obj, "mesh"):
+        length = np.amax(np.ptp(obj.mesh.reshape(-1, 3), axis=0))
     elif hasattr(obj, "vertices"):
         length = np.amax(np.ptp(obj.vertices, axis=0))
     else:  # Cuboid, Cylinder, CylinderSegment
@@ -714,6 +838,7 @@ def get_generic_traces(
     # pylint: disable=import-outside-toplevel
 
     from magpylib._src.obj_classes.class_misc_Triangle import Triangle
+    from magpylib._src.obj_classes.class_magnet_TriangularMesh import TriangularMesh
 
     # parse kwargs into style and non style args
     style = get_style(input_obj, Config, **kwargs)
@@ -762,11 +887,52 @@ def get_generic_traces(
     orientations, positions, pos_orient_inds = get_rot_pos_from_path(
         input_obj, style.path.frames
     )
+    obj_is_disconnected = False
+    if isinstance(input_obj, TriangularMesh):
+        for mode in ("open", "disconnected"):
+            show_mesh = getattr(style.mesh, mode).show
+            if mode == "open" and show_mesh:
+                if input_obj.status_open is None:
+                    warnings.warn(
+                        f"Unchecked open mesh status in {input_obj!r} detected, before attempting "
+                        "to show potential open edges, which may take a while to compute "
+                        "when the mesh has many faces, now applying operation..."
+                    )
+                    input_obj.check_open()
+            elif mode == "disconnected" and show_mesh:
+                if input_obj.status_disconnected is None:
+                    warnings.warn(
+                        f"Unchecked disconnected mesh status in {input_obj!r} detected, before "
+                        "attempting to show possible disconnected parts, which may take a while "
+                        "to compute when the mesh has many faces, now applying operation..."
+                    )
+                obj_is_disconnected = input_obj.check_disconnected()
+    disconnected_traces = []
     for pos_orient_enum, (orient, pos) in enumerate(zip(orientations, positions)):
         if style.model3d.showdefault and make_func is not None:
-            path_traces.append(
-                make_func(position=pos, orientation=orient, **make_func_kwargs)
-            )
+            if obj_is_disconnected:
+                tria_orig = input_obj._faces
+                mag_show = style.magnetization.show
+                for tri, dis_color in zip(
+                    input_obj.get_faces_subsets(),
+                    cycle(style.mesh.disconnected.colorsequence),
+                ):
+                    # temporary mutate faces from subset
+                    input_obj._faces = tri
+                    style.magnetization.show = False
+                    disconnected_traces.append(
+                        make_func(
+                            position=pos,
+                            orientation=orient,
+                            **{**make_func_kwargs, "color": dis_color},
+                        )
+                    )
+                input_obj._faces = tria_orig
+                style.magnetization.show = mag_show
+            else:
+                path_traces.append(
+                    make_func(position=pos, orientation=orient, **make_func_kwargs)
+                )
         for extr in extra_model3d_traces:
             if extr.show:
                 extr.update(extr.updatefunc())
@@ -848,6 +1014,20 @@ def get_generic_traces(
             trace["name"] = legendtext
         traces.append(trace)
 
+    if disconnected_traces:
+        nsubsets = len(input_obj.get_faces_subsets())
+        for ind in range(nsubsets):
+            trace = merge_traces(*disconnected_traces[ind::nsubsets])
+            trace.update(
+                {
+                    "legendgroup": f"{legendgroup} - part_{ind+1:02d}",
+                    "showlegend": True if showlegend is None else showlegend,
+                }
+            )
+            lg = trace.get("name", "") if legendtext is None else legendtext
+            trace["name"] = f"{lg} - part_{ind+1:02d}"
+            traces.append(trace)
+
     if np.array(input_obj.position).ndim > 1 and style.path.show:
         scatter_path = make_path(input_obj, style, legendgroup, kwargs)
         traces.append(scatter_path)
@@ -856,13 +1036,20 @@ def get_generic_traces(
         traces.append(
             make_mag_arrows(input_obj, pos_orient_inds, style, legendgroup, kwargs)
         )
-    if isinstance(input_obj, Triangle) and style.orientation.show:
+    if isinstance(input_obj, (Triangle, TriangularMesh)) and style.orientation.show:
         traces.append(
             make_triangle_orientations(
                 input_obj, pos_orient_inds, legendgroup=legendgroup, **kwargs
             )
         )
-
+    if isinstance(input_obj, TriangularMesh):
+        for mode in ("grid", "open", "disconnected"):
+            if getattr(style.mesh, mode).show:
+                trace = make_mesh_lines(
+                    input_obj, pos_orient_inds, mode, label, **kwargs
+                )
+                if trace:
+                    traces.append(trace)
     out = (traces,)
     if extra_backend is not False:
         out += (path_traces_extra_specific_backend,)
diff --git a/magpylib/_src/display/traces_utility.py b/magpylib/_src/display/traces_utility.py
index e7a9a7aa1..74fc4466b 100644
--- a/magpylib/_src/display/traces_utility.py
+++ b/magpylib/_src/display/traces_utility.py
@@ -377,13 +377,15 @@ def get_scene_ranges(*traces, zoom=1) -> np.ndarray:
     if traces:
         ranges = {k: [] for k in "xyz"}
         for t in traces:
-            for k, v in ranges.items():
-                v.extend(
-                    [
-                        np.nanmin(np.array(t[k], dtype=float)),
-                        np.nanmax(np.array(t[k], dtype=float)),
-                    ]
-                )
+            for ijk, (k, v) in zip("ijk", ranges.items()):
+                # for mesh3, use only vertices part of faces for range calculation
+                inds = t.get(ijk, None)
+                if inds is None:
+                    inds = slice(None, None)
+                else:
+                    inds = np.array(inds, dtype=int)
+                coords = np.array(t[k], dtype=float)
+                v.extend([np.nanmin(coords[inds]), np.nanmax(coords[inds])])
         r = np.array([[np.nanmin(v), np.nanmax(v)] for v in ranges.values()])
         size = np.diff(r, axis=1)
         size[size == 0] = 1
diff --git a/magpylib/_src/fields/field_BH_triangularmesh.py b/magpylib/_src/fields/field_BH_triangularmesh.py
new file mode 100644
index 000000000..e0a546470
--- /dev/null
+++ b/magpylib/_src/fields/field_BH_triangularmesh.py
@@ -0,0 +1,499 @@
+"""
+Implementations of analytical expressions for the magnetic field of a triangular surface.
+Computation details in function docstrings.
+"""
+# pylint: disable=too-many-nested-blocks
+# pylance: disable=Code is unreachable
+import numpy as np
+
+from magpylib._src.fields.field_BH_triangle import triangle_field
+
+
+def calculate_centroid(vertices, faces):
+    """
+    Calculates the centroid of a 3D triangular surface mesh.
+
+    Parameters:
+    vertices (numpy.array): an n x 3 array of vertices
+    faces (numpy.array): an m x 3 array of triangle indices
+
+    Returns:
+    numpy.array: The centroid of the mesh
+    """
+
+    # Calculate the centroids of each triangle
+    triangle_centroids = np.mean(vertices[faces], axis=1)
+
+    # Compute the area of each triangle
+    triangle_areas = 0.5 * np.linalg.norm(
+        np.cross(
+            vertices[faces[:, 1]] - vertices[faces[:, 0]],
+            vertices[faces[:, 2]] - vertices[faces[:, 0]],
+        ),
+        axis=1,
+    )
+
+    # Calculate the centroid of the entire mesh
+    mesh_centroid = np.sum(triangle_centroids.T * triangle_areas, axis=1) / np.sum(
+        triangle_areas
+    )
+
+    return mesh_centroid
+
+
+def v_norm2(a: np.ndarray) -> np.ndarray:
+    """
+    return |a|**2
+    """
+    a = a * a
+    return a[..., 0] + a[..., 1] + a[..., 2]
+
+
+def v_norm_proj(a: np.ndarray, b: np.ndarray) -> np.ndarray:
+    """
+    return a_dot_b/|a||b|
+    assuming that |a|, |b| > 0
+    """
+    ab = a * b
+    ab = ab[..., 0] + ab[..., 1] + ab[..., 2]
+
+    return ab / np.sqrt(v_norm2(a) * v_norm2(b))
+
+
+def v_cross(a: np.ndarray, b: np.ndarray) -> np.ndarray:
+    """
+    a x b
+    """
+    result = np.array(
+        (
+            a[:, 1] * b[:, 2] - a[:, 2] * b[:, 1],
+            a[:, 2] * b[:, 0] - a[:, 0] * b[:, 2],
+            a[:, 0] * b[:, 1] - a[:, 1] * b[:, 0],
+        )
+    ).T
+    return result
+
+
+def v_dot_cross3d(a: np.ndarray, b: np.ndarray, c: np.ndarray) -> np.ndarray:
+    """
+    a x b * c
+    """
+    result = (
+        (a[..., 1] * b[..., 2] - a[..., 2] * b[..., 1]) * c[..., 0]
+        + (a[..., 2] * b[..., 0] - a[..., 0] * b[..., 2]) * c[..., 1]
+        + (a[..., 0] * b[..., 1] - a[..., 1] * b[..., 0]) * c[..., 2]
+    )
+    return result
+
+
+def get_disconnected_faces_subsets(faces: list) -> list:
+    """Return a list of disconnected faces sets"""
+    subsets_inds = []
+    tria_temp = faces.copy()
+    while len(tria_temp) > 0:
+        first, *rest = tria_temp
+        first = set(first)
+        lf = -1
+        while len(first) > lf:
+            lf = len(first)
+            rest2 = []
+            for r in rest:
+                if len(first.intersection(set(r))) > 0:
+                    first |= set(r)
+                else:
+                    rest2.append(r)
+            rest = rest2
+        subsets_inds.append(list(first))
+        tria_temp = rest
+    subsets = [faces[np.isin(faces, list(ps)).all(axis=1)] for ps in subsets_inds]
+    return subsets
+
+
+def get_open_edges(faces: np.ndarray) -> bool:
+    """
+    Check if given trimesh forms a closed surface.
+
+    Input: faces: np.ndarray, shape (n,3), dtype int
+        triples of indices
+
+    Output: open edges
+    """
+    edges = np.concatenate([faces[:, 0:2], faces[:, 1:3], faces[:, ::2]], axis=0)
+
+    # unique edge pairs and counts how many
+    edges = np.sort(edges, axis=1)
+    edges_uniq, edge_counts = np.unique(edges, axis=0, return_counts=True)
+
+    # mesh is closed if each edge exists twice
+    return edges_uniq[edge_counts != 2]
+
+
+def fix_trimesh_orientation(vertices: np.ndarray, faces: np.ndarray) -> np.ndarray:
+    """Check if all faces are oriented outwards. Fix the ones that are not, and return an
+    array of properly oriented faces.
+
+    Parameters
+    ----------
+    vertices: np.ndarray, shape (n,3)
+        Vertices of the mesh
+
+    faces: np.ndarray, shape (n,3), dtype int
+        Triples of indices
+
+    Returns
+    -------
+    faces: np.ndarray, shape (n,3), dtype int, or faces and 1D array of triples
+        Fixed faces
+    """
+    # use first triangle as a seed, this one needs to be oriented via inside check
+    # compute facet orientation (normalized)
+    inwards_mask = get_inwards_mask(vertices, faces)
+    new_faces = faces.copy()
+    new_faces[inwards_mask] = new_faces[inwards_mask][:, [0, 2, 1]]
+    return new_faces
+
+
+def is_facet_inwards(face, faces):
+    """Return boolean whether facet is pointing inwards, via ray tracing"""
+    v1 = face[0] - face[1]
+    v2 = face[1] - face[2]
+    orient = np.cross(v1, v2)
+    orient /= np.linalg.norm(orient)  # for single facet numpy is fine
+
+    # create a check point by displacing the facet center in facet orientation direction
+    eps = 1e-6  # unfortunately this must be quite a 'large' number :(
+    check_point = face.mean(axis=0) + orient * eps
+
+    # find out if first point is inwards
+    return mask_inside_trimesh(np.array([check_point]), faces)[0]
+
+
+def get_inwards_mask(
+    vertices: np.ndarray,
+    triangles: np.ndarray,
+) -> np.ndarray:
+    """Return a boolean mask of normals from triangles.
+    True -> Inwards, False -> Outwards.
+    This function does not check if mesh is open, and if it is, it may deliver
+    inconsistent results silently.
+
+    Parameters
+    ----------
+    vertices: np.ndarray, shape (n,3)
+        Vertices of the mesh
+
+    triangles: np.ndarray, shape (n,3), dtype int
+        Triples of indices
+
+    Returns
+    -------
+    boolean mask : ndarray, shape (n,), dtype bool
+        Boolean mask of inwards orientations from provided triangles
+    """
+
+    msh = vertices[triangles]
+    mask = np.full(len(triangles), False)
+    indices = list(range(len(triangles)))
+
+    # incrementally add triangles sharing at least a common edge by looping among left over
+    # triangles. If next triangle with common edge is reversed, flip it.
+    any_connected = False
+    while indices:
+        if not any_connected:
+            free_edges = set()
+            is_inwards = is_facet_inwards(msh[indices[0]], msh[indices])
+            mask[indices] = is_inwards
+        for tri_ind in indices:
+            tri = triangles[tri_ind]
+            edges = {(tri[0], tri[1]), (tri[1], tri[2]), (tri[2], tri[0])}
+            edges_r = {(tri[1], tri[0]), (tri[2], tri[1]), (tri[0], tri[2])}
+            common = free_edges & edges
+            flip = False
+            if not free_edges:
+                common = True
+            elif common:
+                edges = edges_r
+                flip = True
+            else:
+                common = free_edges & edges_r
+            if common:  # break loop on first common edge found
+                free_edges ^= edges
+                if flip:
+                    mask[tri_ind] = not mask[tri_ind]
+                indices.remove(tri_ind)
+                any_connected = True
+                break
+        else:
+            # if loop reaches the end and does not find any connected edge, while still
+            # having some indices to go trough -> mesh is is disconnected. A new seed is
+            # needed and needs to be checked via ray tracing before continuing.
+            any_connected = False
+    return mask
+
+
+def lines_end_in_trimesh(lines: np.ndarray, faces: np.ndarray) -> np.ndarray:
+    """
+    Check if 2-point lines, where the first point lies distinctly outside of a closed
+    triangular mesh (no touch), ends on the inside of that mesh
+
+    If line ends close to a triangle surface it counts as inside (touch).
+    If line passes through triangle edge/corners it counts as intersection.
+
+    Parameters
+    ----------
+    lines: ndarray shape (n,2,3)
+        n line segements defined through respectively 2 (first index) positions with
+        coordinates (x,y,z) (last index). The first point must lie outside of the mesh.
+
+    faces: ndarray, shape (m,3,3)
+        m faces defined through respectively 3 (first index) positions with coordinates
+        (x,y,z) (last index). The faces must define a closed mesh.
+
+    Returns
+    -------
+        np.ndarray shape (n,)
+
+    Note
+    ----
+    Part 1: plane_cross
+    Checks if start and end of lines are on the same or on different sides of the planes
+    defined by the triangular faces. On the way check if end-point touches the plane.
+
+    Part 2: pass_through
+    Makes use of Line-Triangle intersection as described in
+    https://www.iue.tuwien.ac.at/phd/ertl/node114.html
+    to check if the extended line would pass through the triangular facet
+    """
+
+    # Part 1 ---------------------------
+    normals = v_cross(faces[:, 0] - faces[:, 2], faces[:, 1] - faces[:, 2])
+    normals = np.tile(normals, (len(lines), 1, 1))
+
+    l0 = lines[:, 0][:, np.newaxis]  # outside points
+    l1 = lines[:, 1][:, np.newaxis]  # possible inside test-points
+
+    # test-point might coincide with chosen in-plane reference point (chosen faces[:,2] here).
+    # this then leads to bad projection computation
+    # --> choose other reference points (faces[:,1]) in those specific cases
+    ref_pts = np.tile(faces[:, 2], (len(lines), 1, 1))
+    eps = 1e-16  # note: norm square !
+    coincide = v_norm2(l1 - ref_pts) < eps
+    if np.any(coincide):
+        ref_pts2 = np.tile(
+            faces[:, 1], (len(lines), 1, 1)
+        )  # <--inefficient tile !!! only small part needed
+        ref_pts[coincide] = ref_pts2[coincide]
+
+    proj0 = v_norm_proj(l0 - ref_pts, normals)
+    proj1 = v_norm_proj(l1 - ref_pts, normals)
+
+    eps = 1e-7
+    # no need to check proj0 for touch because line init pts are outside
+    plane_touch = np.abs(proj1) < eps
+    # print('plane_touch:')
+    # print(plane_touch)
+
+    plane_cross = np.sign(proj0) != np.sign(proj1)
+    # print('plane_cross:')
+    # print(plane_cross)
+
+    # Part 2 ---------------------------
+    # signed areas (no 0-problem because ss0 is the outside point)
+    a = faces[:, 0] - l0
+    b = faces[:, 1] - l0
+    c = faces[:, 2] - l0
+    d = l1 - l0
+    area1 = v_dot_cross3d(a, b, d)
+    area2 = v_dot_cross3d(b, c, d)
+    area3 = v_dot_cross3d(c, a, d)
+
+    eps = 1e-12
+    pass_through_boundary = (
+        (np.abs(area1) < eps) | (np.abs(area2) < eps) | (np.abs(area3) < eps)
+    )
+    # print('pass_through_boundary:')
+    # print(pass_through_boundary)
+
+    area1 = np.sign(area1)
+    area2 = np.sign(area2)
+    area3 = np.sign(area3)
+    pass_through_inside = (area1 == area2) * (area2 == area3)
+    # print('pass_through_inside:')
+    # print(pass_through_inside)
+
+    pass_through = pass_through_boundary | pass_through_inside
+
+    # Part 3 ---------------------------
+    result_cross = pass_through * plane_cross
+    result_touch = pass_through * plane_touch
+
+    inside1 = np.sum(result_cross, axis=1) % 2 != 0
+    inside2 = np.any(result_touch, axis=1)
+
+    return inside1 | inside2
+
+
+def mask_inside_enclosing_box(points: np.ndarray, vertices: np.ndarray) -> np.ndarray:
+    """
+    Quick-check which points lie inside a bounding box of the mesh (defined by vertices).
+    Returns True when inside, False when outside bounding box.
+
+    Parameters
+    ----------
+    points, ndarray, shape (n,3)
+    vertices, ndarray, shape (m,3)
+
+    Returns
+    -------
+    ndarray, boolean, shape (n,)
+    """
+    xmin, ymin, zmin = np.min(vertices, axis=0)
+    xmax, ymax, zmax = np.max(vertices, axis=0)
+    x, y, z = points.T
+
+    eps = 1e-12
+    mx = (x < xmax + eps) & (x > xmin - eps)
+    my = (y < ymax + eps) & (y > ymin - eps)
+    mz = (z < zmax + eps) & (z > zmin - eps)
+
+    return mx & my & mz
+
+
+def mask_inside_trimesh(points: np.ndarray, faces: np.ndarray) -> np.ndarray:
+    """
+    Check which points lie inside of a closed triangular mesh (defined by faces).
+
+    Parameters
+    ----------
+    points, ndarray, shape (n,3)
+    faces, ndarray, shape (m,3,3)
+
+    Returns
+    -------
+    ndarray, shape (n,)
+
+    Note
+    ----
+    Method: ray-tracing.
+    Faces must form a closed mesh for this to work.
+    """
+    vertices = faces.reshape((-1, 3))
+
+    # test-points inside of enclosing box
+    mask_inside = mask_inside_enclosing_box(points, vertices)
+    pts_in_box = points[mask_inside]
+
+    # create test-lines from outside to test-points
+    start_point_outside = np.min(vertices, axis=0) - np.array(
+        [12.0012345, 5.9923456, 6.9932109]
+    )
+    test_lines = np.tile(start_point_outside, (len(pts_in_box), 2, 1))
+    test_lines[:, 1] = pts_in_box
+
+    # check if test-points are inside using ray tracing
+    mask_inside2 = lines_end_in_trimesh(test_lines, faces)
+
+    mask_inside[mask_inside] = mask_inside2
+
+    return mask_inside
+
+
+def magnet_trimesh_field(
+    field: str,
+    observers: np.ndarray,
+    magnetization: np.ndarray,
+    mesh: np.ndarray,
+    in_out="auto",
+) -> np.ndarray:
+    """
+    core-like function that computes the field of triangular meshes using the triangle_field
+    - closed nice meshes are assumed (input comes only from TriangularMesh class)
+
+    Parameters
+    ----------
+    field: str, default=`'B'`
+        If `field='B'` return B-field in units of [mT], if `field='H'` return H-field
+        in units of [kA/m].
+
+    observers: ndarray, shape (n,3)
+        Observer positions (x,y,z) in Cartesian coordinates in units of [mm].
+
+    magnetization: ndarray, shape (n,3)
+        Homogeneous magnetization vector in units of [mT].
+
+    mesh: ndarray, shape (n,n1,3,3) or ragged sequence
+        Triangular mesh of shape [(x1,y1,z1), (x2,y2,z2), (x3,y3,z3)].
+        `mesh` can be a ragged sequence of mesh-children with different lengths.
+
+    in_out: {'auto', 'inside', 'outside'}
+        Tells if the points are inside or outside the enclosing mesh for the correct B/H-field
+        calculation. By default `in_out='auto'` and the inside/outside mask is automatically
+        generated using a ray tracing algorigthm to determine which observers are inside and which
+        are outside the closed body. For performance reasons, one can define `in_out='outside'`
+        or `in_out='inside'` if it is known in advance that all observers satisfy the same
+        condition.
+
+    Returns
+    -------
+    B-field or H-field: ndarray, shape (n,3)
+        B/H-field of magnet in Cartesian coordinates (Bx, By, Bz) in units of [mT]/[kA/m].
+
+    Notes
+    -----
+    Field computations via publication:
+    Guptasarma: GEOPHYSICS 1999 64:1, 70-74
+    """
+    if mesh.ndim != 1:  # all vertices objects have same number of children
+        n0, n1, *_ = mesh.shape
+        vertices_tiled = mesh.reshape(-1, 3, 3)
+        observers_tiled = np.repeat(observers, n1, axis=0)
+        magnetization_tiled = np.repeat(magnetization, n1, axis=0)
+        B = triangle_field(
+            field="B",
+            observers=observers_tiled,
+            magnetization=magnetization_tiled,
+            vertices=vertices_tiled,
+        )
+        B = B.reshape((n0, n1, 3))
+        B = np.sum(B, axis=1)
+    else:
+        nvs = [f.shape[0] for f in mesh]  # length of vertex set
+        split_indices = np.cumsum(nvs)[:-1]  # remove last to avoid empty split
+        vertices_tiled = np.concatenate([f.reshape((-1, 3, 3)) for f in mesh])
+        observers_tiled = np.repeat(observers, nvs, axis=0)
+        magnetization_tiled = np.repeat(magnetization, nvs, axis=0)
+        B = triangle_field(
+            field="B",
+            observers=observers_tiled,
+            magnetization=magnetization_tiled,
+            vertices=vertices_tiled,
+        )
+        b_split = np.split(B, split_indices)
+        B = np.array([np.sum(bh, axis=0) for bh in b_split])
+
+    if field == "B":
+        if in_out == "auto":
+            prev_ind = 0
+            # group similar meshs for inside-outise evaluation and adding B
+            for new_ind, _ in enumerate(B):
+                if (
+                    new_ind == len(B) - 1
+                    or mesh[new_ind].shape != mesh[prev_ind].shape
+                    or not np.all(mesh[new_ind] == mesh[prev_ind])
+                ):
+                    if new_ind == len(B) - 1:
+                        new_ind = len(B)
+                    inside_mask = mask_inside_trimesh(
+                        observers[prev_ind:new_ind], mesh[prev_ind]
+                    )
+                    # if inside magnet add magnetization vector
+                    B[prev_ind:new_ind][inside_mask] += magnetization[prev_ind:new_ind][
+                        inside_mask
+                    ]
+                    prev_ind = new_ind
+        elif in_out == "inside":
+            B += magnetization
+        return B
+
+    H = B * 10 / 4 / np.pi  # mT -> kA/m
+    return H
diff --git a/magpylib/_src/fields/field_wrap_BH.py b/magpylib/_src/fields/field_wrap_BH.py
index 30df0d2ce..9c8a53e70 100644
--- a/magpylib/_src/fields/field_wrap_BH.py
+++ b/magpylib/_src/fields/field_wrap_BH.py
@@ -42,6 +42,7 @@
 """
 # pylint: disable=cyclic-import
 import numbers
+import warnings
 from itertools import product
 from typing import Callable
 
@@ -193,6 +194,7 @@ def getBH_level2(
     # pylint: disable=import-outside-toplevel
 
     from magpylib._src.obj_classes.class_Collection import Collection
+    from magpylib._src.obj_classes.class_magnet_TriangularMesh import TriangularMesh
 
     # CHECK AND FORMAT INPUT ---------------------------------------------------
     if isinstance(sources, str):
@@ -221,6 +223,22 @@ def getBH_level2(
     check_dimensions(src_list)
     check_excitations(src_list, field)
 
+    # make sure that TriangularMesh sources have a closed mesh when getB is called - warn if not
+    if field == "B":
+        for src in src_list:
+            if isinstance(src, TriangularMesh):
+                # unchecked mesh status - may be open
+                if src.status_open is None:
+                    warnings.warn(
+                        f"Unchecked mesh status of {src} detected before B-field computation. "
+                        "An open mesh may return bad results."
+                    )
+                elif src.status_open:  # mesh is open
+                    warnings.warn(
+                        f"Open mesh of {src} detected before B-field computation. "
+                        "An open mesh may return bad results."
+                    )
+
     # format observers input:
     #   allow only bare sensor, collection, pos_vec or list thereof
     #   transform input into an ordered list of sensors (pos_vec->pixel)
diff --git a/magpylib/_src/input_checks.py b/magpylib/_src/input_checks.py
index 4704b6f90..96857af68 100644
--- a/magpylib/_src/input_checks.py
+++ b/magpylib/_src/input_checks.py
@@ -360,6 +360,32 @@ def check_format_input_vector(
     return inp
 
 
+def check_format_input_vector2(
+    inp,
+    shape,
+    param_name,
+):
+    """checks vector input and returns in formatted form
+    - inp must be array_like
+    - convert inp to ndarray with dtype float
+    - make sure that inp.ndim = target_ndim, None dimensions are ignored
+    """
+    is_array_like(
+        inp,
+        f"Input parameter `{param_name}` must be array_like.\n"
+        f"Instead received type {type(inp)}.",
+    )
+    inp = make_float_array(
+        inp,
+        f"Input parameter `{param_name}` must contain only float compatible entries.\n",
+    )
+    for d1, d2 in zip(inp.shape, shape):
+        if d2 is not None:
+            if d1 != d2:
+                raise ValueError(f"Input parameter `{param_name}` has bad shape.")
+    return inp
+
+
 def check_format_input_vertices(inp):
     """checks vertices input and returns in formatted form
     - vector check with dim = (n,3) but n must be >=2
@@ -524,7 +550,6 @@ def check_format_input_obj(
 
     obj_list = []
     for obj in inp:
-
         # add to list if wanted type
         if isinstance(obj, wanted_types):
             obj_list.append(obj)
diff --git a/magpylib/_src/obj_classes/class_BaseDisplayRepr.py b/magpylib/_src/obj_classes/class_BaseDisplayRepr.py
index 3c647512f..e77f1ff93 100644
--- a/magpylib/_src/obj_classes/class_BaseDisplayRepr.py
+++ b/magpylib/_src/obj_classes/class_BaseDisplayRepr.py
@@ -1,5 +1,6 @@
 """BaseGeo class code"""
 # pylint: disable=cyclic-import
+# pylint: disable=too-many-branches
 import numpy as np
 
 from magpylib._src.display.display import show
@@ -65,6 +66,14 @@ def _get_description(self, exclude=None):
                     if val.ndim > 2:
                         val_str += f" ({'x'.join(str(p) for p in px_shape)})"
                     val = val_str
+                elif k == "status_disconnected_data":
+                    val = getattr(self, k)
+                    if val is not None:
+                        val = f"{len(val)} part{'s'[:len(val)^1]}"
+                elif isinstance(getattr(self, k), (list, tuple, np.ndarray)):
+                    val = np.array(getattr(self, k))
+                    if np.prod(val.shape) > 4:
+                        val = f"shape{val.shape}"
                 else:
                     val = getattr(self, k)
                 lines.append(f"  • {k}: {val} {unit_str}")
diff --git a/magpylib/_src/obj_classes/class_BaseGeo.py b/magpylib/_src/obj_classes/class_BaseGeo.py
index b26dd2f83..702ae4b09 100644
--- a/magpylib/_src/obj_classes/class_BaseGeo.py
+++ b/magpylib/_src/obj_classes/class_BaseGeo.py
@@ -252,8 +252,7 @@ def style(self, val):
         self._style = self._validate_style(val)
 
     def _validate_style(self, val=None):
-        if val is None:
-            val = {}
+        val = {} if val is None else val
         if isinstance(val, dict):
             val = self._style_class(**val)
         if not isinstance(val, self._style_class):
diff --git a/magpylib/_src/obj_classes/class_Collection.py b/magpylib/_src/obj_classes/class_Collection.py
index c70fe5c53..0df48bb97 100644
--- a/magpylib/_src/obj_classes/class_Collection.py
+++ b/magpylib/_src/obj_classes/class_Collection.py
@@ -123,7 +123,6 @@ class BaseCollection(BaseDisplayRepr):
     _draw_func = None
 
     def __init__(self, *children, override_parent=False):
-
         BaseDisplayRepr.__init__(self)
 
         self._children = []
diff --git a/magpylib/_src/obj_classes/class_Sensor.py b/magpylib/_src/obj_classes/class_Sensor.py
index 7831a741b..52ef163a3 100644
--- a/magpylib/_src/obj_classes/class_Sensor.py
+++ b/magpylib/_src/obj_classes/class_Sensor.py
@@ -86,7 +86,6 @@ def __init__(
         style=None,
         **kwargs,
     ):
-
         # instance attributes
         self.pixel = pixel
 
diff --git a/magpylib/_src/obj_classes/class_current_Line.py b/magpylib/_src/obj_classes/class_current_Line.py
index bc5859081..ec3d078d0 100644
--- a/magpylib/_src/obj_classes/class_current_Line.py
+++ b/magpylib/_src/obj_classes/class_current_Line.py
@@ -100,7 +100,6 @@ def __init__(
         style=None,
         **kwargs,
     ):
-
         # instance attributes
         self.vertices = vertices
 
diff --git a/magpylib/_src/obj_classes/class_current_Loop.py b/magpylib/_src/obj_classes/class_current_Loop.py
index f883ec9da..43d49e928 100644
--- a/magpylib/_src/obj_classes/class_current_Loop.py
+++ b/magpylib/_src/obj_classes/class_current_Loop.py
@@ -90,7 +90,6 @@ def __init__(
         style=None,
         **kwargs,
     ):
-
         # instance attributes
         self.diameter = diameter
 
diff --git a/magpylib/_src/obj_classes/class_magnet_Cuboid.py b/magpylib/_src/obj_classes/class_magnet_Cuboid.py
index 7b86b91a8..00f6b478c 100644
--- a/magpylib/_src/obj_classes/class_magnet_Cuboid.py
+++ b/magpylib/_src/obj_classes/class_magnet_Cuboid.py
@@ -91,7 +91,6 @@ def __init__(
         style=None,
         **kwargs,
     ):
-
         # instance attributes
         self.dimension = dimension
 
diff --git a/magpylib/_src/obj_classes/class_magnet_Cylinder.py b/magpylib/_src/obj_classes/class_magnet_Cylinder.py
index 7d5907a6a..a53f6ae81 100644
--- a/magpylib/_src/obj_classes/class_magnet_Cylinder.py
+++ b/magpylib/_src/obj_classes/class_magnet_Cylinder.py
@@ -91,7 +91,6 @@ def __init__(
         style=None,
         **kwargs,
     ):
-
         # instance attributes
         self.dimension = dimension
 
diff --git a/magpylib/_src/obj_classes/class_magnet_CylinderSegment.py b/magpylib/_src/obj_classes/class_magnet_CylinderSegment.py
index 62b60ab94..fb4a2cc54 100644
--- a/magpylib/_src/obj_classes/class_magnet_CylinderSegment.py
+++ b/magpylib/_src/obj_classes/class_magnet_CylinderSegment.py
@@ -104,7 +104,6 @@ def __init__(
         style=None,
         **kwargs,
     ):
-
         # instance attributes
         self.dimension = dimension
 
diff --git a/magpylib/_src/obj_classes/class_magnet_Sphere.py b/magpylib/_src/obj_classes/class_magnet_Sphere.py
index 43ca2845c..5471e221d 100644
--- a/magpylib/_src/obj_classes/class_magnet_Sphere.py
+++ b/magpylib/_src/obj_classes/class_magnet_Sphere.py
@@ -91,7 +91,6 @@ def __init__(
         style=None,
         **kwargs,
     ):
-
         # instance attributes
         self.diameter = diameter
 
diff --git a/magpylib/_src/obj_classes/class_magnet_Tetrahedron.py b/magpylib/_src/obj_classes/class_magnet_Tetrahedron.py
index e76cf6ae6..4fdbe7a07 100644
--- a/magpylib/_src/obj_classes/class_magnet_Tetrahedron.py
+++ b/magpylib/_src/obj_classes/class_magnet_Tetrahedron.py
@@ -102,7 +102,6 @@ def __init__(
         style=None,
         **kwargs,
     ):
-
         # instance attributes
         self.vertices = vertices
         self._object_type = "Tetrahedron"
diff --git a/magpylib/_src/obj_classes/class_magnet_TriangularMesh.py b/magpylib/_src/obj_classes/class_magnet_TriangularMesh.py
new file mode 100644
index 000000000..82633ad40
--- /dev/null
+++ b/magpylib/_src/obj_classes/class_magnet_TriangularMesh.py
@@ -0,0 +1,777 @@
+"""Magnet TriangularMesh class code"""
+import warnings
+
+import numpy as np
+from scipy.spatial import ConvexHull  # pylint: disable=no-name-in-module
+
+from magpylib._src.display.traces_generic import make_TriangularMesh
+from magpylib._src.exceptions import MagpylibMissingInput
+from magpylib._src.fields.field_BH_triangularmesh import calculate_centroid
+from magpylib._src.fields.field_BH_triangularmesh import fix_trimesh_orientation
+from magpylib._src.fields.field_BH_triangularmesh import (
+    get_disconnected_faces_subsets,
+)
+from magpylib._src.fields.field_BH_triangularmesh import get_open_edges
+from magpylib._src.fields.field_BH_triangularmesh import magnet_trimesh_field
+from magpylib._src.input_checks import check_format_input_vector
+from magpylib._src.input_checks import check_format_input_vector2
+from magpylib._src.obj_classes.class_BaseExcitations import BaseMagnet
+from magpylib._src.obj_classes.class_Collection import Collection
+from magpylib._src.obj_classes.class_misc_Triangle import Triangle
+from magpylib._src.style import TriangularMeshStyle
+
+
+class TriangularMesh(BaseMagnet):
+    """Magnet with homogeneous magnetization defined by triangular surface mesh.
+    Can be used as `sources` input for magnetic field computation.
+    When `position=(0,0,0)` and `orientation=None` the TriangularMesh vertices
+    are the same as in the global coordinate system.
+
+    Parameters
+    ----------
+    magnetization: array_like, shape (3,), default=`None`
+        Magnetization vector (mu0*M, remanence field) in units of [mT] given in
+        the local object coordinates (rotates with object).
+
+    vertices: ndarray, shape (n,3)
+        A set of points in units of [mm] in the local object coordinates from which the
+        triangular faces of the mesh are constructed by the additional `faces`input.
+
+    faces: ndarray, shape (n,3)
+        Indices of vertices. Each triplet represents one triangle of the mesh.
+
+    position: array_like, shape (3,) or (m,3), default=`(0,0,0)`
+        Object position(s) in the global coordinates in units of [mm]. For m>1, the
+        `position` and `orientation` attributes together represent an object path.
+
+    orientation: scipy `Rotation` object with length 1 or m, default=`None`
+        Object orientation(s) in the global coordinates. `None` corresponds to
+        a unit-rotation. For m>1, the `position` and `orientation` attributes
+        together represent an object path.
+
+    reorient_faces: bool, default=`True`
+        In a properly oriented mesh, all faces must be oriented outwards.
+        If `True`, check and fix the orientation of each triangle.
+
+    check_open: bool, default=`True`
+        Only a closed mesh guarantees a physical magnet.
+        If `True`, raise error if mesh is not closed.
+
+    check_disconnected: bool, default=`True`
+        If `True` raise an error if mesh is not connected.
+
+    parent: `Collection` object or `None`
+        The object is a child of it's parent collection.
+
+    style: dict
+        Object style inputs must be in dictionary form, e.g. `{'color':'red'}` or
+        using style underscore magic, e.g. `style_color='red'`.
+
+    Notes
+    -----
+    Faces are automatically reoriented since `scipy.spatial.ConvexHull` objects do not
+    guarantee that the faces are all pointing outwards. A mesh validation is also performed.
+
+    Returns
+    -------
+    magnet source: `TriangularMesh` object
+
+    Examples
+    --------
+    We compute the B-field in units of [mT] of a triangular mesh (4 vertices, 4 faces)
+    with magnetization (100,200,300) in units of [mT] at the observer position
+    (1,1,1) given in units of [mm]:
+
+    >>> import magpylib as magpy
+    >>> vv = ((0,0,0), (1,0,0), (0,1,0), (0,0,1))
+    >>> tt = ((0,1,2), (0,1,3), (0,2,3), (1,2,3))
+    >>> trim = magpy.magnet.TriangularMesh(magnetization=(100,200,300), vertices=vv, faces=tt)
+    >>> print(trim.getB((1,1,1)))
+    [2.60236696 2.08189357 1.56142018]
+    """
+
+    _field_func = staticmethod(magnet_trimesh_field)
+    _field_func_kwargs_ndim = {"magnetization": 2, "mesh": 3}
+    _draw_func = make_TriangularMesh
+    _style_class = TriangularMeshStyle
+
+    def __init__(
+        self,
+        magnetization=None,
+        vertices=None,
+        faces=None,
+        position=(0, 0, 0),
+        orientation=None,
+        check_open="warn",
+        check_disconnected="warn",
+        reorient_faces="warn",
+        style=None,
+        **kwargs,
+    ):
+        self._vertices, self._faces = self._input_check(vertices, faces)
+        self._status_disconnected = None
+        self._status_open = None
+        self._status_reoriented = False
+        self._status_disconnected_data = None
+        self._status_open_data = None
+
+        self.check_open(mode=check_open)
+        self.check_disconnected(mode=check_disconnected)
+        self.reorient_faces(mode=reorient_faces)
+
+        # inherit
+        super().__init__(position, orientation, magnetization, style, **kwargs)
+
+    # property getters and setters
+    @property
+    def vertices(self):
+        """Mesh vertices"""
+        return self._vertices
+
+    @property
+    def faces(self):
+        """Mesh faces"""
+        return self._faces
+
+    @property
+    def mesh(self):
+        """Mesh"""
+        return self._vertices[self._faces]
+
+    @property
+    def status_open(self):
+        """Return closed satus"""
+        return self._status_open
+
+    @property
+    def status_disconnected(self):
+        """Return connected satus"""
+        return self._status_disconnected
+
+    @property
+    def status_reoriented(self):
+        """Return reoriented satus"""
+        return self._status_reoriented
+
+    @staticmethod
+    def _validate_mode_arg(arg, arg_name="mode"):
+        """Validate mode argument"""
+        accepted_arg_vals = (True, False, "warn", "raise", "ignore", "skip")
+        if arg not in accepted_arg_vals:
+            raise ValueError(
+                f"The `{arg_name}` argument must be one of {accepted_arg_vals}, "
+                f"instead received {arg!r}."
+                f"\nNote that `True` translates to `'warn'` and `False` to `'skip'`"
+            )
+        arg = "warn" if arg is True else "skip" if arg is False else arg
+        return arg
+
+    def check_open(self, mode="warn"):
+        """
+        Check whether the mesh is closed.
+
+        This function checks if the mesh is closed. If the mesh is not closed,
+        it issues a warning or raises a ValueError, depending on the 'mode' parameter.
+        If 'mode' is set to 'ignore', it does not issue a warning or raise an error.
+
+        Parameters
+        ----------
+        mode : str, optional
+            Controls how to handle if the mesh is not closed.
+            Accepted values are "warn", "raise", or "ignore".
+            If "warn", a warning is issued. If "raise", a ValueError is raised.
+            If "ignore", no action is taken. By default "warn".
+
+        Returns
+        -------
+        bool
+            True if the mesh is open, False otherwise.
+
+        Raises
+        ------
+        ValueError
+            If 'mode' is not one of the accepted values or if 'mode' is "raise" and the mesh
+            is open.
+
+        Warns
+        -----
+        UserWarning
+            If the mesh is open and 'mode' is "warn".
+        """
+        mode = self._validate_mode_arg(mode, arg_name="check_open mode")
+        if mode != "skip" and self._status_open is None:
+            self._status_open = len(self.get_open_edges()) > 0
+            if self._status_open:
+                msg = (
+                    f"Open mesh detected in {self!r}. Intrinsic inside-outside checks may "
+                    "give bad results and subsequently getB() and reorient_faces() may give bad "
+                    "results as well. "
+                    "This check can be disabled at initialization with check_open='skip'. "
+                    "Open edges can be displayed in show() with style_mesh_open_show=True."
+                    "Open edges are stored in the status_open_data property."
+                )
+                if mode == "warn":
+                    warnings.warn(msg)
+                elif mode == "raise":
+                    raise ValueError(msg)
+        return self._status_open
+
+    def check_disconnected(self, mode="warn"):
+        """Check whether the mesh is connected.
+
+        This function checks if the mesh is connected. If the mesh is not connected,
+        it issues a warning or raises a ValueError, depending on the 'mode' parameter.
+        If 'mode' is set to 'ignore', it does not issue a warning or raise an error.
+
+        Parameters
+        ----------
+        mode : str, optional
+            Controls how to handle if the mesh is not connected.
+            Accepted values are "warn", "raise", or "ignore".
+            If "warn", a warning is issued. If "raise", a ValueError is raised.
+            If "ignore", no action is taken. By default "warn".
+
+        Returns
+        -------
+        bool
+            True if the mesh is disconnected, False otherwise.
+
+        Raises
+        ------
+        ValueError
+            If 'mode' is not one of the accepted values or if 'mode' is "raise" and the mesh
+            is disconnected.
+
+        Warns
+        -----
+        UserWarning
+            If the mesh is disconnected and 'mode' is "warn".
+        """
+        mode = self._validate_mode_arg(mode, arg_name="check_disconnected mode")
+        if mode != "skip" and self._status_disconnected is None:
+            self._status_disconnected = len(self.get_faces_subsets()) > 1
+            if self._status_disconnected:
+                msg = (
+                    f"Disconnected mesh detected in {self!r}. Magnet consists of multiple "
+                    "individual parts. "
+                    "This check can be disabled at initialization with check_disconnected='skip'. "
+                    "Parts can be displayed in show() with style_mesh_disconnected_show=True. "
+                    "Parts are stored in the status_disconnected_data property."
+                )
+                if mode == "warn":
+                    warnings.warn(msg)
+                elif mode == "raise":
+                    raise ValueError(msg)
+        return self._status_disconnected
+
+    def reorient_faces(self, mode="warn"):
+        """Correctly reorients the mesh's faces.
+
+        In a properly oriented mesh, all faces must be oriented outwards. This function
+        fixes the orientation of each face. It issues a warning or raises a ValueError,
+        depending on the 'mode' parameter. If 'mode' is set to 'ignore', it does not issue
+        a warning or raise an error. Note that this parameter is passed on the check_closed()
+        function as the mesh is only orientable if it is closed.
+
+        Parameters
+        ----------
+        mode : str, optional
+            Controls how to handle if the mesh is open and not orientable.
+            Accepted values are "warn", "raise", or "ignore".
+            If "warn", a warning is issued. If "raise", a ValueError is raised.
+            If "ignore", no action is taken. By default "warn".
+
+        Returns
+        -------
+        bool
+            True if the mesh is connected, False otherwise.
+
+        Raises
+        ------
+        ValueError
+            If 'mode' is not one of the accepted values or if 'mode' is "raise" and the mesh
+            is open and not orientable.
+
+        Warns
+        -----
+        UserWarning
+            If the mesh is not connected and 'mode' is "warn".
+        """
+        mode = self._validate_mode_arg(mode, arg_name="reorient_faces mode")
+        if mode != "skip":
+            if self._status_open is None:
+                if mode in ["warn", "raise"]:
+                    warnings.warn(
+                        f"Unchecked mesh status in {self!r} detected. Now applying check_open()"
+                    )
+                self.check_open(mode=mode)
+
+            if self._status_open:
+                msg = f"Open mesh in {self!r} detected. reorient_faces() can give bad results."
+                if mode == "warn":
+                    warnings.warn(msg)
+                elif mode == "raise":
+                    raise ValueError(msg)
+
+            self._faces = fix_trimesh_orientation(self._vertices, self._faces)
+            self._status_reoriented = True
+
+    def get_faces_subsets(self):
+        """
+        Obtain and return subsets of the mesh. If the mesh has n parts, returns and list of
+        length n of faces (m,3) vertices indices triplets corresponding to each part.
+
+        Returns
+        -------
+        status_disconnected_data : list of numpy.ndarray
+            Subsets of faces data.
+        """
+        if self._status_disconnected_data is None:
+            self._status_disconnected_data = get_disconnected_faces_subsets(self._faces)
+        return self._status_disconnected_data
+
+    def get_open_edges(self):
+        """
+        Obtain and return the potential open edges. If the mesh has n open edges, returns an
+        corresponding (n,2) array of vertices indices doubles.
+
+        Returns
+        -------
+        status_open_data : numpy.ndarray
+            Open edges data.
+        """
+        if self._status_open_data is None:
+            self._status_open_data = get_open_edges(self._faces)
+        return self._status_open_data
+
+    @property
+    def status_disconnected_data(self):
+        """Status for connectedness (faces subsets)"""
+        return self._status_disconnected_data
+
+    @property
+    def status_open_data(self):
+        """Status for openness (open edges)"""
+        return self._status_open_data
+
+    @property
+    def _barycenter(self):
+        """Object barycenter."""
+        return self._get_barycenter(
+            self._position, self._orientation, self._vertices, self._faces
+        )
+
+    @property
+    def barycenter(self):
+        """Object barycenter."""
+        return np.squeeze(self._barycenter)
+
+    @staticmethod
+    def _get_barycenter(position, orientation, vertices, faces):
+        """Returns the barycenter of a tetrahedron."""
+        centroid = calculate_centroid(vertices, faces)
+        barycenter = orientation.apply(centroid) + position
+        return barycenter
+
+    def _input_check(self, vertices, faces):
+        """input checks here ?"""
+        # no. vertices must exceed largest triangle index
+        # not all vertices can lie in a plane
+        # unique vertices ?
+        # do validation checks
+        if vertices is None:
+            raise MagpylibMissingInput(f"Parameter `vertices` of {self} must be set.")
+        if faces is None:
+            raise MagpylibMissingInput(f"Parameter `faces` of {self} must be set.")
+        verts = check_format_input_vector(
+            vertices,
+            dims=(2,),
+            shape_m1=3,
+            sig_name="TriangularMesh.vertices",
+            sig_type="array_like (list, tuple, ndarray) of shape (n,3)",
+        )
+        trias = check_format_input_vector(
+            faces,
+            dims=(2,),
+            shape_m1=3,
+            sig_name="TriangularMesh.faces",
+            sig_type="array_like (list, tuple, ndarray) of shape (n,3)",
+        ).astype(int)
+        try:
+            verts[trias]
+        except IndexError as e:
+            raise IndexError(
+                "Some `faces` indices do not match with `vertices` array"
+            ) from e
+        return verts, trias
+
+    def to_TriangleCollection(self):
+        """Return a Collection of Triangle objects from the current TriangularMesh"""
+        tris = [
+            Triangle(magnetization=self.magnetization, vertices=v) for v in self.mesh
+        ]
+        coll = Collection(tris)
+        coll.position = self.position
+        coll.orientation = self.orientation
+        coll.style.update(self.style.as_dict(), _match_properties=False)
+        return coll
+
+    @classmethod
+    def from_ConvexHull(
+        cls,
+        magnetization=None,
+        points=None,
+        position=(0, 0, 0),
+        orientation=None,
+        check_open="warn",
+        check_disconnected="warn",
+        reorient_faces=True,
+        style=None,
+        **kwargs,
+    ):
+        """Create a TriangularMesh magnet from a point cloud via its convex hull.
+
+        Parameters
+        ----------
+        magnetization: array_like, shape (3,), default=`None`
+            Magnetization vector (mu0*M, remanence field) in units of [mT] given in
+            the local object coordinates (rotates with object).
+
+        points: ndarray, shape (n,3)
+            Point cloud from which the convex hull is computed.
+
+        position: array_like, shape (3,) or (m,3)
+            Object position(s) in the global coordinates in units of [mm]. For m>1, the
+            `position` and `orientation` attributes together represent an object path.
+
+        orientation: scipy `Rotation` object with length 1 or m, default=`None`
+            Object orientation(s) in the global coordinates. `None` corresponds to
+            a unit-rotation. For m>1, the `position` and `orientation` attributes
+            together represent an object path.
+
+        reorient_faces: bool, default=`True`
+            In a properly oriented mesh, all faces must be oriented outwards.
+            If `True`, check and fix the orientation of each triangle.
+
+        check_open: {'warn', 'raise', 'ignore'}, default='warn'
+            Only a closed mesh guarantees a physical magnet.
+            If the mesh is open and "warn", a warning is issued.
+            If the mesh is open and "raise", a ValueError is raised.
+            If "ignore", no mesh check is perfomed.
+
+        check_disconnected: {'warn', 'raise', 'ignore'}, default='warn'
+            If the mesh is disconnected and "warn", a warning is issued.
+            If the mesh is disconnected and "raise", a ValueError is raised.
+            If "ignore", no mesh check is perfomed.
+
+        parent: `Collection` object or `None`
+            The object is a child of it's parent collection.
+
+        style: dict
+            Object style inputs must be in dictionary form, e.g. `{'color':'red'}` or
+            using style underscore magic, e.g. `style_color='red'`.
+
+        Notes
+        -----
+        Faces are automatically reoriented since `scipy.spatial.ConvexHull` objects do not
+        guarantee that the faces are all pointing outwards. A mesh validation is also performed.
+
+        Returns
+        -------
+        magnet source: `TriangularMesh` object
+
+        Examples
+        --------
+        """
+        return cls(
+            magnetization=magnetization,
+            vertices=points,
+            faces=ConvexHull(points).simplices,
+            position=position,
+            orientation=orientation,
+            reorient_faces=reorient_faces,
+            check_open=check_open,
+            check_disconnected=check_disconnected,
+            style=style,
+            **kwargs,
+        )
+
+    @classmethod
+    def from_pyvista(
+        cls,
+        magnetization=None,
+        polydata=None,
+        position=(0, 0, 0),
+        orientation=None,
+        check_open="warn",
+        check_disconnected="warn",
+        reorient_faces=True,
+        style=None,
+        **kwargs,
+    ):
+        """Create a TriangularMesh magnet from a pyvista PolyData mesh object.
+
+        Parameters
+        ----------
+        magnetization: array_like, shape (3,), default=`None`
+            Magnetization vector (mu0*M, remanence field) in units of [mT] given in
+            the local object coordinates (rotates with object).
+
+        polydata: pyvista.core.pointset.PolyData object
+            A valid pyvista Polydata mesh object. (e.g. `pyvista.Sphere()`)
+
+        position: array_like, shape (3,) or (m,3)
+            Object position(s) in the global coordinates in units of [mm]. For m>1, the
+            `position` and `orientation` attributes together represent an object path.
+
+        orientation: scipy `Rotation` object with length 1 or m, default=`None`
+            Object orientation(s) in the global coordinates. `None` corresponds to
+            a unit-rotation. For m>1, the `position` and `orientation` attributes
+            together represent an object path.
+
+        reorient_faces: bool, default=`True`
+            In a properly oriented mesh, all faces must be oriented outwards.
+            If `True`, check and fix the orientation of each triangle.
+
+        check_open: {'warn', 'raise', 'ignore'}, default='warn'
+            Only a closed mesh guarantees a physical magnet.
+            If the mesh is open and "warn", a warning is issued.
+            If the mesh is open and "raise", a ValueError is raised.
+            If "ignore", no mesh check is perfomed.
+
+        check_disconnected: {'warn', 'raise', 'ignore'}, default='warn'
+            If the mesh is disconnected and "warn", a warning is issued.
+            If the mesh is disconnected and "raise", a ValueError is raised.
+            If "ignore", no mesh check is perfomed.
+
+        parent: `Collection` object or `None`
+            The object is a child of it's parent collection.
+
+        style: dict
+            Object style inputs must be in dictionary form, e.g. `{'color':'red'}` or
+            using style underscore magic, e.g. `style_color='red'`.
+
+        Notes
+        -----
+        Faces are automatically reoriented since `pyvista.core.pointset.PolyData` objects do not
+        guarantee that the faces are all pointing outwards. A mesh validation is also performed.
+
+        Returns
+        -------
+        magnet source: `TriangularMesh` object
+
+        Examples
+        --------
+        """
+        # pylint: disable=import-outside-toplevel
+        try:
+            import pyvista
+        except ImportError as missing_module:  # pragma: no cover
+            raise ModuleNotFoundError(
+                """In order load pyvista Polydata objects, you first need to install pyvista via pip
+                or conda, see https://docs.pyvista.org/getting-started/installation.html"""
+            ) from missing_module
+        if not isinstance(polydata, pyvista.core.pointset.PolyData):
+            raise TypeError(
+                "The `polydata` parameter must be an instance of `pyvista.core.pointset.PolyData`, "
+                f"received {polydata!r} instead"
+            )
+        polydata = polydata.triangulate()
+        vertices = polydata.points
+        faces = polydata.faces.reshape(-1, 4)[:, 1:]
+
+        return cls(
+            magnetization=magnetization,
+            vertices=vertices,
+            faces=faces,
+            position=position,
+            orientation=orientation,
+            reorient_faces=reorient_faces,
+            check_open=check_open,
+            check_disconnected=check_disconnected,
+            style=style,
+            **kwargs,
+        )
+
+    @classmethod
+    def from_triangles(
+        cls,
+        magnetization=None,
+        triangles=None,
+        position=(0, 0, 0),
+        orientation=None,
+        reorient_faces=True,
+        check_open="warn",
+        check_disconnected="warn",
+        style=None,
+        **kwargs,
+    ):
+        """Create a TriangularMesh magnet from a list or Collection of Triangle objects.
+
+        Parameters
+        ----------
+        magnetization: array_like, shape (3,), default=`None`
+            Magnetization vector (mu0*M, remanence field) in units of [mT] given in
+            the local object coordinates (rotates with object).
+
+        triangles: list or Collection of Triangle objects
+            Only vertices of Triangle objects are taken, magnetization is ignored.
+
+        position: array_like, shape (3,) or (m,3)
+            Object position(s) in the global coordinates in units of [mm]. For m>1, the
+            `position` and `orientation` attributes together represent an object path.
+
+        orientation: scipy `Rotation` object with length 1 or m, default=`None`
+            Object orientation(s) in the global coordinates. `None` corresponds to
+            a unit-rotation. For m>1, the `position` and `orientation` attributes
+            together represent an object path.
+
+        reorient_faces: bool, default=`True`
+            In a properly oriented mesh, all faces must be oriented outwards.
+            If `True`, check and fix the orientation of each triangle.
+
+        check_open: {'warn', 'raise', 'ignore'}, default='warn'
+            Only a closed mesh guarantees a physical magnet.
+            If the mesh is open and "warn", a warning is issued.
+            If the mesh is open and "raise", a ValueError is raised.
+            If "ignore", no mesh check is perfomed.
+
+        check_disconnected: {'warn', 'raise', 'ignore'}, default='warn'
+            If the mesh is disconnected and "warn", a warning is issued.
+            If the mesh is disconnected and "raise", a ValueError is raised.
+            If "ignore", no mesh check is perfomed.
+
+        parent: `Collection` object or `None`
+            The object is a child of it's parent collection.
+
+        style: dict
+            Object style inputs must be in dictionary form, e.g. `{'color':'red'}` or
+            using style underscore magic, e.g. `style_color='red'`.
+
+        Notes
+        -----
+        Faces are automatically reoriented since `pyvista.core.pointset.PolyData` objects do not
+        guarantee that the faces are all pointing outwards. A mesh validation is also performed.
+
+        Returns
+        -------
+        magnet source: `TriangularMesh` object
+
+        Examples
+        --------
+        """
+        if not isinstance(triangles, (list, Collection)):
+            raise TypeError(
+                "The `triangles` parameter must be a list or Collection of `Triangle` objects, "
+                f"\nreceived type {type(triangles)} instead"
+            )
+        for obj in triangles:
+            if not isinstance(obj, Triangle):
+                raise TypeError(
+                    "All elements of `triangles` must be `Triangle` objects, "
+                    f"\nreceived type {type(obj)} instead"
+                )
+        mesh = np.array([tria.vertices for tria in triangles])
+        vertices, tr = np.unique(mesh.reshape((-1, 3)), axis=0, return_inverse=True)
+        faces = tr.reshape((-1, 3))
+
+        return cls(
+            magnetization=magnetization,
+            vertices=vertices,
+            faces=faces,
+            position=position,
+            orientation=orientation,
+            reorient_faces=reorient_faces,
+            check_open=check_open,
+            check_disconnected=check_disconnected,
+            style=style,
+            **kwargs,
+        )
+
+    @classmethod
+    def from_mesh(
+        cls,
+        magnetization=None,
+        mesh=None,
+        position=(0, 0, 0),
+        orientation=None,
+        reorient_faces=True,
+        check_open="warn",
+        check_disconnected="warn",
+        style=None,
+        **kwargs,
+    ):
+        """Create a TriangularMesh magnet from a mesh input.
+
+        Parameters
+        ----------
+        magnetization: array_like, shape (3,), default=`None`
+            Magnetization vector (mu0*M, remanence field) in units of [mT] given in
+            the local object coordinates (rotates with object).
+
+        mesh: array_like, shape (n,3,3)
+            An array_like of triangular faces that make up a triangular mesh.
+
+        position: array_like, shape (3,) or (m,3)
+            Object position(s) in the global coordinates in units of [mm]. For m>1, the
+            `position` and `orientation` attributes together represent an object path.
+
+        orientation: scipy `Rotation` object with length 1 or m, default=`None`
+            Object orientation(s) in the global coordinates. `None` corresponds to
+            a unit-rotation. For m>1, the `position` and `orientation` attributes
+            together represent an object path.
+
+        reorient_faces: bool, default=`True`
+            In a properly oriented mesh, all faces must be oriented outwards.
+            If `True`, check and fix the orientation of each triangle.
+
+        check_open: {'warn', 'raise', 'ignore'}, default='warn'
+            Only a closed mesh guarantees a physical magnet.
+            If the mesh is open and "warn", a warning is issued.
+            If the mesh is open and "raise", a ValueError is raised.
+            If "ignore", no mesh check is perfomed.
+
+        check_disconnected: {'warn', 'raise', 'ignore'}, default='warn'
+            If the mesh is disconnected and "warn", a warning is issued.
+            If the mesh is disconnected and "raise", a ValueError is raised.
+            If "ignore", no mesh check is perfomed.
+
+        parent: `Collection` object or `None`
+            The object is a child of it's parent collection.
+
+        style: dict
+            Object style inputs must be in dictionary form, e.g. `{'color':'red'}` or
+            using style underscore magic, e.g. `style_color='red'`.
+
+        Notes
+        -----
+        Faces are automatically reoriented since `pyvista.core.pointset.PolyData` objects do not
+        guarantee that the faces are all pointing outwards. A mesh validation is also performed.
+
+        Returns
+        -------
+        magnet source: `TriangularMesh` object
+
+        Examples
+        --------
+        """
+        mesh = check_format_input_vector2(
+            mesh,
+            shape=[None, 3, 3],
+            param_name="mesh",
+        )
+        vertices, tr = np.unique(mesh.reshape((-1, 3)), axis=0, return_inverse=True)
+        faces = tr.reshape((-1, 3))
+
+        return cls(
+            magnetization=magnetization,
+            vertices=vertices,
+            faces=faces,
+            position=position,
+            orientation=orientation,
+            reorient_faces=reorient_faces,
+            check_open=check_open,
+            check_disconnected=check_disconnected,
+            style=style,
+            **kwargs,
+        )
diff --git a/magpylib/_src/obj_classes/class_misc_Triangle.py b/magpylib/_src/obj_classes/class_misc_Triangle.py
index 65208e3a0..085e1a611 100644
--- a/magpylib/_src/obj_classes/class_misc_Triangle.py
+++ b/magpylib/_src/obj_classes/class_misc_Triangle.py
@@ -105,7 +105,6 @@ def __init__(
         style=None,
         **kwargs,
     ):
-
         self.vertices = vertices
 
         # init inheritance
diff --git a/magpylib/_src/style.py b/magpylib/_src/style.py
index 58b1329c3..d7d57d17d 100644
--- a/magpylib/_src/style.py
+++ b/magpylib/_src/style.py
@@ -14,37 +14,46 @@
 from magpylib._src.defaults.defaults_utility import validate_style_keys
 
 
+def get_families(obj):
+    "get obj families"
+    # pylint: disable=import-outside-toplevel
+    # pylint: disable=possibly-unused-variable
+    # pylint: disable=redefined-outer-name
+    from magpylib._src.obj_classes.class_BaseExcitations import BaseMagnet as Magnet
+    from magpylib._src.obj_classes.class_magnet_Cuboid import Cuboid
+    from magpylib._src.obj_classes.class_magnet_Cylinder import Cylinder
+    from magpylib._src.obj_classes.class_magnet_Sphere import Sphere
+    from magpylib._src.obj_classes.class_magnet_CylinderSegment import CylinderSegment
+    from magpylib._src.obj_classes.class_magnet_Tetrahedron import Tetrahedron
+    from magpylib._src.obj_classes.class_magnet_TriangularMesh import TriangularMesh
+    from magpylib._src.obj_classes.class_BaseExcitations import BaseCurrent as Current
+    from magpylib._src.obj_classes.class_current_Loop import Loop
+    from magpylib._src.obj_classes.class_current_Line import Line
+    from magpylib._src.obj_classes.class_misc_Dipole import Dipole
+    from magpylib._src.obj_classes.class_misc_CustomSource import CustomSource
+    from magpylib._src.obj_classes.class_misc_Triangle import Triangle
+    from magpylib._src.obj_classes.class_Sensor import Sensor
+    from magpylib._src.display.traces_generic import MagpyMarkers as Markers
+
+    loc = locals()
+    obj_families = []
+    for item, val in loc.items():
+        if not item.startswith("_"):
+            try:
+                if isinstance(obj, val):
+                    obj_families.append(item.lower())
+            except TypeError:
+                pass
+    return obj_families
+
+
 def get_style(obj, default_settings, **kwargs):
     """Returns default style based on increasing priority:
     - style from defaults
     - style from object
     - style from kwargs arguments
     """
-    # pylint: disable=import-outside-toplevel
-    from magpylib._src.obj_classes.class_BaseExcitations import (
-        BaseMagnet as MagpyMagnet,
-    )
-    from magpylib._src.obj_classes.class_BaseExcitations import (
-        BaseCurrent as MagpyCurrent,
-    )
-    from magpylib._src.obj_classes.class_misc_Dipole import Dipole as MagpyDipole
-    from magpylib._src.obj_classes.class_misc_Triangle import Triangle as MagpyTriangle
-    from magpylib._src.obj_classes.class_Sensor import Sensor as MagpySensor
-    from magpylib._src.display.traces_generic import MagpyMarkers
-
-    families = {
-        "triangle": MagpyTriangle,
-        "magnet": MagpyMagnet,
-        "current": MagpyCurrent,
-        "dipole": MagpyDipole,
-        "sensor": MagpySensor,
-        "markers": MagpyMarkers,
-    }
-    obj_family = None
-    for fam, cls in families.items():
-        if isinstance(obj, cls):
-            obj_family = fam
-            break
+    obj_families = get_families(obj)
     # parse kwargs into style an non-style arguments
     style_kwargs = kwargs.get("style", {})
     style_kwargs.update(
@@ -54,13 +63,17 @@ def get_style(obj, default_settings, **kwargs):
     # retrieve default style dictionary, local import to avoid circular import
     # pylint: disable=import-outside-toplevel
 
-    styles_by_family = default_settings.display.style.as_dict()
+    default_style = default_settings.display.style
+    base_style_flat = default_style.base.as_dict(flatten=True, separator="_")
 
     # construct object specific dictionary base on style family and default style
-    obj_style_default_dict = {
-        **styles_by_family["base"],
-        **dict(styles_by_family.get(obj_family, {}).items()),
-    }
+    for obj_family in obj_families:
+        family_style = getattr(default_style, obj_family, {})
+        if family_style:
+            family_dict = family_style.as_dict(flatten=True, separator="_")
+            base_style_flat.update(
+                {k: v for k, v in family_dict.items() if v is not None}
+            )
     style_kwargs = validate_style_keys(style_kwargs)
 
     # create style class instance and update based on precedence
@@ -70,9 +83,7 @@ def get_style(obj, default_settings, **kwargs):
         k: v for k, v in style_kwargs.items() if k.split("_")[0] in style.as_dict()
     }
     style.update(**style_kwargs_specific, _match_properties=True)
-    style.update(
-        **obj_style_default_dict, _match_properties=False, _replace_None_only=True
-    )
+    style.update(**base_style_flat, _match_properties=False, _replace_None_only=True)
 
     return style
 
@@ -439,7 +450,8 @@ def kwargs(self, val):
     @property
     def constructor(self):
         """Model constructor function or method to be called to build a 3D-model object
-        (e.g. 'plot_trisurf', 'Mesh3d). Must be in accordance with the given plotting backend."""
+        (e.g. 'plot_trisurf', 'Mesh3d). Must be in accordance with the given plotting backend.
+        """
         return self._constructor
 
     @constructor.setter
@@ -754,7 +766,7 @@ def magnetization(self, val):
         )
 
 
-class Magnet(MagicProperties, MagnetProperties):
+class DefaultMagnet(MagicProperties, MagnetProperties):
     """Defines styling properties of homogeneous magnet classes.
 
     Parameters
@@ -802,6 +814,189 @@ def __init__(self, **kwargs):
         super().__init__(**kwargs)
 
 
+class MarkerLineProperties:
+    """Defines styling properties of Markers and Lines."""
+
+    @property
+    def show(self):
+        """Show/hide path.
+        - False: Shows object(s) at final path position and hides paths lines and markers.
+        - True: Shows object(s) shows object paths depending on `line`, `marker` and `frames`
+        parameters.
+        """
+        return self._show
+
+    @show.setter
+    def show(self, val):
+        assert val is None or isinstance(val, bool), (
+            f"The `show` property of {type(self).__name__} must be either True or False,\n"
+            f"but received {repr(val)} instead."
+        )
+        self._show = val
+
+    @property
+    def marker(self):
+        """`Markers` object with 'color', 'symbol', 'size' properties."""
+        return self._marker
+
+    @marker.setter
+    def marker(self, val):
+        self._marker = validate_property_class(val, "marker", Marker, self)
+
+    @property
+    def line(self):
+        """`Line` object with 'color', 'type', 'width' properties."""
+        return self._line
+
+    @line.setter
+    def line(self, val):
+        self._line = validate_property_class(val, "line", Line, self)
+
+
+class GridMesh(MagicProperties, MarkerLineProperties):
+    """Defines styling properties of GridMesh objects
+
+    Parameters
+    ----------
+    show: bool, default=None
+        Show/hide Lines and Markers
+
+    marker: dict or `Markers` object, default=None
+        `Markers` object with 'color', 'symbol', 'size' properties, or dictionary with equivalent
+        key/value pairs.
+
+    line: dict or `Line` object, default=None
+        `Line` object with 'color', 'symbol', 'size' properties, or dictionary with equivalent
+        key/value pairs.
+    """
+
+
+class OpenMesh(MagicProperties, MarkerLineProperties):
+    """Defines styling properties of OpenMesh objects
+
+    Parameters
+    ----------
+    show: bool, default=None
+        Show/hide Lines and Markers
+
+    marker: dict or `Markers` object, default=None
+        `Markers` object with 'color', 'symbol', 'size' properties, or dictionary with equivalent
+        key/value pairs.
+
+    line: dict or `Line` object, default=None
+        `Line` object with 'color', 'symbol', 'size' properties, or dictionary with equivalent
+        key/value pairs.
+    """
+
+
+class DisconnectedMesh(MagicProperties, MarkerLineProperties):
+    """Defines styling properties of DisconnectedMesh objects
+
+    Parameters
+    ----------
+    show: bool, default=None
+        Show/hide Lines and Markers
+
+    marker: dict or `Markers` object, default=None
+        `Markers` object with 'color', 'symbol', 'size' properties, or dictionary with equivalent
+        key/value pairs.
+
+    line: dict or `Line` object, default=None
+        `Line` object with 'color', 'symbol', 'size' properties, or dictionary with equivalent
+        key/value pairs.
+
+    colorsequence: iterable, default=["red", "blue", "green", "cyan", "magenta", "yellow"]
+        An iterable of color values used to cycle trough for every disconnected part of
+        disconnected triangular mesh object.
+        A color may be specified by
+      - a hex string (e.g. '#ff0000')
+      - an rgb/rgba string (e.g. 'rgb(255,0,0)')
+      - an hsl/hsla string (e.g. 'hsl(0,100%,50%)')
+      - an hsv/hsva string (e.g. 'hsv(0,100%,100%)')
+      - a named CSS color
+    """
+
+    @property
+    def colorsequence(self):
+        """An iterable of color values used to cycle trough for every disconnected part of
+        disconnected triangular mesh object.
+          A color may be specified by
+        - a hex string (e.g. '#ff0000')
+        - an rgb/rgba string (e.g. 'rgb(255,0,0)')
+        - an hsl/hsla string (e.g. 'hsl(0,100%,50%)')
+        - an hsv/hsva string (e.g. 'hsv(0,100%,100%)')
+        - a named CSS color"""
+        return self._colorsequence
+
+    @colorsequence.setter
+    def colorsequence(self, val):
+        if val is not None:
+            name = type(self).__name__
+            try:
+                val = tuple(
+                    color_validator(c, allow_None=False, parent_name=f"{name}")
+                    for c in val
+                )
+            except TypeError as err:
+                raise ValueError(
+                    f"The `colorsequence` property of {name} must be an "
+                    f"iterable of colors but received {val!r} instead"
+                ) from err
+
+        self._colorsequence = val
+
+
+class TriMesh(MagicProperties):
+    """Defines TriMesh mesh properties.
+
+    Parameters
+    ----------
+    grid: dict or GridMesh,  default=None
+        All mesh vertices and edges of a TriangularMesh object.
+
+    open: dict or OpenMesh,  default=None
+        Shows open mesh vertices and edges of a TriangularMesh object, if any.
+
+    disconnected: dict or DisconnectedMesh, default=None
+        Shows disconnected bodies of a TriangularMesh object, if any.
+    """
+
+    @property
+    def grid(self):
+        """GridMesh` instance with `'show'` property
+        or a dictionary with equivalent key/value pairs.
+        """
+        return self._grid
+
+    @grid.setter
+    def grid(self, val):
+        self._grid = validate_property_class(val, "grid", GridMesh, self)
+
+    @property
+    def open(self):
+        """OpenMesh` instance with `'show'` property
+        or a dictionary with equivalent key/value pairs.
+        """
+        return self._open
+
+    @open.setter
+    def open(self, val):
+        self._open = validate_property_class(val, "open", OpenMesh, self)
+
+    @property
+    def disconnected(self):
+        """`DisconnectedMesh` instance with `'show'` property
+        or a dictionary with equivalent key/value pairs.
+        """
+        return self._disconnected
+
+    @disconnected.setter
+    def disconnected(self, val):
+        self._disconnected = validate_property_class(
+            val, "disconnected", DisconnectedMesh, self
+        )
+
+
 class Orientation(MagicProperties):
     """Defines Triangle orientation properties.
 
@@ -822,7 +1017,7 @@ class Orientation(MagicProperties):
         and 1 with the base.
 
     symbol: {"cone", "arrow3d"}:
-        Orientation symbol for the triangular facets.
+        Orientation symbol for the triangular faces.
     """
 
     _allowed_symbols = ("cone", "arrow3d")
@@ -916,8 +1111,8 @@ def orientation(self, val):
         )
 
 
-class Triangle(MagicProperties, MagnetProperties, TriangleProperties):
-    """Defines styling properties of homogeneous magnet classes.
+class DefaultTriangle(MagicProperties, MagnetProperties, TriangleProperties):
+    """Defines styling properties of the Triangle class.
 
     Parameters
     ----------
@@ -973,6 +1168,88 @@ def __init__(self, orientation=None, **kwargs):
         super().__init__(orientation=orientation, **kwargs)
 
 
+class TriangularMeshProperties:
+    """Defines TriangularMesh properties."""
+
+    @property
+    def mesh(self):
+        """`TriMesh` instance with `'show', 'markers', 'line'` properties
+        or a dictionary with equivalent key/value pairs.
+        """
+        return self._mesh
+
+    @mesh.setter
+    def mesh(self, val):
+        self._mesh = validate_property_class(val, "mesh", TriMesh, self)
+
+
+class DefaultTriangularMesh(
+    MagicProperties, MagnetProperties, TriangleProperties, TriangularMeshProperties
+):
+    """Defines styling properties of homogeneous TriangularMesh magnet classes.
+
+    Parameters
+    ----------
+    magnetization: dict or Magnetization, default=None
+        Magnetization styling with `'show'`, `'size'`, `'color'` properties
+        or a dictionary with equivalent key/value pairs.
+
+    orientation: dict or Orientation,  default=None
+        Orientation of triangles styling with `'show'`, `'size'`, `'color', `'pivot'`, `'symbol'``
+        properties or a dictionary with equivalent key/value pairs.
+
+    mesh: dict or TriMesh, default=None
+        TriMesh styling properties (e.g. `'grid', 'open', 'disconnected'`)
+    """
+
+    def __init__(self, magnetization=None, orientation=None, mesh=None, **kwargs):
+        super().__init__(
+            magnetization=magnetization, orientation=orientation, mesh=mesh, **kwargs
+        )
+
+
+class TriangularMeshStyle(MagnetStyle, TriangleProperties, TriangularMeshProperties):
+    """Defines styling properties of the TriangularMesh magnet class.
+
+    Parameters
+    ----------
+    label: str, default=None
+        Label of the class instance, e.g. to be displayed in the legend.
+
+    description: dict or `Description` object, default=None
+        Object description properties.
+
+    color: str, default=None
+        A valid css color. Can also be one of `['r', 'g', 'b', 'y', 'm', 'c', 'k', 'w']`.
+
+    opacity: float, default=None
+        Object opacity between 0 and 1, where 1 is fully opaque and 0 is fully transparent.
+
+    path: dict or `Path` object, default=None
+        An instance of `Path` or dictionary of equivalent key/value pairs, defining the object
+        path marker and path line properties.
+
+    model3d: list of `Trace3d` objects, default=None
+        A list of traces where each is an instance of `Trace3d` or dictionary of equivalent
+        key/value pairs. Defines properties for an additional user-defined model3d object which is
+        positioned relatively to the main object to be displayed and moved automatically with it.
+        This feature also allows the user to replace the original 3d representation of the object.
+
+    magnetization: dict or Magnetization, default=None
+        Magnetization styling with `'show'`, `'size'`, `'color'` properties
+        or a dictionary with equivalent key/value pairs.
+
+    orientation: dict or Orientation,  default=None,
+        Orientation styling of triangles.
+
+    mesh: dict or TriMesh,  default=None,
+        mesh styling of triangles.
+    """
+
+    def __init__(self, orientation=None, **kwargs):
+        super().__init__(orientation=orientation, **kwargs)
+
+
 class ArrowCS(MagicProperties):
     """Defines triple coordinate system arrow properties.
 
@@ -1113,7 +1390,7 @@ def arrows(self, val):
         self._arrows = validate_property_class(val, "arrows", ArrowCS, self)
 
 
-class Sensor(MagicProperties, SensorProperties):
+class DefaultSensor(MagicProperties, SensorProperties):
     """Defines styling properties of the Sensor class.
 
     Parameters
@@ -1252,7 +1529,7 @@ def arrow(self, val):
         self._arrow = validate_property_class(val, "current", Arrow, self)
 
 
-class Current(MagicProperties, CurrentProperties):
+class DefaultCurrent(MagicProperties, CurrentProperties):
     """Defines the specific styling properties of line current classes.
 
     Parameters
@@ -1411,7 +1688,7 @@ def symbol(self, val):
         self._symbol = val
 
 
-class Markers(BaseStyle):
+class DefaultMarkers(BaseStyle):
     """Defines styling properties of the markers trace.
 
     Parameters
@@ -1479,7 +1756,7 @@ def pivot(self, val):
         self._pivot = val
 
 
-class Dipole(MagicProperties, DipoleProperties):
+class DefaultDipole(MagicProperties, DipoleProperties):
     """
     Defines styling properties of dipoles.
 
@@ -1536,11 +1813,17 @@ def __init__(self, **kwargs):
         super().__init__(**kwargs)
 
 
-class Path(MagicProperties):
+class Path(MagicProperties, MarkerLineProperties):
     """Defines styling properties of an object's path.
 
     Parameters
     ----------
+    show: bool, default=None
+        Show/hide path.
+        - False: Shows object(s) at final path position and hides paths lines and markers.
+        - True: Shows object(s) shows object paths depending on `line`, `marker` and `frames`
+        parameters.
+
     marker: dict or `Markers` object, default=None
         `Markers` object with 'color', 'symbol', 'size' properties, or dictionary with equivalent
         key/value pairs.
@@ -1549,12 +1832,6 @@ class Path(MagicProperties):
         `Line` object with 'color', 'symbol', 'size' properties, or dictionary with equivalent
         key/value pairs.
 
-    show: bool, default=None
-        Show/hide path.
-        - False: Shows object(s) at final path position and hides paths lines and markers.
-        - True: Shows object(s) shows object paths depending on `line`, `marker` and `frames`
-        parameters.
-
     frames: int or array_like, shape (n,), default=None
         Show copies of the 3D-model along the given path indices.
         - integer i: Displays the object(s) at every i'th path position.
@@ -1565,52 +1842,17 @@ class Path(MagicProperties):
     """
 
     def __init__(
-        self, marker=None, line=None, frames=None, show=None, numbering=None, **kwargs
+        self, show=None, marker=None, line=None, frames=None, numbering=None, **kwargs
     ):
         super().__init__(
+            show=show,
             marker=marker,
             line=line,
             frames=frames,
-            show=show,
             numbering=numbering,
             **kwargs,
         )
 
-    @property
-    def marker(self):
-        """`Markers` object with 'color', 'symbol', 'size' properties."""
-        return self._marker
-
-    @marker.setter
-    def marker(self, val):
-        self._marker = validate_property_class(val, "marker", Marker, self)
-
-    @property
-    def line(self):
-        """`Line` object with 'color', 'type', 'width' properties."""
-        return self._line
-
-    @line.setter
-    def line(self, val):
-        self._line = validate_property_class(val, "line", Line, self)
-
-    @property
-    def show(self):
-        """Show/hide path.
-        - False: Shows object(s) at final path position and hides paths lines and markers.
-        - True: Shows object(s) shows object paths depending on `line`, `marker` and `frames`
-        parameters.
-        """
-        return self._show
-
-    @show.setter
-    def show(self, val):
-        assert val is None or isinstance(val, bool), (
-            f"The `show` property of {type(self).__name__} must be either True or False,\n"
-            f"but received {repr(val)} instead."
-        )
-        self._show = val
-
     @property
     def frames(self):
         """Show copies of the 3D-model along the given path indices.
@@ -1772,54 +2014,65 @@ def base(self, val):
 
     @property
     def magnet(self):
-        """Magnet class."""
+        """Magnet default style class."""
         return self._magnet
 
     @magnet.setter
     def magnet(self, val):
-        self._magnet = validate_property_class(val, "magnet", Magnet, self)
+        self._magnet = validate_property_class(val, "magnet", DefaultMagnet, self)
+
+    @property
+    def triangularmesh(self):
+        """TriangularMesh default style class."""
+        return self._triangularmesh
+
+    @triangularmesh.setter
+    def triangularmesh(self, val):
+        self._triangularmesh = validate_property_class(
+            val, "triangularmesh", DefaultTriangularMesh, self
+        )
 
     @property
     def current(self):
-        """Current class."""
+        """Current default style class."""
         return self._current
 
     @current.setter
     def current(self, val):
-        self._current = validate_property_class(val, "current", Current, self)
+        self._current = validate_property_class(val, "current", DefaultCurrent, self)
 
     @property
     def dipole(self):
-        """Dipole class."""
+        """Dipole default style class."""
         return self._dipole
 
     @dipole.setter
     def dipole(self, val):
-        self._dipole = validate_property_class(val, "dipole", Dipole, self)
+        self._dipole = validate_property_class(val, "dipole", DefaultDipole, self)
 
     @property
     def triangle(self):
-        """Triangle class."""
+        """Triangle default style class."""
         return self._triangle
 
     @triangle.setter
     def triangle(self, val):
-        self._triangle = validate_property_class(val, "triangle", Triangle, self)
+        self._triangle = validate_property_class(val, "triangle", DefaultTriangle, self)
 
     @property
     def sensor(self):
-        """Sensor class."""
+        """Sensor default style class."""
         return self._sensor
 
     @sensor.setter
     def sensor(self, val):
-        self._sensor = validate_property_class(val, "sensor", Sensor, self)
+        self._sensor = validate_property_class(val, "sensor", DefaultSensor, self)
 
     @property
     def markers(self):
-        """Markers class."""
+        """Markers default style class."""
         return self._markers
 
     @markers.setter
     def markers(self, val):
-        self._markers = validate_property_class(val, "markers", Markers, self)
+        self._markers = validate_property_class(val, "markers", DefaultMarkers, self)
diff --git a/magpylib/magnet/__init__.py b/magpylib/magnet/__init__.py
index 407b6a015..651a5fffa 100644
--- a/magpylib/magnet/__init__.py
+++ b/magpylib/magnet/__init__.py
@@ -8,6 +8,7 @@
     "Sphere",
     "CylinderSegment",
     "Tetrahedron",
+    "TriangularMesh",
 ]
 
 from magpylib._src.obj_classes.class_magnet_Cuboid import Cuboid
@@ -15,3 +16,4 @@
 from magpylib._src.obj_classes.class_magnet_Sphere import Sphere
 from magpylib._src.obj_classes.class_magnet_CylinderSegment import CylinderSegment
 from magpylib._src.obj_classes.class_magnet_Tetrahedron import Tetrahedron
+from magpylib._src.obj_classes.class_magnet_TriangularMesh import TriangularMesh
diff --git a/setup.py b/setup.py
index aacb66518..4828fdb9c 100644
--- a/setup.py
+++ b/setup.py
@@ -75,6 +75,7 @@ def run(self):
             "coverage",
             "pylint",
             "jupyterlab>=3.2",
+            "jupyterlab_myst",
             "sphinx==4.4.0",
             "pandas",
             "pyvista",
@@ -88,6 +89,7 @@ def run(self):
         "Programming Language :: Python :: 3.8",
         "Programming Language :: Python :: 3.9",
         "Programming Language :: Python :: 3.10",
+        "Programming Language :: Python :: 3.11",
         "Intended Audience :: Developers",
         "Intended Audience :: Science/Research",
         "Intended Audience :: Education",


Test patch:
diff --git a/tests/test_core_field_functions.py b/tests/test_core_field_functions.py
index 0e829f822..ce5414efb 100644
--- a/tests/test_core_field_functions.py
+++ b/tests/test_core_field_functions.py
@@ -382,7 +382,7 @@ def test_triangle1():
 
 
 def test_triangle2():
-    """test core single triangle vs same surface split up into 4 triangles"""
+    """test core single triangle vs same surface split up into 4 triangular faces"""
     obs = np.array([(3, 4, 5)])
     mag = np.array([(111, 222, 333)])
     fac = np.array(
diff --git a/tests/test_defaults.py b/tests/test_defaults.py
index 5f3da617e..6a8121cca 100644
--- a/tests/test_defaults.py
+++ b/tests/test_defaults.py
@@ -16,7 +16,7 @@
     "display_animation_maxframes": (0,),  # int>0
     "display_animation_slider": ("notbool"),  # bool
     "display_backend": ("plotty",),  # str typo
-    "display_colorsequence": (["#2E91E5", "wrongcolor"],),  # iterable of colors
+    "display_colorsequence": (["#2E91E5", "wrongcolor"], 123),  # iterable of colors
     "display_style_base_path_line_width": (-1,),  # float>=0
     "display_style_base_path_line_style": ("wrongstyle",),
     "display_style_base_path_line_color": ("wrongcolor",),  # color
@@ -65,6 +65,7 @@
     "display_style_triangle_orientation_color": ("wrongcolor",),
     "display_style_triangle_orientation_offset": ("-1",),  # float, int
     "display_style_triangle_orientation_symbol": ("arrow0d"),  # "cone", "arrow3d"
+    "display_style_triangularmesh_mesh_disconnected_colorsequence": (1,),
     "display_style_markers_marker_size": (-1,),  # float>=0
     "display_style_markers_marker_color": ("wrongcolor",),
     "display_style_markers_marker_symbol": ("wrongsymbol",),
@@ -110,8 +111,8 @@ def test_defaults_bad_inputs(key, value, expected_errortype):
     "display_animation_slider": (True, False),  # bool
     "display_backend": tuple(SUPPORTED_PLOTTING_BACKENDS),  # str typo
     "display_colorsequence": (
-        ["#2E91E5", "#0D2A63"],
-        ["blue", "red"],
+        ("#2e91e5", "#0d2a63"),
+        ("blue", "red"),
     ),  # ]),  # iterable of colors
     "display_style_base_path_line_width": (0, 1),  # float>=0
     "display_style_base_path_line_style": LINESTYLES_MATPLOTLIB_TO_PLOTLY.keys(),
diff --git a/tests/test_display_matplotlib.py b/tests/test_display_matplotlib.py
index 361c08806..6f6cbf1b0 100644
--- a/tests/test_display_matplotlib.py
+++ b/tests/test_display_matplotlib.py
@@ -1,8 +1,11 @@
+import re
+
 import matplotlib
 import matplotlib.pyplot as plt
 import matplotlib.tri as mtri
 import numpy as np
 import pytest
+import pyvista as pv
 
 import magpylib as magpy
 from magpylib.graphics.model3d import make_Cuboid
@@ -11,68 +14,61 @@
 from magpylib.magnet import CylinderSegment
 from magpylib.magnet import Sphere
 
+
 # pylint: disable=assignment-from-no-return
 
 magpy.defaults.reset()
 
 
+def test_Cuboid_display():
+    """testing display"""
+    src = Cuboid((1, 2, 3), (1, 2, 3))
+    src.move(np.linspace((0.1, 0.1, 0.1), (2, 2, 2), 20), start=-1)
+    src.show(style_path_frames=5, return_fig=True)
+
+    with plt.ion():
+        x = src.show(style_path_show=False)
+    assert x is None  # only place where return_fig=False, for testcov
+
+
 def test_Cylinder_display():
     """testing display"""
+    # path should revert to True
     ax = plt.subplot(projection="3d")
     src = Cylinder((1, 2, 3), (1, 2))
-    x = src.show(canvas=ax, style_path_frames=15, backend="matplotlib")
-    assert x is None, "path should revert to True"
+    src.show(canvas=ax, style_path_frames=15, backend="matplotlib")
+
+    # hide path
     src.move(np.linspace((0.4, 0.4, 0.4), (12, 12, 12), 30), start=-1)
-    x = src.show(canvas=ax, style_path_show=False, backend="matplotlib")
-    assert x is None, "display test fail"
+    src.show(canvas=ax, style_path_show=False, backend="matplotlib")
 
-    x = src.show(canvas=ax, style_path_frames=[], backend="matplotlib")
-    assert x is None, "ind>path_len, should display last position"
+    # empty frames, ind>path_len, should display last position
+    src.show(canvas=ax, style_path_frames=[], backend="matplotlib")
 
-    x = src.show(
-        canvas=ax,
-        style_path_frames=[1, 5, 6],
-        backend="matplotlib",
+    src.show(
+        canvas=ax, style_path_frames=[1, 5, 6], backend="matplotlib", return_fig=True
     )
-    assert x is None, "should display 1,5,6 position"
 
 
 def test_CylinderSegment_display():
     """testing display"""
     ax = plt.subplot(projection="3d")
     src = CylinderSegment((1, 2, 3), (2, 4, 5, 30, 40))
-    x = src.show(canvas=ax, style_path_frames=15)
-    assert x is None, "path should revert to True"
+    src.show(canvas=ax, style_path_frames=15, return_fig=True)
 
     src.move(np.linspace((0.4, 0.4, 0.4), (13.2, 13.2, 13.2), 33), start=-1)
-    x = src.show(canvas=ax, style_path_show=False)
-    assert x is None, "display test fail"
+    src.show(canvas=ax, style_path_show=False, return_fig=True)
 
 
 def test_Sphere_display():
     """testing display"""
+    # path should revert to True
     ax = plt.subplot(projection="3d")
     src = Sphere((1, 2, 3), 2)
-    x = src.show(canvas=ax, style_path_frames=15)
-    assert x is None, "path should revert to True"
+    src.show(canvas=ax, style_path_frames=15, return_fig=True)
 
     src.move(np.linspace((0.4, 0.4, 0.4), (8, 8, 8), 20), start=-1)
-    x = src.show(canvas=ax, style_path_show=False)
-    assert x is None, "display test fail"
-
-
-def test_Cuboid_display():
-    """testing display"""
-    src = Cuboid((1, 2, 3), (1, 2, 3))
-    src.move(np.linspace((0.1, 0.1, 0.1), (2, 2, 2), 20), start=-1)
-    plt.ion()
-    x = src.show(style_path_frames=5)
-    plt.close()
-    assert x is None, "display test fail"
-
-    ax = plt.subplot(projection="3d")
-    x = src.show(canvas=ax, style_path_show=False)
-    assert x is None, "display test fail"
+    src.show(canvas=ax, style_path_show=False, return_fig=True)
 
 
 def test_Tetrahedron_display():
@@ -90,31 +86,31 @@ def test_Sensor_display():
     sens.style.arrows.z.show = False
     poz = np.linspace((0.4, 0.4, 0.4), (13.2, 13.2, 13.2), 33)
     sens.move(poz, start=-1)
-    x = sens.show(canvas=ax, markers=[(100, 100, 100)], style_path_frames=15)
-    assert x is None, "display test fail"
+    sens.show(
+        canvas=ax, markers=[(100, 100, 100)], style_path_frames=15, return_fig=True
+    )
 
-    x = sens.show(canvas=ax, markers=[(100, 100, 100)], style_path_show=False)
-    assert x is None, "display test fail"
+    sens.pixel = [(2, 3, 4)]  # one non-zero pixel
+    sens.show(
+        canvas=ax, markers=[(100, 100, 100)], style_path_show=False, return_fig=True
+    )
 
 
 def test_CustomSource_display():
     """testing display"""
     ax = plt.subplot(projection="3d")
     cs = magpy.misc.CustomSource()
-    x = cs.show(canvas=ax)
-    assert x is None, "display test fail"
+    cs.show(canvas=ax, return_fig=True)
 
 
 def test_Loop_display():
     """testing display for Loop source"""
     ax = plt.subplot(projection="3d")
     src = magpy.current.Loop(current=1, diameter=1)
-    x = src.show(canvas=ax)
-    assert x is None, "display test fail"
+    src.show(canvas=ax, return_fig=True)
 
     src.rotate_from_angax([5] * 35, "x", anchor=(1, 2, 3))
-    x = src.show(canvas=ax, style_path_frames=3)
-    assert x is None, "display test fail"
+    src.show(canvas=ax, style_path_frames=3, return_fig=True)
 
 
 def test_Triangle_display():
@@ -122,14 +118,14 @@ def test_Triangle_display():
     verts = [(0, 0, 0), (1, 0, 0), (0, 1, 0), (0, 0, 1)]
 
     mesh3d = magpy.graphics.model3d.make_TriangularMesh(vertices=verts)
-    # note: triangles are built by scipy.Convexhull since triangles=None
-    # ConvexHull DOES NOT GUARRANTY proper orientation of triangles when building a body
+    # note: faces are built by scipy.Convexhull since faces=None
+    # ConvexHull DOES NOT GUARRANTY proper orientation of faces when building a body
     points = np.array([v for k, v in mesh3d["kwargs"].items() if k in "xyz"]).T
-    triangles = np.array([v for k, v in mesh3d["kwargs"].items() if k in "ijk"]).T
+    faces = np.array([v for k, v in mesh3d["kwargs"].items() if k in "ijk"]).T
     src = magpy.Collection(
         [
             magpy.misc.Triangle(magnetization=(1000, 0, 0), vertices=v)
-            for v in points[triangles]
+            for v in points[faces]
         ]
     )
     magpy.show(
@@ -144,6 +140,65 @@ def test_Triangle_display():
     )
 
 
+def test_TringularMesh_display():
+    """testing display for TriangleMesh source built from vertices"""
+    # test  classic trimesh display
+    points = [(0, 0, 0), (1, 0, 0), (0, 1, 0), (0, 0, 1)]
+
+    src = magpy.magnet.TriangularMesh.from_ConvexHull(
+        magnetization=(1000, 0, 0), points=points
+    )
+    src.show(backend="matplotlib", style_description_show=False, return_fig=True)
+
+    # test display of disconnected and open mesh elements
+    polydata = pv.Text3D("AB")  # create disconnected mesh
+    polydata = polydata.triangulate()
+    vertices = polydata.points
+    faces = polydata.faces.reshape(-1, 4)[:, 1:]
+    faces = faces[1:]  # open the mesh
+    src = magpy.magnet.TriangularMesh(
+        (0, 0, 1000),
+        vertices,
+        faces,
+        check_open="ignore",
+        check_disconnected="ignore",
+        reorient_faces=False,
+        style_mesh_grid_show=True,
+    )
+
+    src.show(
+        style_mesh_open_show=True,
+        style_mesh_disconnected_show=True,
+        backend="matplotlib",
+        return_fig=True,
+    )
+
+    with pytest.warns(UserWarning) as record:
+        magpy.magnet.TriangularMesh(
+            (0, 0, 1000),
+            vertices,
+            faces,
+            check_open="skip",
+            check_disconnected="skip",
+            reorient_faces=False,
+            style_mesh_grid_show=True,
+        ).show(
+            style_mesh_open_show=True,
+            style_mesh_disconnected_show=True,
+            backend="matplotlib",
+            return_fig=True,
+        )
+        assert len(record) == 4
+        assert re.match(
+            r"Unchecked open mesh status in .* detected", str(record[0].message)
+        )
+        assert re.match(r"Open mesh detected in .*.", str(record[1].message))
+        assert re.match(
+            r"Unchecked disconnected mesh status in .* detected", str(record[2].message)
+        )
+        assert re.match(r"Disconnected mesh detected in .*.", str(record[3].message))
+
+
 def test_col_display():
     """testing display"""
     # pylint: disable=assignment-from-no-return
@@ -152,8 +207,7 @@ def test_col_display():
     pm2 = pm1.copy(position=(2, 0, 0))
     pm3 = pm1.copy(position=(4, 0, 0))
     nested_col = (pm1 + pm2 + pm3).set_children_styles(color="magenta")
-    x = nested_col.show(canvas=ax)
-    assert x is None, "colletion display test fail"
+    nested_col.show(canvas=ax, return_fig=True)
 
 
 def test_dipole_display():
@@ -163,10 +217,8 @@ def test_dipole_display():
     dip = magpy.misc.Dipole(moment=(1, 2, 3), position=(2, 2, 2))
     dip2 = magpy.misc.Dipole(moment=(1, 2, 3), position=(2, 2, 2))
     dip2.move(np.linspace((0.4, 0.4, 0.4), (2, 2, 2), 5), start=-1)
-    x = dip.show(canvas=ax2)
-    assert x is None, "display test fail"
-    x = dip.show(canvas=ax2, style_path_frames=2)
-    assert x is None, "display test fail"
+    dip.show(canvas=ax2, return_fig=True)
+    dip.show(canvas=ax2, style_path_frames=2, return_fig=True)
 
 
 def test_circular_line_display():
@@ -179,14 +231,10 @@ def test_circular_line_display():
     src3 = magpy.current.Line(1, [(0, 0, 0), (1, 1, 1), (2, 2, 2)])
     src4 = magpy.current.Line(1, [(0, 0, 0), (1, 1, 1), (2, 2, 2)])
     src3.move([(0.4, 0.4, 0.4)] * 5, start=-1)
-    x = src1.show(canvas=ax2, style_path_frames=2, style_arrow_size=0)
-    assert x is None, "display test fail"
-    x = src2.show(canvas=ax2)
-    assert x is None, "display test fail"
-    x = src3.show(canvas=ax2, style_arrow_size=0)
-    assert x is None, "display test fail"
-    x = src4.show(canvas=ax2, style_path_frames=2)
-    assert x is None, "display test fail"
+    src1.show(canvas=ax2, style_path_frames=2, style_arrow_size=0, return_fig=True)
+    src2.show(canvas=ax2, return_fig=True)
+    src3.show(canvas=ax2, style_arrow_size=0, return_fig=True)
+    src4.show(canvas=ax2, style_path_frames=2, return_fig=True)
 
 
 def test_matplotlib_model3d_extra():
@@ -239,8 +287,7 @@ def test_matplotlib_model3d_extra():
     obj3.style.model3d.add_trace(**trace3)
 
     ax = plt.subplot(projection="3d")
-    x = magpy.show(obj1, obj2, obj3, canvas=ax)
-    assert x is None, "display test fail"
+    magpy.show(obj1, obj2, obj3, canvas=ax, return_fig=True)
 
 
 def test_matplotlib_model3d_extra_bad_input():
@@ -257,7 +304,7 @@ def test_matplotlib_model3d_extra_bad_input():
     with pytest.raises(ValueError):
         obj.style.model3d.add_trace(**trace)
         ax = plt.subplot(projection="3d")
-        obj.show(canvas=ax)
+        obj.show(canvas=ax, return_fig=True)
 
 
 def test_matplotlib_model3d_extra_updatefunc():
@@ -267,7 +314,7 @@ def test_matplotlib_model3d_extra_updatefunc():
     updatefunc = lambda: make_Cuboid("matplotlib", position=(2, 0, 0))
     obj.style.model3d.data = updatefunc
     ax = plt.subplot(projection="3d")
-    obj.show(canvas=ax)
+    obj.show(canvas=ax, return_fig=True)
 
     with pytest.raises(ValueError):
         updatefunc = "not callable"
@@ -289,8 +336,7 @@ def test_matplotlib_model3d_extra_updatefunc():
 def test_empty_display():
     """should not fail if nothing to display"""
     ax = plt.subplot(projection="3d")
-    x = magpy.show(canvas=ax, backend="matplotlib")
-    assert x is None, "empty display matplotlib test fail"
+    magpy.show(canvas=ax, backend="matplotlib", return_fig=True)
 
 
 def test_graphics_model_mpl():
@@ -299,7 +345,7 @@ def test_graphics_model_mpl():
     c = magpy.magnet.Cuboid((0, 1, 0), (1, 1, 1))
     c.rotate_from_angax(33, "x", anchor=0)
     c.style.model3d.add_trace(**make_Cuboid("matplotlib", position=(2, 0, 0)))
-    c.show(canvas=ax, style_path_frames=1, backend="matplotlib")
+    c.show(canvas=ax, style_path_frames=1, backend="matplotlib", return_fig=True)
 
 
 def test_graphics_model_generic_to_mpl():
@@ -317,6 +363,9 @@ def test_mpl_animation():
     """test animation with matplotib"""
     c = magpy.magnet.Cuboid((0, 1, 0), (1, 1, 1))
     c.move([[i, 0, 0] for i in range(2)])
-    anim = c.show(backend="matplotlib", animation=True, return_animation=True)
+    fig, anim = c.show(
+        backend="matplotlib", animation=True, return_animation=True, return_fig=True
+    )
     anim._draw_was_started = True  # avoid mpl test warning
+    assert isinstance(fig, matplotlib.figure.Figure)
     assert isinstance(anim, matplotlib.animation.FuncAnimation)
diff --git a/tests/test_getBH_dict.py b/tests/test_getBH_dict.py
index 0be5ec244..796b99e8c 100644
--- a/tests/test_getBH_dict.py
+++ b/tests/test_getBH_dict.py
@@ -400,6 +400,7 @@ def test_getB_dict_over_getB():
 
 def test_subclassing():
     """Test side effects of suclasssing a source"""
+
     # pylint: disable=unused-variable
     class MyCuboid(magpylib.magnet.Cuboid):
         """Test subclass"""
diff --git a/tests/test_getBH_level2.py b/tests/test_getBH_level2.py
index 6727fafb2..9ce861973 100644
--- a/tests/test_getBH_level2.py
+++ b/tests/test_getBH_level2.py
@@ -35,7 +35,6 @@ def test_getB_level2_input_simple():
         [fb1, fb1, fb1, fb1, fb2],
         [fc1, fc1, fc1, fc1, fc2],
     ):
-
         src_obs_res = [
             [pm1, poso, fb],
             [pm3, poso, fc],
diff --git a/tests/test_input_checks.py b/tests/test_input_checks.py
index 5402a7a4f..80aca5549 100644
--- a/tests/test_input_checks.py
+++ b/tests/test_input_checks.py
@@ -479,6 +479,23 @@ def gg(field, observers):
     np.testing.assert_raises(MagpylibBadUserInput, magpy.misc.CustomSource, gg)
 
 
+def test_missing_input_triangular_mesh():
+    """missing input checks for TriangularMesh"""
+
+    verts = np.array([(0, 0, 0), (1, 0, 0), (0, 1, 0), (0, 0, 1)])
+    tris = np.array([(0, 1, 2), (0, 1, 3), (1, 2, 3), (0, 2, 3)])
+
+    def trim():
+        magpy.magnet.TriangularMesh(faces=tris)
+
+    np.testing.assert_raises(MagpylibMissingInput, trim)
+
+    def trimm():
+        magpy.magnet.TriangularMesh(vertices=verts)
+
+    np.testing.assert_raises(MagpylibMissingInput, trimm)
+
+
 ###########################################################
 ###########################################################
 # DISPLAY
diff --git a/tests/test_obj_BaseGeo.py b/tests/test_obj_BaseGeo.py
index 6bafad0f8..4b6792fd1 100644
--- a/tests/test_obj_BaseGeo.py
+++ b/tests/test_obj_BaseGeo.py
@@ -2,6 +2,7 @@
 
 import numpy as np
 import pytest
+import pyvista as pv
 from scipy.spatial.transform import Rotation as R
 
 import magpylib as magpy
@@ -511,3 +512,29 @@ def test_describe():
     )
     desc = re.sub("id=*[0-9]*[0-9]", "id=REGEX", desc)
     assert desc == test
+
+    # describe tringularmesh
+    s = magpy.magnet.TriangularMesh.from_pyvista(
+        magnetization=(0, 0, 1000),
+        polydata=pv.Text3D("A"),
+    )
+    desc = s.describe(return_string=True)
+    test = (
+        "TriangularMesh(id=REGEX)\n"
+        "  • parent: None \n"
+        "  • position: [0. 0. 0.] mm\n"
+        "  • orientation: [0. 0. 0.] degrees\n"
+        "  • magnetization: [   0.    0. 1000.] mT\n"
+        "  • barycenter: [0.64466889 0.42195708 0.25      ] \n"
+        "  • faces: shape(52, 3) \n"
+        "  • mesh: shape(52, 3, 3) \n"
+        "  • status_disconnected: False \n"
+        "  • status_disconnected_data: 1 part \n"
+        "  • status_open: False \n"
+        "  • status_open_data: [] \n"
+        "  • status_reoriented: True \n"
+        "  • vertices: shape(26, 3) "
+    )
+    desc = re.sub("id=*[0-9]*[0-9]", "id=REGEX", desc)
+    # to create test: print('\\n"\n'.join(f'"{s}' for s in desc.split("\n")) + '"')
+    assert desc == test
diff --git a/tests/test_obj_Cylinder.py b/tests/test_obj_Cylinder.py
index b4a539118..e072fba95 100644
--- a/tests/test_obj_Cylinder.py
+++ b/tests/test_obj_Cylinder.py
@@ -68,7 +68,6 @@ def test_Cylinder_getBH():
     dim5 = [(0, 0.5, 2, 0, 360), (0, 1, 3, 0, 360), (0.0000001, 1.5, 4, 0, 360)]
 
     for d2, d5 in zip(dim2, dim5):
-
         src1 = magpy.magnet.Cylinder(mag, d2)
         src2 = magpy.magnet.CylinderSegment(mag, d5)
         B0 = src1.getB(poso)
diff --git a/tests/test_obj_Facet.py b/tests/test_obj_Triangle.py
similarity index 97%
rename from tests/test_obj_Facet.py
rename to tests/test_obj_Triangle.py
index 19784d5ea..7c1966b30 100644
--- a/tests/test_obj_Facet.py
+++ b/tests/test_obj_Triangle.py
@@ -77,8 +77,8 @@ def call_getB():
     np.testing.assert_raises(MagpylibMissingInput, call_getB)
 
 
-def test_barycenter():
-    """call barycenter"""
+def test_Triangle_barycenter():
+    """test Triangle barycenter"""
     mag = (0, 0, 333)
     vert = ((-1, -1, 0), (1, -1, 0), (0, 2, 0))
     face = magpy.misc.Triangle(mag, vert)
diff --git a/tests/test_obj_TriangularMesh.py b/tests/test_obj_TriangularMesh.py
new file mode 100644
index 000000000..f5d7d5fe9
--- /dev/null
+++ b/tests/test_obj_TriangularMesh.py
@@ -0,0 +1,423 @@
+import re
+import sys
+import warnings
+from unittest.mock import patch
+
+import numpy as np
+import pytest
+import pyvista as pv
+
+import magpylib as magpy
+from magpylib._src.exceptions import MagpylibBadUserInput
+from magpylib._src.fields.field_BH_triangularmesh import fix_trimesh_orientation
+from magpylib._src.fields.field_BH_triangularmesh import lines_end_in_trimesh
+from magpylib._src.fields.field_BH_triangularmesh import magnet_trimesh_field
+
+
+def test_TriangularMesh_repr():
+    """TriangularMesh repr test"""
+    trimesh = magpy.magnet.TriangularMesh.from_pyvista((0, 0, 1000), pv.Octahedron())
+    assert repr(trimesh).startswith("TriangularMesh"), "TriangularMesh repr failed"
+
+
+def test_TriangularMesh_barycenter():
+    """test TriangluarMesh barycenter"""
+    mag = (0, 0, 333)
+    trimesh = magpy.magnet.TriangularMesh.from_pyvista(mag, pv.Octahedron()).move(
+        (1, 2, 3)
+    )
+    bary = np.array([1, 2, 3])
+    np.testing.assert_allclose(trimesh.barycenter, bary)
+
+
+def test_TriangularMesh_getBH():
+    """Compare meshed cube to magpylib cube"""
+    dimension = (1, 1, 1)
+    magnetization = (100, 200, 300)
+    mesh3d = magpy.graphics.model3d.make_Cuboid()
+    vertices = np.array([v for k, v in mesh3d["kwargs"].items() if k in "xyz"]).T
+    faces = np.array([v for k, v in mesh3d["kwargs"].items() if k in "ijk"]).T
+
+    faces[0] = faces[0][[0, 2, 1]]  # flip one triangle in wrong orientation
+
+    cube = magpy.magnet.Cuboid(magnetization=magnetization, dimension=dimension)
+    cube.rotate_from_angax(19, (1, 2, 3))
+    cube.move((1, 2, 3))
+
+    cube_facet_reorient_true = magpy.magnet.TriangularMesh(
+        position=cube.position,
+        orientation=cube.orientation,
+        magnetization=magnetization,
+        vertices=vertices,
+        faces=faces,
+        reorient_faces=True,
+    )
+    cube_misc_faces = cube_facet_reorient_true.to_TriangleCollection()
+    cube_facet_reorient_false = magpy.magnet.TriangularMesh(
+        position=cube.position,
+        orientation=cube.orientation,
+        magnetization=magnetization,
+        vertices=vertices,
+        faces=faces,
+        reorient_faces=False,
+    )
+
+    vertices = np.linspace((-2, 0, 0), (2, 0, 0), 50)
+    B1 = cube.getB(vertices)
+    B2 = cube_facet_reorient_true.getB(vertices)
+    B3 = cube_misc_faces.getB(vertices)
+    B4 = cube_facet_reorient_false.getB(vertices)
+
+    np.testing.assert_allclose(B1, B2)
+    np.testing.assert_allclose(B1, B3)
+
+    with pytest.raises(AssertionError):
+        np.testing.assert_allclose(B1, B4)
+
+    H1 = cube.getH(vertices)
+    H2 = cube_facet_reorient_true.getH(vertices)
+    H3 = cube_misc_faces.getH(vertices)
+
+    np.testing.assert_allclose(H1, H2)
+    np.testing.assert_allclose(H1, H3)
+
+
+def test_TriangularMesh_getB_different_facet_shapes_mixed():
+    """test different facet shapes, facet cube has
+    shape (12,3,3) vs (4,3,3) for facet tetrahedron"""
+    tetra_pv = pv.Tetrahedron()
+    tetra = (
+        magpy.magnet.Tetrahedron((444, 555, 666), vertices=tetra_pv.points)
+        .move((-1, 1, 1))
+        .rotate_from_angax([14, 65, 97], (4, 6, 9), anchor=0)
+    )
+    tetra_kwargs = {
+        "magnetization": tetra.magnetization,
+        "position": tetra.position,
+        "orientation": tetra.orientation,
+    }
+    tmesh_tetra = magpy.magnet.TriangularMesh.from_pyvista(
+        polydata=tetra_pv, **tetra_kwargs
+    )
+    assert tmesh_tetra.status_reoriented is True
+    cube = (
+        magpy.magnet.Cuboid((111, 222, 333), (1, 1, 1))
+        .move((1, 1, 1))
+        .rotate_from_angax([14, 65, 97], (4, 6, 9), anchor=0)
+    )
+    cube_kwargs = {
+        "magnetization": cube.magnetization,
+        "position": cube.position,
+        "orientation": cube.orientation,
+    }
+    tmesh_cube = magpy.magnet.TriangularMesh.from_pyvista(
+        polydata=pv.Cube(), **cube_kwargs
+    )
+    # create a sensor of which the pixel line corsses both bodies
+    sens = magpy.Sensor(pixel=np.linspace((-2, 1, 1), (2, 1, 1))).rotate_from_angax(
+        [14, 65, 97], (4, 6, 9), anchor=0
+    )
+
+    np.testing.assert_allclose(magpy.getB(cube, sens), magpy.getB(tmesh_cube, sens))
+    np.testing.assert_allclose(magpy.getB(tetra, sens), magpy.getB(tmesh_tetra, sens))
+    np.testing.assert_allclose(
+        magpy.getB([tetra, cube], sens), magpy.getB([tmesh_tetra, tmesh_cube], sens)
+    )
+
+
+def test_magnet_trimesh_func():
+    """test on manual inside"""
+    mag = (111, 222, 333)
+    dim = (10, 10, 10)
+    cube = magpy.magnet.Cuboid(mag, dim)
+    tmesh_cube = magpy.magnet.TriangularMesh.from_pyvista(
+        mag, pv.Cube(cube.position, *dim)
+    )
+
+    pts_inside = np.array([[0, 0, 1]])
+    B0 = cube.getB(pts_inside)
+    B1 = tmesh_cube.getB(pts_inside)
+    B2 = magnet_trimesh_field(
+        "B",
+        pts_inside,
+        np.array([mag]),
+        np.array([tmesh_cube.mesh]),
+        in_out="inside",
+    )[0]
+    np.testing.assert_allclose(B0, B1)
+    np.testing.assert_allclose(B0, B2)
+
+
+def test_bad_triangle_indices():
+    "raise ValueError if faces index > len(vertices)"
+    vertices = [[0, 0, 0], [0, 0, 1], [1, 0, 0]]
+    faces = [[1, 2, 3]]  # index 3 >= len(vertices)
+    with pytest.raises(IndexError):
+        magpy.magnet.TriangularMesh(
+            magnetization=(0, 0, 1000),
+            vertices=vertices,
+            faces=faces,
+        )
+
+
+def test_open_mesh():
+    """raises Error if mesh is open"""
+    open_mesh = {
+        "i": [7, 0, 0, 0, 4, 4, 2, 6, 4, 0, 3],
+        "j": [0, 7, 1, 2, 6, 7, 1, 2, 5, 5, 2],
+        "k": [3, 4, 2, 3, 5, 6, 5, 5, 0, 1, 7],
+        "x": [-1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 1.0, 1.0],
+        "y": [-1.0, 1.0, 1.0, -1.0, -1.0, 1.0, 1.0, -1.0],
+        "z": [-1.0, -1.0, -1.0, -1.0, 1.0, 1.0, 1.0, 1.0],
+    }
+    vertices = np.array([v for k, v in open_mesh.items() if k in "xyz"]).T
+    faces = np.array([v for k, v in open_mesh.items() if k in "ijk"]).T
+    with pytest.raises(ValueError, match=r"Open mesh detected in .*."):
+        magpy.magnet.TriangularMesh(
+            magnetization=(0, 0, 1000),
+            vertices=vertices,
+            faces=faces,
+            check_open="raise",
+        )
+    with pytest.raises(ValueError, match=r"Open mesh in .* detected."):
+        magpy.magnet.TriangularMesh(
+            magnetization=(0, 0, 1000),
+            vertices=vertices,
+            faces=faces,
+            check_open="ignore",
+            reorient_faces="raise",
+        )
+    with pytest.warns(UserWarning) as record:
+        magpy.magnet.TriangularMesh(
+            magnetization=(0, 0, 1000),
+            vertices=vertices,
+            faces=faces,
+            check_open="warn",
+        )
+        assert len(record) == 2
+        assert re.match(r"Open mesh detected in .*.", str(record[0].message))
+        assert re.match(r"Open mesh in .* detected.", str(record[1].message))
+
+    with pytest.warns(UserWarning) as record:
+        magpy.magnet.TriangularMesh(
+            magnetization=(0, 0, 1000),
+            vertices=vertices,
+            faces=faces,
+            check_open="skip",
+            reorient_faces="warn",
+        )
+        assert len(record) == 3
+        assert re.match(
+            r"Unchecked mesh status in .* detected. Now applying check_open()",
+            str(record[0].message),
+        )
+        assert re.match(r"Open mesh detected in .*.", str(record[1].message))
+        assert re.match(r"Open mesh in .* detected.", str(record[2].message))
+
+    with warnings.catch_warnings():  # no warning should be issued!
+        warnings.simplefilter("error")
+        mesh = magpy.magnet.TriangularMesh(
+            magnetization=(0, 0, 1000),
+            vertices=vertices,
+            faces=faces,
+            check_open="ignore",
+            reorient_faces="ignore",
+        )
+
+    with pytest.warns(
+        UserWarning,
+        match=r"Open mesh of .* detected",
+    ):
+        mesh = magpy.magnet.TriangularMesh(
+            magnetization=(0, 0, 1000),
+            vertices=vertices,
+            faces=faces,
+            check_open="ignore",
+            reorient_faces="ignore",
+        )
+        mesh.getB((0, 0, 0))
+
+    with pytest.warns(UserWarning, match=r"Unchecked mesh status of .* detected"):
+        mesh = magpy.magnet.TriangularMesh(
+            magnetization=(0, 0, 1000),
+            vertices=vertices,
+            faces=faces,
+            check_open="skip",
+            reorient_faces="skip",
+        )
+        mesh.getB((0, 0, 0))
+
+
+def test_disconnected_mesh():
+    """raises Error if mesh is not connected"""
+    #  Multiple Text3D letters are disconnected
+    with pytest.raises(ValueError, match=r"Disconnected mesh detected in .*."):
+        magpy.magnet.TriangularMesh.from_pyvista(
+            magnetization=(0, 0, 1000),
+            polydata=pv.Text3D("AB"),
+            check_disconnected="raise",
+        )
+    with pytest.warns(UserWarning, match=r"Disconnected mesh detected in .*."):
+        magpy.magnet.TriangularMesh.from_pyvista(
+            magnetization=(0, 0, 1000),
+            polydata=pv.Text3D("AB"),
+            check_disconnected="warn",
+        )
+
+
+def test_TriangularMesh_from_pyvista():
+    """Test from_pyvista classmethod"""
+
+    def get_tri_from_pv(obj):
+        return magpy.magnet.TriangularMesh.from_pyvista((0, 0, 1000), obj)
+
+    # shoud work
+    get_tri_from_pv(pv.Cube())
+
+    # should fail
+    with pytest.raises(TypeError):
+        get_tri_from_pv("bad_pyvista_obj_input")
+
+    # Should raise if pyvista is not installed
+    with patch.dict(sys.modules, {"pyvista": None}):
+        with pytest.raises(ModuleNotFoundError):
+            get_tri_from_pv(pv.Cube())
+
+
+def test_TriangularMesh_from_faces_bad_inputs():
+    """Test from_faces classmethod bad inputs"""
+    mag = (0, 0, 1000)
+
+    def get_tri_from_triangles(trias):
+        return magpy.magnet.TriangularMesh.from_triangles(
+            mag,
+            trias,
+            check_open=False,
+            check_disconnected=False,
+            reorient_faces=False,
+        )
+
+    def get_tri_from_mesh(mesh):
+        return magpy.magnet.TriangularMesh.from_mesh(
+            mag,
+            mesh,
+            check_open=False,
+            check_disconnected=False,
+            reorient_faces=False,
+        )
+
+    triangle = magpy.misc.Triangle(mag, [(0, 0, 0), (1, 0, 0), (0, 1, 0)])
+
+    # good element type but not array-like
+    with pytest.raises(TypeError):
+        get_tri_from_triangles(triangle)
+
+    # element in list has wrong type
+    with pytest.raises(TypeError):
+        get_tri_from_triangles(["bad_type"])
+
+    # bad type input
+    with pytest.raises(MagpylibBadUserInput):
+        get_tri_from_mesh(1)
+
+    # bad shape input
+    msh = [((0, 0), (1, 0), (0, 1))] * 2
+    with pytest.raises(ValueError):
+        get_tri_from_mesh(msh)
+
+    # bad shape input
+    msh = [((0, 0, 0), (1, 0, 0), (0, 1, 0), (0, 0, 1))] * 2
+    with pytest.raises(ValueError):
+        get_tri_from_mesh(msh)
+
+
+def test_TriangularMesh_from_faces_good_inputs():
+    """Test from_faces classmethod good inputs"""
+    mag = (0, 0, 1000)
+
+    # create Tetrahedron and move/orient randomly
+    tetra = magpy.magnet.Tetrahedron(mag, [(0, 0, 0), (1, 0, 0), (0, 1, 0), (0, 0, 1)])
+    tetra.move((3, 4, 5)).rotate_from_angax([13, 37], (1, 2, 3), anchor=0)
+    pos_ori = dict(orientation=tetra.orientation, position=tetra.position)
+
+    tmesh1 = magpy.magnet.TriangularMesh.from_ConvexHull(mag, tetra.vertices, **pos_ori)
+
+    # from triangle list
+    trias = [magpy.misc.Triangle(mag, face) for face in tmesh1.mesh]
+    tmesh2 = magpy.magnet.TriangularMesh.from_triangles(mag, trias, **pos_ori)
+
+    # from collection
+    coll = magpy.Collection(trias)
+    tmesh3 = magpy.magnet.TriangularMesh.from_triangles(mag, coll, **pos_ori)
+
+    # from mesh
+    msh = [t.vertices for t in coll]
+    tmesh4 = magpy.magnet.TriangularMesh.from_mesh(mag, msh, **pos_ori)
+
+    points = [0, 0, 0]
+    B0 = tetra.getB(points)
+    B1 = tmesh1.getB(points)
+    B2 = tmesh2.getB(points)
+    B3 = tmesh3.getB(points)
+    B4 = tmesh4.getB(points)
+
+    np.testing.assert_allclose(B0, B1)
+    np.testing.assert_allclose(B0, B2)
+    np.testing.assert_allclose(B0, B3)
+    np.testing.assert_allclose(B0, B4)
+
+    # # 2-> test getB vs ConvexHull Tetrahedron faces as msh
+    # msh = tetra_from_ConvexHull.mesh
+    # src2 = get_tri_from_faces(msh, **pos_orient)
+    # B2 = src2.getB(points)
+    # np.testing.assert_allclose(B0, B2)
+
+    # # 3-> test getB vs ConvexHull Tetrahedron faces as magpylib.misc.Triangles
+    # msh = [magpy.misc.Triangle(mag, face) for face in tetra_from_ConvexHull.mesh]
+    # src3 = get_tri_from_faces(msh, **pos_orient)
+    # B3 = src3.getB(points)
+    # np.testing.assert_allclose(B0, B3)
+
+    # # 4-> test getB mixed input
+    # msh = [magpy.misc.Triangle(mag, face) for face in tetra_from_ConvexHull.mesh]
+    # msh[-1] = [[0.0, 0.0, 1.0], [1.0, 0.0, 0.0], [0.0, 1.0, 0.0]]
+    # src4 = get_tri_from_faces(msh, **pos_orient)
+    # B4 = src4.getB(points)
+    # np.testing.assert_allclose(B0, B4)
+
+
+def test_lines_ends_in_trimesh():
+    "test special cases"
+
+    # line point coincides with facet point
+    msh = np.array([[[0, 0, 0], [0, 1, 0], [1, 0, 0]]])
+    lines = np.array([[[-1, 1, -1], [1, 0, 0]]])
+
+    assert bool(lines_end_in_trimesh(lines, msh)[0]) is True
+
+
+def test_reorient_on_closed_but_disconnected_mesh():
+    """Reorient edge case"""
+    N = 3
+    s1 = pv.Sphere(theta_resolution=N, phi_resolution=N)
+    s2 = pv.Sphere(theta_resolution=N, phi_resolution=N, center=(2, 0, 0))
+    polydata = s1.merge(s2)
+    faces = polydata.faces.reshape(-1, 4)[:, 1:]
+    vertices = polydata.points
+
+    # flip every 2nd normals
+    bad_faces = faces.copy()
+    bad_faces[::2] = bad_faces[::2, [0, 2, 1]]
+
+    fixed_faces = fix_trimesh_orientation(vertices, bad_faces)
+    np.testing.assert_array_equal(faces, fixed_faces)
+
+
+def test_bad_mode_input():
+    with pytest.raises(
+        ValueError,
+        match=r"The `check_open mode` argument .*, instead received 'badinput'.",
+    ):
+        magpy.magnet.TriangularMesh.from_pyvista(
+            magnetization=(0, 0, 1000), polydata=pv.Octahedron(), check_open="badinput"
+        )