[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1107457: unblock: python-mitogen/0.3.25~a1-1



Package: release.debian.org
Severity: normal
X-Debbugs-Cc: python-mitogen@packages.debian.org
Control: affects -1 + src:python-mitogen
User: release.debian.org@packages.debian.org
Usertags: unblock

Please unblock package python-mitogen

[ Reason ]
This is an alpha release to preview upstream ansible 2.19 support 
(initiated with Debian's patches).

It resolves a current RC bug in testing.

When a final release comes out, I plan to upgrade to it, too.

[ Impact ]
Known incompatibilities with ansible 2.19.

[ Tests ]
There is an automated test suite, we only run the unit test part of it. 
But I have been using this personally, and Marco d'Itri confirms that it 
resolves the RC bug (#1106281).

[ Risks ]
This is only *just* a key-package. The non-ansible parts of mitogen are 
used in pyroute2's testsuite for some contrib modules (that have since 
been removed, upstream).

[ Checklist ]
  [x] all changes are documented in the d/changelog
  [x] I reviewed all changes and I approve them
  [x] attach debdiff against the package in testing

unblock python-mitogen/0.3.25~a1-1
diff -Nru python-mitogen-0.3.23/ansible_mitogen/connection.py python-mitogen-0.3.25~a1/ansible_mitogen/connection.py
--- python-mitogen-0.3.23/ansible_mitogen/connection.py	2025-04-28 15:04:30.000000000 +0200
+++ python-mitogen-0.3.25~a1/ansible_mitogen/connection.py	2025-06-05 00:40:06.000000000 +0200
@@ -767,7 +767,7 @@
                               C.BECOME_ALLOW_SAME_USER):
             stack += (CONNECTION_METHOD[spec.become_method()](spec),)
 
-        return stack
+        return ansible_mitogen.utils.unsafe.cast(stack)
 
     def _build_stack(self):
         """
diff -Nru python-mitogen-0.3.23/ansible_mitogen/loaders.py python-mitogen-0.3.25~a1/ansible_mitogen/loaders.py
--- python-mitogen-0.3.23/ansible_mitogen/loaders.py	2025-04-28 15:04:30.000000000 +0200
+++ python-mitogen-0.3.25~a1/ansible_mitogen/loaders.py	2025-06-05 00:40:06.000000000 +0200
@@ -49,7 +49,7 @@
 
 
 ANSIBLE_VERSION_MIN = (2, 10)
-ANSIBLE_VERSION_MAX = (2, 18)
+ANSIBLE_VERSION_MAX = (2, 19)
 
 NEW_VERSION_MSG = (
     "Your Ansible version (%s) is too recent. The most recent version\n"
diff -Nru python-mitogen-0.3.23/ansible_mitogen/mixins.py python-mitogen-0.3.25~a1/ansible_mitogen/mixins.py
--- python-mitogen-0.3.23/ansible_mitogen/mixins.py	2025-04-28 15:04:30.000000000 +0200
+++ python-mitogen-0.3.25~a1/ansible_mitogen/mixins.py	2025-06-05 00:40:06.000000000 +0200
@@ -402,15 +402,17 @@
             if not self._mitogen_rediscovered_interpreter:
                 result['ansible_facts'][self._discovered_interpreter_key] = self._discovered_interpreter
 
-        if self._discovery_warnings:
+        discovery_warnings = getattr(self, '_discovery_warnings', [])
+        if discovery_warnings:
             if result.get('warnings') is None:
                 result['warnings'] = []
-            result['warnings'].extend(self._discovery_warnings)
+            result['warnings'].extend(discovery_warnings)
 
-        if self._discovery_deprecation_warnings:
+        discovery_deprecation_warnings = getattr(self, '_discovery_deprecation_warnings', [])
+        if discovery_deprecation_warnings:
             if result.get('deprecations') is None:
                 result['deprecations'] = []
-            result['deprecations'].extend(self._discovery_deprecation_warnings)
+            result['deprecations'].extend(discovery_deprecation_warnings)
 
         return ansible.utils.unsafe_proxy.wrap_var(result)
 
@@ -429,7 +431,10 @@
                     "stderr": "stderr data"
                 }
         """
-        data = self._parse_returned_data(result)
+        if ansible_mitogen.utils.ansible_version[:2] >= (2, 19):
+            data = self._parse_returned_data(result, profile='legacy')
+        else:
+            data = self._parse_returned_data(result)
 
         # Cutpasted from the base implementation.
         if 'stdout' in data and 'stdout_lines' not in data:
diff -Nru python-mitogen-0.3.23/ansible_mitogen/planner.py python-mitogen-0.3.25~a1/ansible_mitogen/planner.py
--- python-mitogen-0.3.23/ansible_mitogen/planner.py	2025-04-28 15:04:30.000000000 +0200
+++ python-mitogen-0.3.25~a1/ansible_mitogen/planner.py	2025-06-05 00:40:06.000000000 +0200
@@ -170,6 +170,7 @@
         """
         binding = self._inv.connection.get_binding()
 
+        kwargs = ansible_mitogen.utils.unsafe.cast(kwargs)
         new = dict((mitogen.core.UnicodeType(k), kwargs[k])
                    for k in kwargs)
         new.setdefault('good_temp_dir',
@@ -204,7 +205,7 @@
             module=self._inv.module_name,
             path=self._inv.module_path,
             json_args=json.dumps(self._inv.module_args),
-            env=self._inv.env,
+            env=ansible_mitogen.utils.unsafe.cast(self._inv.env),
             **kwargs
         )
 
@@ -546,7 +547,7 @@
         call_recv = context.call_async(
             ansible_mitogen.target.run_module_async,
             job_id=job_id,
-            timeout_secs=invocation.timeout_secs,
+            timeout_secs=ansible_mitogen.utils.unsafe.cast(invocation.timeout_secs),
             started_sender=started_recv.to_sender(),
             kwargs=planner.get_kwargs(),
         )
diff -Nru python-mitogen-0.3.23/ansible_mitogen/runner.py python-mitogen-0.3.25~a1/ansible_mitogen/runner.py
--- python-mitogen-0.3.23/ansible_mitogen/runner.py	2025-04-28 15:04:30.000000000 +0200
+++ python-mitogen-0.3.25~a1/ansible_mitogen/runner.py	2025-06-05 00:40:06.000000000 +0200
@@ -73,6 +73,7 @@
     from io import StringIO
 
 # Prevent accidental import of an Ansible module from hanging on stdin read.
+# FIXME Should probably be b'{}' or None. Ansible 2.19 has bytes | None = None.
 import ansible.module_utils.basic
 ansible.module_utils.basic._ANSIBLE_ARGS = '{}'
 
@@ -635,6 +636,7 @@
         sys.stderr = StringIO()
         encoded = json.dumps({'ANSIBLE_MODULE_ARGS': args})
         ansible.module_utils.basic._ANSIBLE_ARGS = utf8(encoded)
+        ansible.module_utils.basic._ANSIBLE_PROFILE = 'legacy'
         sys.stdin = StringIO(mitogen.core.to_text(encoded))
 
         self.original_get_path = getattr(ansible.module_utils.basic,
@@ -649,7 +651,9 @@
         sys.stdout = self.original_stdout
         sys.stderr = self.original_stderr
         sys.stdin = self.original_stdin
+        # FIXME Should probably be b'{}' or None. Ansible 2.19 has bytes | None = None.
         ansible.module_utils.basic._ANSIBLE_ARGS = '{}'
+        ansible.module_utils.basic._ANSIBLE_PROFILE = None
 
 
 class ProgramRunner(Runner):
diff -Nru python-mitogen-0.3.23/ansible_mitogen/services.py python-mitogen-0.3.25~a1/ansible_mitogen/services.py
--- python-mitogen-0.3.23/ansible_mitogen/services.py	2025-04-28 15:04:30.000000000 +0200
+++ python-mitogen-0.3.25~a1/ansible_mitogen/services.py	2025-06-05 00:40:06.000000000 +0200
@@ -57,6 +57,7 @@
 import ansible_mitogen.loaders
 import ansible_mitogen.module_finder
 import ansible_mitogen.target
+import ansible_mitogen.utils
 import ansible_mitogen.utils.unsafe
 
 
@@ -338,7 +339,12 @@
         'ansible_mitogen.target',
         'mitogen.fork',
         'mitogen.service',
-    )
+    ) + ((
+        'ansible.module_utils._internal._json._profiles._module_legacy_c2m',
+        'ansible.module_utils._internal._json._profiles._module_legacy_m2c',
+        'ansible.module_utils._internal._json._profiles._module_modern_c2m',
+        'ansible.module_utils._internal._json._profiles._module_legacy_m2c',
+    ) if ansible_mitogen.utils.ansible_version[:2] >= (2, 19) else ())
 
     def _send_module_forwards(self, context):
         if hasattr(self.router.responder, 'forward_modules'):
diff -Nru python-mitogen-0.3.23/ansible_mitogen/target.py python-mitogen-0.3.25~a1/ansible_mitogen/target.py
--- python-mitogen-0.3.23/ansible_mitogen/target.py	2025-04-28 15:04:30.000000000 +0200
+++ python-mitogen-0.3.25~a1/ansible_mitogen/target.py	2025-06-05 00:40:06.000000000 +0200
@@ -42,6 +42,7 @@
 import logging
 import operator
 import os
+import pty
 import pwd
 import re
 import signal
@@ -120,7 +121,7 @@
             continue
 
         fd = int(name, 10)
-        if fd > 2 and fd != but:
+        if fd > pty.STDERR_FILENO and fd != but:
             try:
                 os.close(fd)
             except OSError:
diff -Nru python-mitogen-0.3.23/ansible_mitogen/utils/unsafe.py python-mitogen-0.3.25~a1/ansible_mitogen/utils/unsafe.py
--- python-mitogen-0.3.23/ansible_mitogen/utils/unsafe.py	2025-04-28 15:04:30.000000000 +0200
+++ python-mitogen-0.3.25~a1/ansible_mitogen/utils/unsafe.py	2025-06-05 00:40:06.000000000 +0200
@@ -16,8 +16,11 @@
 
 def _cast_to_dict(obj): return {cast(k): cast(v) for k, v in obj.items()}
 def _cast_to_list(obj): return [cast(v) for v in obj]
+def _cast_to_set(obj): return set(cast(v) for v in obj)
+def _cast_to_tuple(obj): return tuple(cast(v) for v in obj)
 def _cast_unsafe(obj): return obj._strip_unsafe()
 def _passthrough(obj): return obj
+def _untag(obj): return obj._native_copy()
 
 
 # A dispatch table to cast objects based on their exact type.
@@ -26,25 +29,64 @@
     bytes: bytes,
     dict: _cast_to_dict,
     list: _cast_to_list,
-    tuple: _cast_to_list,
     mitogen.core.UnicodeType: mitogen.core.UnicodeType,
 }
 _CAST_DISPATCH.update({t: _passthrough for t in mitogen.utils.PASSTHROUGH})
 
-if hasattr(ansible.utils.unsafe_proxy.AnsibleUnsafeText, '_strip_unsafe'):
+_CAST_SUBTYPES = [
+    dict,
+    list,
+]
+
+if hasattr(ansible.utils.unsafe_proxy, 'TrustedAsTemplate'):
+    import datetime
+    import ansible.module_utils._internal._datatag
     _CAST_DISPATCH.update({
+        set: _cast_to_set,
+        tuple: _cast_to_tuple,
+        ansible.module_utils._internal._datatag._AnsibleTaggedBytes: _untag,
+        ansible.module_utils._internal._datatag._AnsibleTaggedDate: _untag,
+        ansible.module_utils._internal._datatag._AnsibleTaggedDateTime: _untag,
+        ansible.module_utils._internal._datatag._AnsibleTaggedDict: _cast_to_dict,
+        ansible.module_utils._internal._datatag._AnsibleTaggedFloat: _untag,
+        ansible.module_utils._internal._datatag._AnsibleTaggedInt: _untag,
+        ansible.module_utils._internal._datatag._AnsibleTaggedList: _cast_to_list,
+        ansible.module_utils._internal._datatag._AnsibleTaggedSet: _cast_to_set,
+        ansible.module_utils._internal._datatag._AnsibleTaggedStr: _untag,
+        ansible.module_utils._internal._datatag._AnsibleTaggedTime: _untag,
+        ansible.module_utils._internal._datatag._AnsibleTaggedTuple: _cast_to_tuple,
+        ansible.utils.unsafe_proxy.AnsibleUnsafeBytes: bytes,
+        ansible.utils.unsafe_proxy.AnsibleUnsafeText: mitogen.core.UnicodeType,
+        datetime.date: _passthrough,
+        datetime.datetime: _passthrough,
+        datetime.time: _passthrough,
+    })
+    _CAST_SUBTYPES.extend([
+        set,
+        tuple,
+    ])
+elif hasattr(ansible.utils.unsafe_proxy.AnsibleUnsafeText, '_strip_unsafe'):
+    _CAST_DISPATCH.update({
+        tuple: _cast_to_list,
         ansible.utils.unsafe_proxy.AnsibleUnsafeBytes: _cast_unsafe,
         ansible.utils.unsafe_proxy.AnsibleUnsafeText: _cast_unsafe,
         ansible.utils.unsafe_proxy.NativeJinjaUnsafeText: _cast_unsafe,
     })
+    _CAST_SUBTYPES.extend([
+        tuple,
+    ])
 elif ansible_mitogen.utils.ansible_version[:2] <= (2, 16):
     _CAST_DISPATCH.update({
+        tuple: _cast_to_list,
         ansible.utils.unsafe_proxy.AnsibleUnsafeBytes: bytes,
         ansible.utils.unsafe_proxy.AnsibleUnsafeText: mitogen.core.UnicodeType,
     })
+    _CAST_SUBTYPES.extend([
+        tuple,
+    ])
 else:
     mitogen_ver = '.'.join(str(v) for v in mitogen.__version__)
-    raise ImportError("Mitogen %s can't unwrap Ansible %s AnsibleUnsafe objects"
+    raise ImportError("Mitogen %s can't cast Ansible %s objects"
                       % (mitogen_ver, ansible.__version__))
 
 
@@ -73,7 +115,9 @@
         return unwrapper(obj)
 
     # Slow path: obj is some unknown subclass
-    if isinstance(obj, dict): return _cast_to_dict(obj)
-    if isinstance(obj, (list, tuple)): return _cast_to_list(obj)
+    for typ_ in _CAST_SUBTYPES:
+        if isinstance(obj, typ_):
+            unwrapper = _CAST_DISPATCH[typ_]
+            return unwrapper(obj)
 
     return mitogen.utils.cast(obj)
diff -Nru python-mitogen-0.3.23/debian/changelog python-mitogen-0.3.25~a1/debian/changelog
--- python-mitogen-0.3.23/debian/changelog	2025-05-14 21:00:42.000000000 +0200
+++ python-mitogen-0.3.25~a1/debian/changelog	2025-06-05 21:14:28.000000000 +0200
@@ -1,3 +1,19 @@
+python-mitogen (0.3.25~a1-1) unstable; urgency=medium
+
+  * New upstream alpha release, with ansible 2.19 support.
+  * Drop patches, superseded upstream: edit-ansible-version-restrictions,
+    workaround-missing-strip-unsafe, and ansible-12-data-tagging.
+
+ -- Stefano Rivera <stefanor@debian.org>  Thu, 05 Jun 2025 21:14:28 +0200
+
+python-mitogen (0.3.24-1) unstable; urgency=medium
+
+  * New upstream release.
+    - Don't break ansible 2.19 controller-side plugins that were launched
+      without stdio.
+
+ -- Stefano Rivera <stefanor@debian.org>  Wed, 04 Jun 2025 11:40:57 +0200
+
 python-mitogen (0.3.23-2) unstable; urgency=medium
 
   [ Unit 193 ]
diff -Nru python-mitogen-0.3.23/debian/patches/ansible-12-data-tagging python-mitogen-0.3.25~a1/debian/patches/ansible-12-data-tagging
--- python-mitogen-0.3.23/debian/patches/ansible-12-data-tagging	2025-05-14 21:00:42.000000000 +0200
+++ python-mitogen-0.3.25~a1/debian/patches/ansible-12-data-tagging	1970-01-01 01:00:00.000000000 +0100
@@ -1,65 +0,0 @@
-From: Claude Becker <becker@phys.ethz.ch>
-Date: Thu, 24 Apr 2025 09:09:20 +0200
-Subject: Ugly patch for ansible 12 data tagging
-
----
- ansible_mitogen/mixins.py | 23 ++++++++++++++---------
- ansible_mitogen/runner.py |  3 +++
- 2 files changed, 17 insertions(+), 9 deletions(-)
-
-diff --git a/ansible_mitogen/mixins.py b/ansible_mitogen/mixins.py
-index dadf2c1..85220d3 100644
---- a/ansible_mitogen/mixins.py
-+++ b/ansible_mitogen/mixins.py
-@@ -402,15 +402,16 @@ class ActionModuleMixin(ansible.plugins.action.ActionBase):
-             if not self._mitogen_rediscovered_interpreter:
-                 result['ansible_facts'][self._discovered_interpreter_key] = self._discovered_interpreter
- 
--        if self._discovery_warnings:
--            if result.get('warnings') is None:
--                result['warnings'] = []
--            result['warnings'].extend(self._discovery_warnings)
-+        if ansible_mitogen.utils.ansible_version[:2] < (2, 19):
-+            if self._discovery_warnings:
-+                if result.get('warnings') is None:
-+                    result['warnings'] = []
-+                result['warnings'].extend(self._discovery_warnings)
- 
--        if self._discovery_deprecation_warnings:
--            if result.get('deprecations') is None:
--                result['deprecations'] = []
--            result['deprecations'].extend(self._discovery_deprecation_warnings)
-+            if self._discovery_deprecation_warnings:
-+                if result.get('deprecations') is None:
-+                    result['deprecations'] = []
-+                result['deprecations'].extend(self._discovery_deprecation_warnings)
- 
-         return ansible.utils.unsafe_proxy.wrap_var(result)
- 
-@@ -429,7 +430,11 @@ class ActionModuleMixin(ansible.plugins.action.ActionBase):
-                     "stderr": "stderr data"
-                 }
-         """
--        data = self._parse_returned_data(result)
-+        if ansible_mitogen.utils.ansible_version[:2] >= (2, 19):
-+            # Pass legacy serialization profile to Ansible 2.19+
-+            data = self._parse_returned_data(result, 'legacy')
-+        else:
-+            data = self._parse_returned_data(result)
- 
-         # Cutpasted from the base implementation.
-         if 'stdout' in data and 'stdout_lines' not in data:
-diff --git a/ansible_mitogen/runner.py b/ansible_mitogen/runner.py
-index b60e537..be54afa 100644
---- a/ansible_mitogen/runner.py
-+++ b/ansible_mitogen/runner.py
-@@ -76,6 +76,9 @@ except ImportError:
- import ansible.module_utils.basic
- ansible.module_utils.basic._ANSIBLE_ARGS = '{}'
- 
-+# Ugly patch for ansible data tagging https://github.com/ansible/ansible/pull/84621
-+ansible.module_utils.basic._ANSIBLE_PROFILE = 'legacy'
-+
- # For tasks that modify /etc/resolv.conf, non-Debian derivative glibcs cache
- # resolv.conf at startup and never implicitly reload it. Cope with that via an
- # explicit call to res_init() on each task invocation. BSD-alikes export it
diff -Nru python-mitogen-0.3.23/debian/patches/edit-ansible-version-restrictions python-mitogen-0.3.25~a1/debian/patches/edit-ansible-version-restrictions
--- python-mitogen-0.3.23/debian/patches/edit-ansible-version-restrictions	2025-05-14 21:00:42.000000000 +0200
+++ python-mitogen-0.3.25~a1/debian/patches/edit-ansible-version-restrictions	1970-01-01 01:00:00.000000000 +0100
@@ -1,23 +0,0 @@
-From: Lee Garrett <debian@rocketjump.eu>
-Date: Sun, 20 Apr 2025 11:03:32 -0400
-Subject: Allow running with ansible-core 2.19
-
-Forwarded: https://github.com/mitogen-hq/mitogen/pull/1259
-Bug-Upstream: https://github.com/mitogen-hq/mitogen/issues/1258
----
- ansible_mitogen/loaders.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/ansible_mitogen/loaders.py b/ansible_mitogen/loaders.py
-index 123dd4a..9597e3e 100644
---- a/ansible_mitogen/loaders.py
-+++ b/ansible_mitogen/loaders.py
-@@ -49,7 +49,7 @@ __all__ = [
- 
- 
- ANSIBLE_VERSION_MIN = (2, 10)
--ANSIBLE_VERSION_MAX = (2, 18)
-+ANSIBLE_VERSION_MAX = (2, 19)
- 
- NEW_VERSION_MSG = (
-     "Your Ansible version (%s) is too recent. The most recent version\n"
diff -Nru python-mitogen-0.3.23/debian/patches/series python-mitogen-0.3.25~a1/debian/patches/series
--- python-mitogen-0.3.23/debian/patches/series	2025-05-14 21:00:42.000000000 +0200
+++ python-mitogen-0.3.25~a1/debian/patches/series	2025-06-05 21:14:28.000000000 +0200
@@ -3,6 +3,3 @@
 skip-failing-tests
 skip-django-tests
 skip-python2.7-test
-edit-ansible-version-restrictions
-workaround-missing-strip-unsafe
-ansible-12-data-tagging
diff -Nru python-mitogen-0.3.23/debian/patches/workaround-missing-strip-unsafe python-mitogen-0.3.25~a1/debian/patches/workaround-missing-strip-unsafe
--- python-mitogen-0.3.23/debian/patches/workaround-missing-strip-unsafe	2025-05-14 21:00:42.000000000 +0200
+++ python-mitogen-0.3.25~a1/debian/patches/workaround-missing-strip-unsafe	1970-01-01 01:00:00.000000000 +0100
@@ -1,31 +0,0 @@
-From: Lee Garrett <debian@rocketjump.eu>
-Date: Sun, 20 Apr 2025 11:03:32 -0400
-Subject: Work around missing internal method
-
-ansible 2.19 has removed the _strip_unsafe internal method, so work around this
-for now. Replace this with the upstream solution once available.
-
-Forwarded: https://github.com/mitogen-hq/mitogen/pull/1259
-Bug-Upstream: https://github.com/mitogen-hq/mitogen/issues/1258
----
- ansible_mitogen/utils/unsafe.py | 7 ++++++-
- 1 file changed, 6 insertions(+), 1 deletion(-)
-
-diff --git a/ansible_mitogen/utils/unsafe.py b/ansible_mitogen/utils/unsafe.py
-index b2c3d53..c1bdaee 100644
---- a/ansible_mitogen/utils/unsafe.py
-+++ b/ansible_mitogen/utils/unsafe.py
-@@ -31,7 +31,12 @@ _CAST_DISPATCH = {
- }
- _CAST_DISPATCH.update({t: _passthrough for t in mitogen.utils.PASSTHROUGH})
- 
--if hasattr(ansible.utils.unsafe_proxy.AnsibleUnsafeText, '_strip_unsafe'):
-+if ansible_mitogen.utils.ansible_version[:2] >= (2, 19):
-+    _CAST_DISPATCH.update({
-+        ansible.utils.unsafe_proxy.AnsibleUnsafeBytes: bytes,
-+        ansible.utils.unsafe_proxy.AnsibleUnsafeText: mitogen.core.UnicodeType,
-+    })
-+elif hasattr(ansible.utils.unsafe_proxy.AnsibleUnsafeText, '_strip_unsafe'):
-     _CAST_DISPATCH.update({
-         ansible.utils.unsafe_proxy.AnsibleUnsafeBytes: _cast_unsafe,
-         ansible.utils.unsafe_proxy.AnsibleUnsafeText: _cast_unsafe,
diff -Nru python-mitogen-0.3.23/docs/ansible_detailed.rst python-mitogen-0.3.25~a1/docs/ansible_detailed.rst
--- python-mitogen-0.3.23/docs/ansible_detailed.rst	2025-04-28 15:04:30.000000000 +0200
+++ python-mitogen-0.3.25~a1/docs/ansible_detailed.rst	2025-06-05 00:40:06.000000000 +0200
@@ -141,7 +141,9 @@
   +-----------------+ 3.10 - 3.13     |
   | 10              |                 |
   +-----------------+-----------------+
-  | 11              | 3.11 - 3.13     |
+  | 11              |                 |
+  +-----------------+ 3.11 - 3.13+    |
+  | 12              |                 |
   +-----------------+-----------------+
 
   Verify your installation is running one of these versions by checking
diff -Nru python-mitogen-0.3.23/docs/changelog.rst python-mitogen-0.3.25~a1/docs/changelog.rst
--- python-mitogen-0.3.23/docs/changelog.rst	2025-04-28 15:04:30.000000000 +0200
+++ python-mitogen-0.3.25~a1/docs/changelog.rst	2025-06-05 00:40:06.000000000 +0200
@@ -18,6 +18,23 @@
 `directly from GitHub <https://github.com/mitogen-hq/mitogen/>`_.
 
 
+v0.3.25a1 (2025-06-05)
+----------------------
+
+* :gh:issue:`1258` Initial Ansible 12 (ansible-core 2.19) support
+* :gh:issue:`1258` :mod:`ansible_mitogen`: Initial Ansible datatag support
+  (:gh:anspull:`84621`)
+* :gh:issue:`1258` :mod:`ansible_mitogen`: Ansible 12 (ansible-core 2.19) test
+  jobs
+
+
+v0.3.24 (2025-05-29)
+--------------------
+
+* :gh:issue:`1268` :mod:`mitogen` Only close stdin, stdout, and stderr file
+  descriptors (0, 1, and 2) if they were open at process startup.
+
+
 v0.3.23 (2025-04-28)
 --------------------
 
@@ -281,7 +298,7 @@
 * :gh:issue:`878` Kubectl connector fixed with Ansible 2.10 and above
 
 
-v0.3.0 (2021-10-28)
+v0.3.0 (2021-11-24)
 -------------------
 
 This release separates itself from the v0.2.X releases. Ansible's API changed too much to support backwards compatibility so from now on, v0.2.X releases will be for Ansible < 2.10 and v0.3.X will be for Ansible 2.10+.
@@ -294,7 +311,7 @@
 * :gh:issue:`847` Removed historic Continuous Integration reverse shell
 
 
-v0.2.10 (2021-10-28)
+v0.2.10 (2021-11-24)
 --------------------
 
 * :gh:issue:`597` mitogen does not support Ansible 2.8 Python interpreter detection
@@ -309,7 +326,6 @@
   :py:meth:`ansible.plugins.callback.CallbackBase.v2_runner_on_start`
 * :gh:issue:`775` Test with Python 3.9
 * :gh:issue:`775` Add msvcrt to the default module deny list
-* :gh:issue:`847` Removed historic Continuous Integration reverse shell
 
 
 v0.2.9 (2019-11-02)
diff -Nru python-mitogen-0.3.23/docs/conf.py python-mitogen-0.3.25~a1/docs/conf.py
--- python-mitogen-0.3.23/docs/conf.py	2025-04-28 15:04:30.000000000 +0200
+++ python-mitogen-0.3.25~a1/docs/conf.py	2025-06-05 00:40:06.000000000 +0200
@@ -5,6 +5,8 @@
 
 
 def changelog_version(path, encoding='utf-8'):
+    "Return the 1st *stable* (not pre, dev) version in the changelog"
+    # See also grep_version() in setup.py
     version_pattern = re.compile(
         r'^v(?P<version>[0-9]+\.[0-9]+\.[0-9]+)',
         re.MULTILINE,
@@ -64,6 +66,15 @@
         'text': '#%s',
         'url': 'https://github.com/mitogen-hq/mitogen/pull/%s',
     },
+    'gh:ansissue': {
+        'text': 'Ansible #%s',
+        'url': 'https://github.com/ansible/ansible/issues/%s',
+    },
+    'gh:anspull': {
+        'text': 'Ansible #%s',
+        'url': 'https://github.com/ansible/ansible/pull/%s',
+    },
+
     'ans:mod': {
         'text': '%s module',
         'url': 'https://docs.ansible.com/ansible/latest/modules/%s_module.html',
diff -Nru python-mitogen-0.3.23/docs/images/ansible/run_hostname_100_times_mito.svg python-mitogen-0.3.25~a1/docs/images/ansible/run_hostname_100_times_mito.svg
--- python-mitogen-0.3.23/docs/images/ansible/run_hostname_100_times_mito.svg	2025-04-28 15:04:30.000000000 +0200
+++ python-mitogen-0.3.25~a1/docs/images/ansible/run_hostname_100_times_mito.svg	1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg"; xmlns:xlink="http://www.w3.org/1999/xlink"; viewBox="0 0 632.46 181.53" height="242.04" width="843.28"><defs><symbol id="a" overflow="visible"><path d="M4.55-3.28c0 1.19-.17 2.05-.52 2.6-.33.55-.86.82-1.58.82C1.73.14 1.21-.14.87-.7a4.97 4.97 0 0 1-.51-2.57c0-1.17.17-2.03.52-2.59.34-.54.86-.81 1.57-.81.72 0 1.25.28 1.6.84.33.58.5 1.42.5 2.55zm-1.13 2c.08-.2.15-.48.19-.81a12.89 12.89 0 0 0 0-2.35c-.04-.33-.1-.6-.19-.83a1.4 1.4 0 0 0-.36-.51 1.01 1.01 0 0 0-.6-.17.98.98 0 0 0-.6.17c-.16.12-.28.3-.38.51-.09.23-.15.52-.17.85a11.37 11.37 0 0 0-.02 2.3c.04.3.1.58.2.82.08.23.2.4.35.52.16.12.36.19.61.19.24 0 .44-.05.61-.18.15-.1.27-.28.36-.51zm0 0"/></symbol><symbol id="b" overflow="visible"><path d="M1.88 0H.8v-1.25h1.06zm0 0"/></symbol><symbol id="c" overflow="visible"><path d="M3.55-5.02c0-.28-.1-.53-.3-.73-.2-.2-.47-.3-.81-.3-.33 0-.59.1-.78.27a.88.88 0 0 0-.32.7c0 .22.05.4.16.56.1.15.26.28.47.4l.42.21c.18.09.34.16.5.2.25-.19.42-.4.52-.6.09-.2.14-.43.14-.7zm.12 3.29c0-.27-.05-.49-.15-.65-.11-.16-.31-.32-.61-.48a20.16 20.16 0 0 0-.97-.42c-.24.17-.42.37-.55.6-.14.23-.2.5-.2.8 0 .4.11.73.36.99.24.26.54.39.9.39.37 0 .66-.11.9-.34.21-.22.32-.52.32-.9zM2.44.16a2.5 2.5 0 0 1-.9-.16C1.3-.1 1.07-.23.88-.4.7-.59.55-.8.46-1.06c-.1-.24-.14-.49-.14-.76 0-.35.1-.68.28-.97.2-.29.46-.53.83-.72v-.02C1.1-3.7.85-3.9.7-4.14c-.15-.22-.23-.5-.23-.83 0-.49.19-.9.56-1.23.36-.32.83-.49 1.4-.49.6 0 1.08.15 1.44.46.36.32.54.72.54 1.2a1.71 1.71 0 0 1-1 1.55v.03c.38.18.67.39.87.64.2.26.3.59.3.98 0 .56-.2 1.03-.61 1.4-.42.4-.93.59-1.53.59zm0 0"/></symbol><symbol id="d" overflow="visible"><path d="M4.17 0H.98v-.67h1.2v-4.38H.97v-.6c.44 0 .77-.07.99-.2.2-.12.33-.36.36-.71h.69v5.89h1.15zm0 0"/></symbol><symbol id="e" overflow="visible"><path d="M4.6-2.13c0 .35-.06.66-.16.94A2.14 2.14 0 0 1 3.33-.02c-.24.1-.51.16-.8.16-.3 0-.57-.05-.81-.16-.24-.09-.45-.23-.64-.43-.23-.24-.4-.56-.53-.96a6.38 6.38 0 0 1-.02-3.02c.11-.45.3-.84.55-1.18.24-.33.54-.6.92-.78.36-.19.8-.28 1.3-.28l.4.03c.13.01.24.03.33.06v.85H4a2.7 2.7 0 0 0-.34-.13 2.46 2.46 0 0 0-.49-.05c-.54 0-.98.19-1.31.55a2.6 2.6 0 0 0-.6 1.64c.2-.14.42-.26.65-.34.22-.07.45-.11.72-.11.25 0 .47.02.67.06.18.06.38.17.6.31.23.2.4.42.52.7.13.27.19.6.19.98zm-.88.04c0-.26-.04-.49-.11-.68a1.28 1.28 0 0 0-.34-.46 1.34 1.34 0 0 0-.4-.2l-.45-.02c-.2 0-.4.03-.6.1-.18.05-.37.13-.55.26-.02.06-.02.12-.02.18a3.43 3.43 0 0 0 .13 1.31c.09.29.2.5.32.65.13.13.26.23.4.3.13.05.27.07.43.07.35 0 .64-.12.86-.37.2-.25.32-.63.33-1.14zm0 0"/></symbol><symbol id="f" overflow="visible"><path d="M4.5 0H.47v-.92l.81-.78a14.92 14.92 0 0 0 1.78-2.11c.18-.33.27-.67.27-1.02 0-.19-.03-.35-.08-.48a1.21 1.21 0 0 0-.23-.35c-.11-.08-.23-.14-.36-.2a1.58 1.58 0 0 0-.91 0c-.17.04-.32.09-.47.14l-.36.19a6.4 6.4 0 0 1-.28.17H.6v-.92a4.44 4.44 0 0 1 1.69-.4c.6 0 1.08.16 1.44.48.34.33.51.77.51 1.33 0 .26-.04.5-.09.7A3.02 3.02 0 0 1 3.5-3l-.48.55-.93.93-.8.77H4.5zm0 0"/></symbol><symbol id="g" overflow="visible"><path d="M4.69-2.25H3.9V0h-.85v-2.25H.17v-.92l2.94-3.38h.8v3.6h.78zm-1.63-.7v-2.57L.86-2.95zm0 0"/></symbol><symbol id="h" overflow="visible"><path d="M2.25-5.92c-.16 0-.32.02-.48.06l-.46.14a2.78 2.78 0 0 0-.65.38H.6v-.94a4.5 4.5 0 0 1 1.7-.4c.3 0 .55.04.78.09.22.06.42.15.6.28a1.43 1.43 0 0 1 .6 1.2c0 .37-.13.68-.37.95-.24.28-.53.45-.86.52v.06c.14.03.29.08.46.14.14.08.28.17.43.28.14.14.25.3.33.49a2.14 2.14 0 0 1-.45 2.2 2 2 0 0 1-.69.45c-.27.1-.58.16-.92.16-.34 0-.67-.04-.99-.12C.91-.05.64-.15.43-.27v-.93h.05c.2.15.44.27.75.39.3.12.61.19.93.19.18 0 .36-.04.54-.1.18-.05.33-.14.46-.26A1.48 1.48 0 0 0 3.52-2a1.87 1.87 0 0 0-.11-.6.88.88 0 0 0-.29-.35 1.48 1.48 0 0 0-.43-.2l-.55-.04h-.37v-.72h.28c.4 0 .72-.09.97-.28.25-.18.37-.46.37-.83 0-.15-.03-.3-.1-.42-.07-.11-.15-.2-.24-.28a1.32 1.32 0 0 0-.38-.16 1.89 1.89 0 0 0-.42-.04zm0 0"/></symbol><symbol id="i" overflow="visible"><path d="M2.19 0v-5.77H0v-.78h5.27v.78h-2.2V0zm0 0"/></symbol><symbol id="j" overflow="visible"><path d="M1.42 0H.6v-4.9h.83zm.06-5.73H.55v-.86h.93zm0 0"/></symbol><symbol id="k" overflow="visible"><path d="M6.17 0v-2.84c0-.22-.01-.43-.03-.63a1.1 1.1 0 0 0-.1-.45.52.52 0 0 0-.26-.25.92.92 0 0 0-.44-.1c-.18.02-.36.07-.54.16-.2.1-.4.26-.61.45l.01.2V0h-.8v-2.84c0-.22-.02-.43-.04-.63a1.67 1.67 0 0 0-.11-.45.62.62 0 0 0-.25-.25.92.92 0 0 0-.44-.1c-.19.02-.37.07-.56.18-.2.11-.4.25-.58.42V0H.6v-4.9h.83v.54c.22-.22.43-.39.64-.51a1.54 1.54 0 0 1 1.48.03c.23.12.39.34.5.64.26-.27.5-.48.74-.63a1.6 1.6 0 0 1 1.34-.13c.18.08.33.19.46.33.13.15.24.34.31.57.07.22.11.5.11.83V0zm0 0"/></symbol><symbol id="l" overflow="visible"><path d="M2.73.1C1.95.13 1.34-.1.91-.54.47-.98.25-1.6.27-2.42c0-.8.2-1.44.62-1.92.41-.47.96-.7 1.64-.7.3 0 .57.04.81.13a1.698 1.698 0 0 1 1.01 1.1c.1.27.15.6.15 1v.44H1.1c0 .57.14 1 .43 1.3.28.31.68.46 1.19.46.17 0 .35-.02.53-.06.18-.03.34-.08.48-.16.15-.06.27-.13.38-.2.1-.05.18-.11.25-.17h.05v.9c-.1.05-.22.1-.36.14a3.27 3.27 0 0 1-1.32.27zM3.7-3a2.45 2.45 0 0 0-.1-.58 1.3 1.3 0 0 0-.18-.4c-.1-.13-.23-.22-.37-.29-.16-.06-.35-.09-.57-.09-.21 0-.4.03-.56.1a1.25 1.25 0 0 0-.7.71c-.06.16-.1.34-.13.55zm0 0"/></symbol><symbol id="m" overflow="visible"><path d="M3.13 1.81H2.1C1.6 1.21 1.2.57.92-.1a5.81 5.81 0 0 1-.45-2.4c0-.9.14-1.7.44-2.4.29-.67.69-1.32 1.2-1.93h1.02v.04c-.25.22-.47.47-.7.74a6.43 6.43 0 0 0-1 2.17A5.59 5.59 0 0 0 1.84.05a5.25 5.25 0 0 0 1.28 1.72zm0 0"/></symbol><symbol id="n" overflow="visible"><path d="M1.9.13c-.33 0-.63-.05-.92-.15a3.37 3.37 0 0 1-.7-.28v-.92h.05a2.43 2.43 0 0 0 .62.4c.14.07.3.12.47.16.17.06.34.08.52.08.13 0 .27-.01.42-.05.14-.03.26-.07.34-.12.1-.06.17-.13.22-.2a.75.75 0 0 0 .06-.35c0-.2-.05-.34-.15-.45-.12-.1-.31-.18-.58-.25l-.4-.1a3.49 3.49 0 0 1-.48-.1 1.4 1.4 0 0 1-.8-.5 1.3 1.3 0 0 1-.27-.83c0-.44.16-.8.5-1.08.33-.27.78-.41 1.34-.42.26.01.53.05.81.1.27.07.5.16.7.26v.89h-.04a2.35 2.35 0 0 0-1.5-.55c-.27 0-.5.06-.69.17a.57.57 0 0 0-.28.52c0 .21.06.36.17.45.1.1.28.19.53.25l.43.1.46.1c.37.1.65.25.83.46.18.22.27.5.27.86 0 .22-.04.42-.13.6-.08.2-.2.36-.36.5-.18.14-.37.25-.59.32-.23.08-.51.13-.84.13zm0 0"/></symbol><symbol id="o" overflow="visible"><path d="M2.95-2.52c0 .91-.15 1.7-.43 2.4-.3.68-.7 1.33-1.2 1.93h-1v-.04A5.71 5.71 0 0 0 1.58.05 5.7 5.7 0 0 0 2-3.89 6.18 6.18 0 0 0 .99-6.06a8.5 8.5 0 0 0-.67-.74v-.04h1a6.13 6.13 0 0 1 1.64 4.33zm0 0"/></symbol><symbol id="p" overflow="visible"><path d="M4.42-2.08A2.25 2.25 0 0 1 3.86-.5c-.19.2-.42.36-.69.47-.28.11-.59.17-.92.17a3.9 3.9 0 0 1-.92-.1 2.89 2.89 0 0 1-.8-.27v-.94H.6L.88-1a3.14 3.14 0 0 0 .9.33c.13.03.29.05.47.05s.35-.04.52-.1c.16-.06.3-.16.43-.31a1.48 1.48 0 0 0 .33-1.06c0-.23-.03-.42-.1-.57a.92.92 0 0 0-.26-.37c-.13-.1-.3-.18-.47-.24-.18-.03-.39-.06-.6-.06a5.5 5.5 0 0 0-1.3.16v-3.38h3.6v.77H1.63v1.75l.31-.03h.28c.34 0 .62.02.86.08a2 2 0 0 1 .66.32c.22.16.38.36.5.61.11.25.17.58.17.97zm0 0"/></symbol><symbol id="q" overflow="visible"><path d="M4.58-5.56L1.75 0H.81L3.8-5.78H.42v-.77h4.16zm0 0"/></symbol><symbol id="r" overflow="visible"><path d="M.13-2.47A4.96 4.96 0 0 1-.4-.33h-1.1v-.06c.28-.28.49-.6.63-.97.15-.36.22-.71.22-1.05 0-.47-.1-.84-.3-1.09a.96.96 0 0 0-.8-.38 1.1 1.1 0 0 0-.62.2c-.16.13-.29.34-.37.62a29.45 29.45 0 0 1-.52 1.8 1.63 1.63 0 0 1-1.55.89c-.52 0-.96-.2-1.33-.61a2.38 2.38 0 0 1-.53-1.6 4.85 4.85 0 0 1 .43-1.94h1.03v.07a2.79 2.79 0 0 0-.7 1.83c0 .4.09.71.28.96.18.27.43.39.75.38.28 0 .5-.07.65-.22.17-.14.29-.36.36-.64a18 18 0 0 1 .34-1.33c.14-.46.35-.79.63-1a1.86 1.86 0 0 1 1.78-.16c.25.11.47.25.64.44.19.22.34.46.44.72.1.27.15.6.15 1zm0 0"/></symbol><symbol id="s" overflow="visible"><path d="M.1-2.73c.02.78-.2 1.39-.65 1.82-.43.44-1.06.66-1.87.64-.8 0-1.44-.2-1.92-.62-.47-.41-.7-.96-.7-1.64 0-.3.04-.57.13-.81a1.698 1.698 0 0 1 1.1-1.01c.27-.1.6-.15 1-.15h.44v3.4c.57 0 1-.14 1.3-.43.31-.28.46-.68.46-1.19 0-.17-.02-.35-.06-.53a1.76 1.76 0 0 0-.16-.48 2.1 2.1 0 0 0-.2-.38c-.05-.1-.11-.18-.17-.25v-.05h.9c.05.1.1.22.14.36a3.27 3.27 0 0 1 .27 1.32zM-3-3.7c-.22 0-.41.04-.58.1-.15.03-.29.1-.4.18-.13.1-.22.23-.29.37-.06.16-.09.35-.09.57 0 .21.03.4.1.56a1.25 1.25 0 0 0 .71.7c.16.06.34.1.55.13zm0 0"/></symbol><symbol id="t" overflow="visible"><path d="M1.81-4.38v.83H-.53c.22.25.37.48.47.7.1.24.15.49.15.76 0 .56-.22 1-.67 1.34-.44.32-1.05.48-1.86.48a2.89 2.89 0 0 1-1.94-.62 1.87 1.87 0 0 1-.67-1.44 2.37 2.37 0 0 1 .34-1.22l-.2-.06v-.77zm-3.04.83h-2.8a2.33 2.33 0 0 0-.27 1.08c0 .44.16.77.47 1 .31.24.76.36 1.35.36.58 0 1.02-.1 1.32-.28.32-.19.47-.48.47-.88a2 2 0 0 0-.55-1.28zm0 0"/></symbol><symbol id="u" overflow="visible"><path d="M0-4.42v.83h-.55c.23.25.4.49.5.71.13.24.2.49.2.77 0 .22-.05.42-.12.61-.07.19-.18.36-.33.5-.15.14-.34.24-.57.31-.23.09-.51.13-.85.13H-4.9v-.83h2.8c.26 0 .48 0 .64-.03.18-.02.33-.06.45-.13a.61.61 0 0 0 .29-.28c.05-.11.07-.28.07-.5 0-.2-.05-.4-.17-.64a2.83 2.83 0 0 0-.42-.62H-4.9v-.83zm0 0"/></symbol><symbol id="v" overflow="visible"><path d="M0-4.45v.83h-2.8c-.22 0-.42 0-.62.03-.2.02-.35.06-.47.12a.75.75 0 0 0-.28.28c-.05.13-.08.3-.1.49 0 .2.06.42.18.64.11.22.25.43.42.64H0v.83h-4.9v-.83h.54a3.07 3.07 0 0 1-.51-.74 1.73 1.73 0 0 1-.18-.75c0-.48.16-.86.47-1.14.33-.27.8-.4 1.4-.4zm0 0"/></symbol><symbol id="w" overflow="visible"><path d="M.1-2.55c0 .34-.05.64-.15.92A1.94 1.94 0 0 1-1.3-.43c-.32.11-.7.16-1.14.16a2.77 2.77 0 0 1-1.9-.62c-.22-.2-.38-.44-.5-.73a2.69 2.69 0 0 1-.06-1.7c.08-.26.17-.48.27-.68h.92v.05l-.17.22-.2.34a3.05 3.05 0 0 0-.22.86c0 .43.17.77.48 1.03.34.26.8.4 1.38.4a2.1 2.1 0 0 0 1.36-.4c.32-.24.48-.58.48-1.03a2.12 2.12 0 0 0-.6-1.42V-4h.93a4.37 4.37 0 0 1 .36 1.02c.02.11.03.26.03.43zm0 0"/></symbol><symbol id="x" overflow="visible"><path d="M0-5.33v.97l-5.64 2.9H0v.82h-6.55V-1.9l5.2-2.63h-5.2v-.8zm0 0"/></symbol><symbol id="y" overflow="visible"><path d="M0-6.17h-2.84c-.22 0-.43.01-.63.03a1.1 1.1 0 0 0-.45.1.52.52 0 0 0-.25.26.92.92 0 0 0-.1.44c.02.18.07.36.16.54.1.2.26.4.45.61l.2-.01H0v.8h-2.84c-.22 0-.43.02-.63.04-.19.02-.33.06-.45.11a.62.62 0 0 0-.25.25.92.92 0 0 0-.1.44c.02.19.07.37.18.56.11.2.25.4.42.58H0v.83h-4.9v-.83h.54c-.22-.22-.39-.43-.51-.64a1.54 1.54 0 0 1 .03-1.48c.12-.23.34-.39.64-.5-.27-.26-.48-.5-.63-.74a1.6 1.6 0 0 1-.13-1.34c.08-.18.19-.33.33-.46.15-.13.34-.24.57-.31.22-.07.5-.11.83-.11H0zm0 0"/></symbol><symbol id="z" overflow="visible"><path d="M-2.47-3.86c-.58 0-1.03.09-1.34.27-.3.18-.46.46-.46.86 0 .23.06.46.18.68.1.23.23.44.39.63h2.8a2 2 0 0 0 .28-1.1c.01-.41-.14-.74-.44-.98s-.76-.36-1.4-.36zm-.06-.86c.8 0 1.45.2 1.94.6.49.38.73.87.73 1.45 0 .27-.04.5-.1.69-.07.18-.16.37-.27.56l.23.04v.79h-6.84v-.83h2.45c-.19-.2-.34-.43-.47-.67a1.82 1.82 0 0 1-.19-.83c0-.55.23-.99.67-1.31a3.12 3.12 0 0 1 1.85-.49zm0 0"/></symbol><symbol id="A" overflow="visible"><path d="M-4.02-3.2v.04l-.04.2v.24c0 .23.04.45.14.67.1.22.25.43.44.63H0v.83h-4.9v-.83h.73a3.9 3.9 0 0 1-.58-.8c-.1-.22-.16-.43-.16-.64v-.2a.64.64 0 0 0 .04-.14zm0 0"/></symbol><symbol id="B" overflow="visible"><path d="M1.81-3.13v1.02C1.21-1.6.57-1.2-.1-.92c-.68.3-1.48.45-2.4.45-.9 0-1.7-.14-2.4-.44a7.92 7.92 0 0 1-1.93-1.2v-1.02h.04c.22.25.47.47.74.7a6.43 6.43 0 0 0 2.17 1 5.59 5.59 0 0 0 3.94-.42 5.25 5.25 0 0 0 1.72-1.28zm0 0"/></symbol><symbol id="C" overflow="visible"><path d="M-2.02-5.1c.34 0 .63.07.88.2.25.12.45.29.6.5.2.24.34.5.42.8.08.27.12.63.12 1.07v1.89h-6.55V-2.4c0-.46.02-.8.05-1.05.03-.22.1-.45.22-.67.12-.23.3-.4.5-.5.21-.11.45-.17.72-.17.31 0 .59.08.83.25.24.17.43.39.56.67h.03c.12-.38.3-.69.58-.9.29-.22.64-.33 1.04-.33zm-2.92 1.22c-.15 0-.3.03-.42.08a.59.59 0 0 0-.26.25c-.09.15-.14.31-.16.49l-.02.7v.84h1.9v-.98c.02-.28 0-.48-.02-.6a1.57 1.57 0 0 0-.17-.42.74.74 0 0 0-.35-.28c-.13-.05-.3-.08-.5-.08zm2.97-.3c-.25 0-.45.03-.6.1a.87.87 0 0 0-.41.42c-.07.15-.12.3-.15.46-.01.16-.03.4-.03.7v.98h2.41v-.7c0-.38-.02-.69-.05-.9-.03-.22-.1-.42-.22-.58a1.06 1.06 0 0 0-.39-.36 1.46 1.46 0 0 0-.56-.13zm0 0"/></symbol><symbol id="D" overflow="visible"><path d="M-2.52-2.95c.91 0 1.7.15 2.4.43.68.3 1.33.7 1.93 1.2v1h-.04A5.71 5.71 0 0 0 .05-1.58 5.7 5.7 0 0 0-3.89-2 6.18 6.18 0 0 0-6.06-.99a8.5 8.5 0 0 0-.74.67h-.04v-1a6.13 6.13 0 0 1 4.33-1.64zm0 0"/></symbol></defs><path d="M61.62 153.62V1.5" fill="none" stroke="#c7c7c7" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M145.66 153.62V1.5m84.03 152.12V1.5m84.03 152.12V1.5m84.03 152.12V1.5m84.03 152.12V1.5m84.02 152.12V1.5" fill="none" stroke="#c7c7c7" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10" stroke-dasharray="1.00055247,2.00110494"/><path d="M53.78 148.38h577.18" fill="none" stroke="#c7c7c7" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M53.78 124.95h577.18M53.78 101.53h577.18M53.78 78.1h577.18M53.78 54.68h577.18M53.78 31.26h577.18M53.78 7.84h577.18" fill="none" stroke="#c7c7c7" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10" stroke-dasharray="1.00055247,2.00110494"/><use xlink:href="#a" x="175.29" y="18.17" width="100%" height="100%" transform="translate(-8.24 -61.55)"/><use xlink:href="#a" x="238.06" y="18.17" width="100%" height="100%" transform="translate(-8.24 -61.55)"/><use xlink:href="#a" x="305.22" y="18.17" width="100%" height="100%" transform="translate(-8.24 -61.55)"/><use xlink:href="#a" x="327.63" y="18.17" width="100%" height="100%" transform="translate(-8.24 -61.55)"/><use xlink:href="#a" x="439.29" y="18.17" width="100%" height="100%" transform="translate(-8.24 -61.55)"/><use xlink:href="#a" x="456.09" y="18.17" width="100%" height="100%" transform="translate(-8.24 -61.55)"/><path d="M61.62 148.38h1.48v-.03h.97v-1.28h2.17v-.04h4.4V147h.03v-.04h.18v-.06h2.91v-.58h.36v-1.08h7.08v-.05h4.49v-.43h24.18v-12.84h15.8v-8.7h.11V108.7h.18V93.3h.15V78.58h.17v-14.4h.05V49.05h.1v-15.3h12.19v-1.6h.75v-.05h7.45v-4.35h4.62v-.57h.9v-.09h.1v-.12h1.84v-.06h1.38v-.03h.23v-.12h3.54v-.06h1.77v-.04h.22v-.12h3.45v-.05h1.09v-.04h.15v-.12h2.17v-.06h1.09v-.04h.13v-.11h2.07v-.06h1.08v-.04h.14v-.12h2.2v-.05h1v-.05h.17v-.11h3.02v-.06h2v-.04h.17v-.11h2.61v-.06h1.18v-.04h.13v-.12h2.11v-.05h1.16v-.05h.15v-.11h1.94v-.06h1.05v-.04h.16v-.11h3.28v-.06h1.73v-.04h.22v-.12h3.14v-.05h1.73v-.05h.13v-.11h2.07v-.06h1.05v-.04h.2v-.11h1.27v-.06h1.96v-.04h.2v-.12h2.04v-.05h1v-.05h.08v-.11h2.2v-.06h1.11v-.04h.12v-.12h2.16v-.05h1.58v-.04h.5v-.12h2.63v-.05h1.06v-.05h.12v-.11h2.04v-.06h1.2v-.04h.18v-.12h2.07v-.05h1.24v-.04h.17v-.12h3.36v-.06h.93v-.04h.2v-.12h2.24v-.05h1v-.04h.22v-.12h2.31v-.06h.92v-.04h.12v-.12h2.23V22h1.09v-.04h.12v-.11h2.12v-.06h.98v-.04h.13v-.12h3.6v-.05h1.36v-.04h.12v-.12h2.2v-.06h1.2v-.04h.16v-.11h2.57v-.06h1.13v-.04h.1v-.12h2.32v-.05h.88v-.05h.11v-.11h2.19v-.06h1v-.04h.13v-.12h1.24v-.05h1.77v-.04h.1v-.12h3.44v-.05h1v-.05h.17v-.11h2.2v-.07h1.1v-.04h.17v-.11h2.2v-.06h.92v-.04h.13v-.12h1.92v-.05h1.14v-.05h.14v-.1h2.08v-.07h1.04v-.04h.14v-.11h2.37v-.06h1.14v-.04h.12v-.12h2.94V19h1.7v-.05h.22v-.11h2.97v-.06h.99v-.04h.1v-.11h2.6v-.06h2.1v-.04h.24v-.12h3.64v-.05h2.38v-.05h.36v-.11h3.71v-.06h1.82v-.04h.19v-.12h3.84v-.05h1.94v-.04h.27v-.12h3.75v-.05h1.7v-.05h.2v-.11h3.48v-.06h1.95v-.04h.18v-.12h3.4v-.05h2.05v-.04h.24v-.12h3.29v-.06h1.9v-.04h.25v-.12h2.25v-.05h3.01v-.04h.37v-.12h3.6v-.06h1.66v-.03h.18v-.12h3.6v-.06h1.43v-.04h.2v-.12h2.3v-.05h1.27v-.04h.14v-.12h2.08V16h1.3v-.03h.15v-.12h2.24v-.06h1.24v-.04h.13v-.12h3.3v-.05h1.72v-.04h.25v-.12h3.49v-.06h1.84v-.04h.18v-.11h3.53v-.06h2.02v-.04h.27v-.12h3.29v-.06h2.1v-.04h.3v-.12h2.3v-.05h1v-.04h.12v-.12h2.19v-.06h.99v-.04h.2v-.12h3.66v-.05h1.88v-.04h.26v-.12h3.81v-.06h1.63v-.03h.2v-.12h3.6v-.06h1.66v-.04h.2v-.12h3.79v-.05h1.66v-.04h.38v-.12h3.47v-.06h1.92v-.04h.23v-.11h1.99v-.06h3.3v-.04h.32v-.12h3.61v-.05h1.68v-.04h.19v-.12h3.86v-.06h1.64v-.04h.28v-.11h3.84v-.06h1.68v-.04h.18v-.12h3.98v-.05h1.67v-.05h.2v-.11h3.59v-.06h1.66v-.04h.2V12h3.68v-.06h1.89v-.04h.25v-.12h4.07v-.05h1.66v-.05h.22v-.11h3.88v-.06h1.61v-.04h.25v-.11h3.69v-.06h1.72v-.04h.17v-.12h3.63v-.05h1.62v-.05h.21v-.11h3.7v-.06h1.8v-.04h.23v-.11h3.69v-.06h1.16v-.04h.14v-.12h2.07v-.05h1.35v-.05h.15v-.11h2.1v-.06h1.12v-.04h.14v-.12h2.31v-.05h1.02v-.04h.14v-.12h2.97V9.8h1.75v-.04h.29v-.12h2.23V9.6H525v-.04h.2v-.12h3.82v-.05h1.6v-.04h.22v-.12h3.87v-.06h1.73v-.04h.2V9h3.74v-.05h1.56v-.04h.25v-.12h3.58v-.06h1.6V8.7h.21v-.11h3.75v-.06h1.77v-.04h.2v-.12h3.66v-.05h1.72v-.04h.22v-.12h3.75V8.1h1.77v-.04h.32v-.11h3.54v-.06h1.7v-.04h.2v-.12h3.65v-.05h1.62v-.04h.5V7.5h3.64v-.06h1.77V7.4h.18v-.1h3.75v-.06h1.6V7.2h.2v-.12h3.62v-.05h1.61v-.05h.24v-.11h3.6V6.8h1.87v-.04h.2v-.11h3.57V6.6h1.6v-.04h.2v-.12h3.69v-.06h1.63v-.04h.24v-.11h3.8v-.07h1v-.04h.11v-.11h1.28v-.06h6.75V5.9h.12v-.05h1.04v-.04h.03v-.08h.81" fill="none" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M63.12 148.38a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M63.14 148.38a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M63.18 148.38a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M64.6 148.35a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M64.66 148.35a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M65.57 147.07a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M67.74 147.03a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm4.39-.02a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M72.18 146.97a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M72.35 146.91a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M75.26 146.33a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M75.62 145.25a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm7.08-.05a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M82.71 145.2a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M82.76 145.2a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm4.43-.43a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm18.15 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M106.7 144.77a1.5 1.5 0 1 1-3.01 0 1.5 1.5 0 0 1 3 0zm4.67-12.84a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm15.68 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm.12-8.7a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm.11-14.53a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm.18-15.4a1.5 1.5 0 1 1-3 .01 1.5 1.5 0 0 1 3 0zm.14-14.72a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm.18-14.4a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm.05-15.13a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M127.9 49.05a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm.04-15.3a1.5 1.5 0 1 1-3.01 0 1.5 1.5 0 0 1 3 0zm12.18-1.6a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M140.87 32.1a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm7.43 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm.02-4.35a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm4.62-.57a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M153.84 27.1a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M153.94 26.97a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M155.78 26.91a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M157.16 26.88a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M157.39 26.76a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.54-.06a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M162.7 26.66a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M162.92 26.54a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.45-.05a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M167.46 26.45a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M167.6 26.33a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M169.78 26.27a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M170.87 26.23a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M171 26.12a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M173.07 26.06a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M174.15 26.02a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M174.3 25.9a1.5 1.5 0 1 1-3.01 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M176.48 25.85a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M177.49 25.8a1.5 1.5 0 1 1-3.01 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M177.66 25.69a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.03-.06a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M182.67 25.6a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M182.85 25.48a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M185.46 25.42a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M186.64 25.38a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M186.77 25.26a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M188.88 25.2a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M190.04 25.16a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M190.2 25.05a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M192.13 25a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M193.18 24.95a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M193.34 24.84a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.28-.06a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M198.35 24.74a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M198.57 24.62a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.13-.05a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M203.44 24.52a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M203.57 24.4a1.5 1.5 0 1 1-3 .01 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M205.64 24.35a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M206.7 24.3a1.5 1.5 0 1 1-3.01.01 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M206.88 24.2a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M208.16 24.14a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M209.15 24.14a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M210.12 24.1a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M210.32 23.98a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M212.36 23.93a1.5 1.5 0 1 1-3 0 1.5 1.5 0 1 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M213.36 23.88a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M213.44 23.77a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M215.64 23.71a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M216.75 23.67a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M216.87 23.55a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M219.03 23.5a1.5 1.5 0 1 1-3.01 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M220.6 23.46a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M221.1 23.34a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M223.74 23.29a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M224.8 23.24a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M224.92 23.13a1.5 1.5 0 1 1-3.01 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M226.97 23.07a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M228.16 23.03a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M228.34 22.91a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M230.4 22.86a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M231.66 22.82a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M231.82 22.7a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.36-.06a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M236.11 22.6a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M236.32 22.48a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M238.55 22.43a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M239.56 22.39a1.5 1.5 0 1 1-3.01 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M239.77 22.27a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M242.08 22.2a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M243 22.17a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M243.12 22.05a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M245.36 22a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M246.44 21.95a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M246.56 21.84a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M248.68 21.78a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M249.66 21.74a1.5 1.5 0 1 1-3.01 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M249.8 21.62a1.5 1.5 0 1 1-3.01 0 1.5 1.5 0 0 1 3 0zm3.6-.05a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M254.75 21.53a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M254.87 21.41a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M257.07 21.35a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M258.28 21.31a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M258.43 21.2a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M261 21.14a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M262.13 21.1a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M262.24 20.98a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M264.55 20.93a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M265.43 20.88a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M265.54 20.77a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M267.73 20.71a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M268.73 20.67a1.5 1.5 0 1 1-3 0 1.5 1.5 0 1 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M268.86 20.55a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M270.1 20.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M270.93 20.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M271.87 20.46a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M271.96 20.34a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.44-.05a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M276.41 20.24a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M276.59 20.13a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M278.8 20.06a1.5 1.5 0 1 1-3.01 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M279.87 20.02a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M280.05 19.9a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M282.25 19.85a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M283.17 19.8a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M283.3 19.7a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M285.22 19.64a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M286.37 19.6a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M286.5 19.48a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M288.59 19.42a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M289.62 19.38a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M289.76 19.27a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M292.14 19.21a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M293.27 19.17a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M293.39 19.05a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M296.33 19a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M298.03 18.95a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M298.25 18.84a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M301.22 18.78a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M302.2 18.74a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M302.3 18.63a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M304.9 18.57a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M307 18.53a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M307.25 18.41a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.64-.05a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M313.27 18.31a1.5 1.5 0 1 1-3 .01 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M313.63 18.2a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.71-.06a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M319.16 18.1a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M319.35 17.98a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.85-.05a1.5 1.5 0 1 1-3.01 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M325.13 17.89a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M325.4 17.77a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.75-.05a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M330.85 17.67a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M331.05 17.56a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.48-.06a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M336.48 17.46a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M336.66 17.34a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.41-.05a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M342.11 17.25a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M342.35 17.13a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.29-.06a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M347.54 17.03a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M347.79 16.91a1.5 1.5 0 1 1-3 .01 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M350.04 16.86a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M351.28 16.86a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M353.05 16.82a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M353.42 16.7a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.6-.06a1.5 1.5 0 1 1-3 .01 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M358.68 16.6a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M358.86 16.49a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.6-.06a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M363.9 16.4a1.5 1.5 0 1 1-3-.01 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M364.1 16.27a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M366.39 16.22a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M367.66 16.18a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M367.8 16.06a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M369.88 16a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M371.18 15.97a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M371.34 15.85a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M373.57 15.8a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M374.81 15.75a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M374.94 15.63a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.31-.05a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M379.96 15.54a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M380.21 15.42a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.49-.06a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M385.54 15.32a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M385.72 15.2a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.53-.05a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M391.28 15.11a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M391.54 15a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.29-.07a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M396.92 14.89a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M397.22 14.77a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M399.52 14.72a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M400.53 14.68a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M400.65 14.56a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M402.84 14.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M403.83 14.46a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M404.04 14.34a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.66-.05a1.5 1.5 0 1 1-3.01 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M409.57 14.25a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M409.83 14.13a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.81-.06a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M415.27 14.04a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M415.46 13.92a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.61-.06a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M420.74 13.82a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M420.93 13.7a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.79-.05a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M426.38 13.6a1.5 1.5 0 1 1-3 .01 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M426.76 13.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.47-.07a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M432.15 13.4a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M432.38 13.28a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M434.37 13.22a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M436.03 13.22a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M437.68 13.18a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M438 13.06a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.6-.06a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M443.28 12.97a1.5 1.5 0 1 1-3.01 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M443.47 12.85a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.86-.05a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M448.97 12.75a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M449.25 12.64a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.84-.06a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M454.77 12.54a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M454.95 12.42a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.98-.05a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M460.6 12.32a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M460.8 12.2a1.5 1.5 0 1 1-3 .01 1.5 1.5 0 0 1 3 0zm3.6-.05a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M466.05 12.11a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M466.25 12a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.68-.06a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M471.82 11.9a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M472.07 11.78a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm4.07-.05a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M477.8 11.68a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M478.02 11.57a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.88-.06a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M483.51 11.47a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M483.76 11.36a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.69-.06a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M489.17 11.26a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M489.34 11.14a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.63-.05a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M494.59 11.04a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M494.8 10.93a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.7-.06a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M500.3 10.83a1.5 1.5 0 1 1-3.01 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M500.53 10.72a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.69-.06a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M505.38 10.62a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M505.52 10.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M507.6 10.45a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M508.94 10.4a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M509.09 10.29a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M511.19 10.23a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M512.31 10.19a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M512.45 10.07a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M514.76 10.02a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M515.78 9.98a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M515.92 9.86a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M518.89 9.8a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M520.64 9.76a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M520.93 9.64a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M523.16 9.59a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M524.82 9.59a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M526.51 9.55a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M526.71 9.43a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.82-.05a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M532.13 9.34a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M532.35 9.22a1.5 1.5 0 1 1-3 0 1.5 1.5 0 1 1 3 0zm3.87-.06a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M537.95 9.12a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M538.16 9a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.73-.05a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M543.45 8.9a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M543.7 8.79a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.59-.06a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M548.88 8.7a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M549.1 8.58a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.74-.06a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M554.6 8.48a1.5 1.5 0 1 1-3 0 1.5 1.5 0 1 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M554.82 8.36a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.65-.06a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M560.2 8.27a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M560.4 8.15a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.76-.05a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M565.93 8.05a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M566.25 7.94a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.55-.06a1.5 1.5 0 1 1-3.01 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M571.5 7.84a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M571.7 7.72a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.64-.05a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M576.96 7.63a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M577.46 7.5a1.5 1.5 0 1 1-3 .01 1.5 1.5 0 0 1 3 0zm3.64-.05a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M582.87 7.41a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M583.05 7.3a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.75-.06a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M588.4 7.2a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M588.6 7.08a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.63-.05a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M593.83 6.98a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M594.07 6.87a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.6-.06a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M599.54 6.77a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M599.73 6.66a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.58-.06a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M604.91 6.56a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M605.1 6.44a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.7-.06a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M610.43 6.34a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M610.67 6.23a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.81-.07a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M615.47 6.12a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M615.59 6a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M616.86 5.95a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M618.16 5.95a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm5.45-.04a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M623.73 5.86a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M624.77 5.82a1.5 1.5 0 1 1-3 .01 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M624.78 5.82a1.5 1.5 0 1 1-3 .01 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M624.8 5.8a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M624.8 5.74a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M625.61 5.74a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M53.78 153.62h578.18m-570.34 0v-5m84.04 5v-5m84.03 5v-5m84.03 5v-5m84.03 5v-5m84.03 5v-5m84.02 5v-5m-483.17 5v-2m21.01 2v-2m21.01 2v-2m42.01 2v-2m21.01 2v-2m21.01 2v-2m42.02 2v-2m21 2v-2m21.01 2v-2m42.02 2v-2m21 2v-2m21.01 2v-2m42.02 2v-2m21 2v-2m21.01 2v-2m42.01 2v-2m21.02 2v-2m21 2v-2m42.02 2v-2m21 2v-2m21.01 2v-2" fill="none" stroke="#000" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><use xlink:href="#a" x="67.41" y="227.18" width="100%" height="100%" transform="translate(-8.24 -61.55)"/><use xlink:href="#a" x="147.63" y="227.18" width="100%" height="100%" transform="translate(-8.24 -61.55)"/><use xlink:href="#b" x="152.53" y="227.18" width="100%" height="100%" transform="translate(-8.24 -61.55)"/><use xlink:href="#c" x="155.25" y="227.18" width="100%" height="100%" transform="translate(-8.24 -61.55)"/><use xlink:href="#d" x="231.66" y="227.18" width="100%" height="100%" transform="translate(-8.24 -61.55)"/><use xlink:href="#b" x="236.57" y="227.18" width="100%" height="100%" transform="translate(-8.24 -61.55)"/><use xlink:href="#e" x="239.29" y="227.18" width="100%" height="100%" transform="translate(-8.24 -61.55)"/><use xlink:href="#f" x="315.69" y="227.18" width="100%" height="100%" transform="translate(-8.24 -61.55)"/><use xlink:href="#b" x="320.6" y="227.18" width="100%" height="100%" transform="translate(-8.24 -61.55)"/><use xlink:href="#g" x="323.32" y="227.18" width="100%" height="100%" transform="translate(-8.24 -61.55)"/><use xlink:href="#h" x="399.72" y="227.18" width="100%" height="100%" transform="translate(-8.24 -61.55)"/><use xlink:href="#b" x="404.63" y="227.18" width="100%" height="100%" transform="translate(-8.24 -61.55)"/><use xlink:href="#f" x="407.35" y="227.18" width="100%" height="100%" transform="translate(-8.24 -61.55)"/><use xlink:href="#g" x="487.56" y="227.18" width="100%" height="100%" transform="translate(-8.24 -61.55)"/><use xlink:href="#g" x="567.78" y="227.18" width="100%" height="100%" transform="translate(-8.24 -61.55)"/><use xlink:href="#b" x="572.69" y="227.18" width="100%" height="100%" transform="translate(-8.24 -61.55)"/><use xlink:href="#c" x="575.41" y="227.18" width="100%" height="100%" transform="translate(-8.24 -61.55)"/><use xlink:href="#i" x="334.46" y="241.27" width="100%" height="100%" transform="translate(-8.24 -61.55)"/><use xlink:href="#j" x="339.71" y="241.27" width="100%" height="100%" transform="translate(-8.24 -61.55)"/><use xlink:href="#k" x="341.76" y="241.27" width="100%" height="100%" transform="translate(-8.24 -61.55)"/><use xlink:href="#l" x="349.31" y="241.27" width="100%" height="100%" transform="translate(-8.24 -61.55)"/><use xlink:href="#n" x="354.05" y="241.27" width="100%" height="100%" transform="translate(-8.24 -61.55)"/><use xlink:href="#m" x="356.86" y="241.27" width="100%" height="100%" transform="translate(-8.24 -61.55)"/><use xlink:href="#n" x="360.3" y="241.27" width="100%" height="100%" transform="translate(-8.24 -61.55)"/><use xlink:href="#o" x="364.31" y="241.27" width="100%" height="100%" transform="translate(-8.24 -61.55)"/><path d="M53.78 153.62V.5m0 147.88h5m-5-23.43h5m-5-23.42h5m-5-23.43h5m-5-23.42h5m-5-23.42h5m-5-23.42h5m-5 145.22h2m-2-9.36h2m-2-4.7h2m-2-4.68h2m-2-4.68h2m-2-9.37h2m-2-4.68h2m-2-4.69h2m-2-4.68h2m-2-9.38h2m-2-4.68h2m-2-4.68h2m-2-4.68h2m-2-9.38h2m-2-4.68h2m-2-4.69h2m-2-4.68h2m-2-9.37h2m-2-4.69h2m-2-4.68h2m-2-4.68h2m-2-9.38h2m-2-4.67h2m-2-4.7h2m-2-4.68h2m-2-9.37h2" fill="none" stroke="#000" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><use xlink:href="#a" x="51.56" y="213.93" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#f" x="31.74" y="190.51" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#p" x="36.65" y="190.51" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#a" x="41.56" y="190.51" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#a" x="46.47" y="190.51" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#a" x="51.38" y="190.51" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#p" x="31.74" y="167.08" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#a" x="36.65" y="167.08" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#a" x="41.56" y="167.08" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#a" x="46.47" y="167.08" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#a" x="51.38" y="167.08" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#q" x="31.74" y="143.66" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#p" x="36.65" y="143.66" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#a" x="41.56" y="143.66" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#a" x="46.47" y="143.66" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#a" x="51.38" y="143.66" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#d" x="27.29" y="120.24" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#a" x="32.2" y="120.24" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#a" x="37.11" y="120.24" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#a" x="42.01" y="120.24" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#a" x="46.92" y="120.24" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#a" x="51.83" y="120.24" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#d" x="27.29" y="96.81" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#f" x="32.2" y="96.81" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#p" x="37.11" y="96.81" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#a" x="42.01" y="96.81" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#a" x="46.92" y="96.81" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#a" x="51.83" y="96.81" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#d" x="27.29" y="73.39" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#p" x="32.2" y="73.39" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#a" x="37.11" y="73.39" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#a" x="42.01" y="73.39" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#a" x="46.92" y="73.39" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#a" x="51.83" y="73.39" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#r" x="15.08" y="182.47" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#s" x="15.08" y="177.47" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#t" x="15.08" y="172.73" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#u" x="15.08" y="167.76" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#s" x="15.08" y="162.74" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#v" x="15.08" y="158" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#w" x="15.08" y="152.98" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#s" x="15.08" y="148.84" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#z" x="15.08" y="144.1" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#x" x="15.08" y="141.28" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#u" x="15.08" y="135.28" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#y" x="15.08" y="130.26" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#z" x="15.08" y="122.71" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#s" x="15.08" y="117.73" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#A" x="15.08" y="113" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#z" x="15.08" y="109.76" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#B" x="15.08" y="106.94" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#C" x="15.08" y="103.5" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#D" x="15.08" y="98.2" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/></svg>
\ No newline at end of file
diff -Nru python-mitogen-0.3.23/docs/images/ansible/run_hostname_100_times_plain.svg python-mitogen-0.3.25~a1/docs/images/ansible/run_hostname_100_times_plain.svg
--- python-mitogen-0.3.23/docs/images/ansible/run_hostname_100_times_plain.svg	2025-04-28 15:04:30.000000000 +0200
+++ python-mitogen-0.3.25~a1/docs/images/ansible/run_hostname_100_times_plain.svg	1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg"; xmlns:xlink="http://www.w3.org/1999/xlink"; viewBox="0 0 632.46 181.53" height="242.04" width="843.28"><defs><symbol id="a" overflow="visible"><path d="M4.55-3.28c0 1.19-.17 2.05-.52 2.6-.33.55-.86.82-1.58.82C1.73.14 1.21-.14.87-.7a4.97 4.97 0 0 1-.51-2.57c0-1.17.17-2.03.52-2.59.34-.54.86-.81 1.57-.81.72 0 1.25.28 1.6.84.33.58.5 1.42.5 2.55zm-1.13 2c.08-.2.15-.48.19-.81a12.89 12.89 0 0 0 0-2.35c-.04-.33-.1-.6-.19-.83a1.4 1.4 0 0 0-.36-.51 1.01 1.01 0 0 0-.6-.17.98.98 0 0 0-.6.17c-.16.12-.28.3-.38.51-.09.23-.15.52-.17.85a11.37 11.37 0 0 0-.02 2.3c.04.3.1.58.2.82.08.23.2.4.35.52.16.12.36.19.61.19.24 0 .44-.05.61-.18.15-.1.27-.28.36-.51zm0 0"/></symbol><symbol id="b" overflow="visible"><path d="M4.69-2.25H3.9V0h-.85v-2.25H.17v-.92l2.94-3.38h.8v3.6h.78zm-1.63-.7v-2.57L.86-2.95zm0 0"/></symbol><symbol id="c" overflow="visible"><path d="M3.55-5.02c0-.28-.1-.53-.3-.73-.2-.2-.47-.3-.81-.3-.33 0-.59.1-.78.27a.88.88 0 0 0-.32.7c0 .22.05.4.16.56.1.15.26.28.47.4l.42.21c.18.09.34.16.5.2.25-.19.42-.4.52-.6.09-.2.14-.43.14-.7zm.12 3.29c0-.27-.05-.49-.15-.65-.11-.16-.31-.32-.61-.48a20.16 20.16 0 0 0-.97-.42c-.24.17-.42.37-.55.6-.14.23-.2.5-.2.8 0 .4.11.73.36.99.24.26.54.39.9.39.37 0 .66-.11.9-.34.21-.22.32-.52.32-.9zM2.44.16a2.5 2.5 0 0 1-.9-.16C1.3-.1 1.07-.23.88-.4.7-.59.55-.8.46-1.06c-.1-.24-.14-.49-.14-.76 0-.35.1-.68.28-.97.2-.29.46-.53.83-.72v-.02C1.1-3.7.85-3.9.7-4.14c-.15-.22-.23-.5-.23-.83 0-.49.19-.9.56-1.23.36-.32.83-.49 1.4-.49.6 0 1.08.15 1.44.46.36.32.54.72.54 1.2a1.71 1.71 0 0 1-1 1.55v.03c.38.18.67.39.87.64.2.26.3.59.3.98 0 .56-.2 1.03-.61 1.4-.42.4-.93.59-1.53.59zm0 0"/></symbol><symbol id="d" overflow="visible"><path d="M4.17 0H.98v-.67h1.2v-4.38H.97v-.6c.44 0 .77-.07.99-.2.2-.12.33-.36.36-.71h.69v5.89h1.15zm0 0"/></symbol><symbol id="e" overflow="visible"><path d="M4.5 0H.47v-.92l.81-.78a14.92 14.92 0 0 0 1.78-2.11c.18-.33.27-.67.27-1.02 0-.19-.03-.35-.08-.48a1.21 1.21 0 0 0-.23-.35c-.11-.08-.23-.14-.36-.2a1.58 1.58 0 0 0-.91 0c-.17.04-.32.09-.47.14l-.36.19a6.4 6.4 0 0 1-.28.17H.6v-.92a4.44 4.44 0 0 1 1.69-.4c.6 0 1.08.16 1.44.48.34.33.51.77.51 1.33 0 .26-.04.5-.09.7A3.02 3.02 0 0 1 3.5-3l-.48.55-.93.93-.8.77H4.5zm0 0"/></symbol><symbol id="f" overflow="visible"><path d="M4.6-2.13c0 .35-.06.66-.16.94A2.14 2.14 0 0 1 3.33-.02c-.24.1-.51.16-.8.16-.3 0-.57-.05-.81-.16-.24-.09-.45-.23-.64-.43-.23-.24-.4-.56-.53-.96a6.38 6.38 0 0 1-.02-3.02c.11-.45.3-.84.55-1.18.24-.33.54-.6.92-.78.36-.19.8-.28 1.3-.28l.4.03c.13.01.24.03.33.06v.85H4a2.7 2.7 0 0 0-.34-.13 2.46 2.46 0 0 0-.49-.05c-.54 0-.98.19-1.31.55a2.6 2.6 0 0 0-.6 1.64c.2-.14.42-.26.65-.34.22-.07.45-.11.72-.11.25 0 .47.02.67.06.18.06.38.17.6.31.23.2.4.42.52.7.13.27.19.6.19.98zm-.88.04c0-.26-.04-.49-.11-.68a1.28 1.28 0 0 0-.34-.46 1.34 1.34 0 0 0-.4-.2l-.45-.02c-.2 0-.4.03-.6.1-.18.05-.37.13-.55.26-.02.06-.02.12-.02.18a3.43 3.43 0 0 0 .13 1.31c.09.29.2.5.32.65.13.13.26.23.4.3.13.05.27.07.43.07.35 0 .64-.12.86-.37.2-.25.32-.63.33-1.14zm0 0"/></symbol><symbol id="g" overflow="visible"><path d="M2.25-5.92c-.16 0-.32.02-.48.06l-.46.14a2.78 2.78 0 0 0-.65.38H.6v-.94a4.5 4.5 0 0 1 1.7-.4c.3 0 .55.04.78.09.22.06.42.15.6.28a1.43 1.43 0 0 1 .6 1.2c0 .37-.13.68-.37.95-.24.28-.53.45-.86.52v.06c.14.03.29.08.46.14.14.08.28.17.43.28.14.14.25.3.33.49a2.14 2.14 0 0 1-.45 2.2 2 2 0 0 1-.69.45c-.27.1-.58.16-.92.16-.34 0-.67-.04-.99-.12C.91-.05.64-.15.43-.27v-.93h.05c.2.15.44.27.75.39.3.12.61.19.93.19.18 0 .36-.04.54-.1.18-.05.33-.14.46-.26A1.48 1.48 0 0 0 3.52-2a1.87 1.87 0 0 0-.11-.6.88.88 0 0 0-.29-.35 1.48 1.48 0 0 0-.43-.2l-.55-.04h-.37v-.72h.28c.4 0 .72-.09.97-.28.25-.18.37-.46.37-.83 0-.15-.03-.3-.1-.42-.07-.11-.15-.2-.24-.28a1.32 1.32 0 0 0-.38-.16 1.89 1.89 0 0 0-.42-.04zm0 0"/></symbol><symbol id="h" overflow="visible"><path d="M2.19 0v-5.77H0v-.78h5.27v.78h-2.2V0zm0 0"/></symbol><symbol id="i" overflow="visible"><path d="M1.42 0H.6v-4.9h.83zm.06-5.73H.55v-.86h.93zm0 0"/></symbol><symbol id="j" overflow="visible"><path d="M6.17 0v-2.84c0-.22-.01-.43-.03-.63a1.1 1.1 0 0 0-.1-.45.52.52 0 0 0-.26-.25.92.92 0 0 0-.44-.1c-.18.02-.36.07-.54.16-.2.1-.4.26-.61.45l.01.2V0h-.8v-2.84c0-.22-.02-.43-.04-.63a1.67 1.67 0 0 0-.11-.45.62.62 0 0 0-.25-.25.92.92 0 0 0-.44-.1c-.19.02-.37.07-.56.18-.2.11-.4.25-.58.42V0H.6v-4.9h.83v.54c.22-.22.43-.39.64-.51a1.54 1.54 0 0 1 1.48.03c.23.12.39.34.5.64.26-.27.5-.48.74-.63a1.6 1.6 0 0 1 1.34-.13c.18.08.33.19.46.33.13.15.24.34.31.57.07.22.11.5.11.83V0zm0 0"/></symbol><symbol id="k" overflow="visible"><path d="M2.73.1C1.95.13 1.34-.1.91-.54.47-.98.25-1.6.27-2.42c0-.8.2-1.44.62-1.92.41-.47.96-.7 1.64-.7.3 0 .57.04.81.13a1.698 1.698 0 0 1 1.01 1.1c.1.27.15.6.15 1v.44H1.1c0 .57.14 1 .43 1.3.28.31.68.46 1.19.46.17 0 .35-.02.53-.06.18-.03.34-.08.48-.16.15-.06.27-.13.38-.2.1-.05.18-.11.25-.17h.05v.9c-.1.05-.22.1-.36.14a3.27 3.27 0 0 1-1.32.27zM3.7-3a2.45 2.45 0 0 0-.1-.58 1.3 1.3 0 0 0-.18-.4c-.1-.13-.23-.22-.37-.29-.16-.06-.35-.09-.57-.09-.21 0-.4.03-.56.1a1.25 1.25 0 0 0-.7.71c-.06.16-.1.34-.13.55zm0 0"/></symbol><symbol id="l" overflow="visible"><path d="M3.13 1.81H2.1C1.6 1.21 1.2.57.92-.1a5.81 5.81 0 0 1-.45-2.4c0-.9.14-1.7.44-2.4.29-.67.69-1.32 1.2-1.93h1.02v.04c-.25.22-.47.47-.7.74a6.43 6.43 0 0 0-1 2.17A5.59 5.59 0 0 0 1.84.05a5.25 5.25 0 0 0 1.28 1.72zm0 0"/></symbol><symbol id="m" overflow="visible"><path d="M1.9.13c-.33 0-.63-.05-.92-.15a3.37 3.37 0 0 1-.7-.28v-.92h.05a2.43 2.43 0 0 0 .62.4c.14.07.3.12.47.16.17.06.34.08.52.08.13 0 .27-.01.42-.05.14-.03.26-.07.34-.12.1-.06.17-.13.22-.2a.75.75 0 0 0 .06-.35c0-.2-.05-.34-.15-.45-.12-.1-.31-.18-.58-.25l-.4-.1a3.49 3.49 0 0 1-.48-.1 1.4 1.4 0 0 1-.8-.5 1.3 1.3 0 0 1-.27-.83c0-.44.16-.8.5-1.08.33-.27.78-.41 1.34-.42.26.01.53.05.81.1.27.07.5.16.7.26v.89h-.04a2.35 2.35 0 0 0-1.5-.55c-.27 0-.5.06-.69.17a.57.57 0 0 0-.28.52c0 .21.06.36.17.45.1.1.28.19.53.25l.43.1.46.1c.37.1.65.25.83.46.18.22.27.5.27.86 0 .22-.04.42-.13.6-.08.2-.2.36-.36.5-.18.14-.37.25-.59.32-.23.08-.51.13-.84.13zm0 0"/></symbol><symbol id="n" overflow="visible"><path d="M2.95-2.52c0 .91-.15 1.7-.43 2.4-.3.68-.7 1.33-1.2 1.93h-1v-.04A5.71 5.71 0 0 0 1.58.05 5.7 5.7 0 0 0 2-3.89 6.18 6.18 0 0 0 .99-6.06a8.5 8.5 0 0 0-.67-.74v-.04h1a6.13 6.13 0 0 1 1.64 4.33zm0 0"/></symbol><symbol id="o" overflow="visible"><path d="M4.42-2.08A2.25 2.25 0 0 1 3.86-.5c-.19.2-.42.36-.69.47-.28.11-.59.17-.92.17a3.9 3.9 0 0 1-.92-.1 2.89 2.89 0 0 1-.8-.27v-.94H.6L.88-1a3.14 3.14 0 0 0 .9.33c.13.03.29.05.47.05s.35-.04.52-.1c.16-.06.3-.16.43-.31a1.48 1.48 0 0 0 .33-1.06c0-.23-.03-.42-.1-.57a.92.92 0 0 0-.26-.37c-.13-.1-.3-.18-.47-.24-.18-.03-.39-.06-.6-.06a5.5 5.5 0 0 0-1.3.16v-3.38h3.6v.77H1.63v1.75l.31-.03h.28c.34 0 .62.02.86.08a2 2 0 0 1 .66.32c.22.16.38.36.5.61.11.25.17.58.17.97zm0 0"/></symbol><symbol id="p" overflow="visible"><path d="M4.58-5.56L1.75 0H.81L3.8-5.78H.42v-.77h4.16zm0 0"/></symbol><symbol id="q" overflow="visible"><path d="M.13-2.47A4.96 4.96 0 0 1-.4-.33h-1.1v-.06c.28-.28.49-.6.63-.97.15-.36.22-.71.22-1.05 0-.47-.1-.84-.3-1.09a.96.96 0 0 0-.8-.38 1.1 1.1 0 0 0-.62.2c-.16.13-.29.34-.37.62a29.45 29.45 0 0 1-.52 1.8 1.63 1.63 0 0 1-1.55.89c-.52 0-.96-.2-1.33-.61a2.38 2.38 0 0 1-.53-1.6 4.85 4.85 0 0 1 .43-1.94h1.03v.07a2.79 2.79 0 0 0-.7 1.83c0 .4.09.71.28.96.18.27.43.39.75.38.28 0 .5-.07.65-.22.17-.14.29-.36.36-.64a18 18 0 0 1 .34-1.33c.14-.46.35-.79.63-1a1.86 1.86 0 0 1 1.78-.16c.25.11.47.25.64.44.19.22.34.46.44.72.1.27.15.6.15 1zm0 0"/></symbol><symbol id="r" overflow="visible"><path d="M.1-2.73c.02.78-.2 1.39-.65 1.82-.43.44-1.06.66-1.87.64-.8 0-1.44-.2-1.92-.62-.47-.41-.7-.96-.7-1.64 0-.3.04-.57.13-.81a1.698 1.698 0 0 1 1.1-1.01c.27-.1.6-.15 1-.15h.44v3.4c.57 0 1-.14 1.3-.43.31-.28.46-.68.46-1.19 0-.17-.02-.35-.06-.53a1.76 1.76 0 0 0-.16-.48 2.1 2.1 0 0 0-.2-.38c-.05-.1-.11-.18-.17-.25v-.05h.9c.05.1.1.22.14.36a3.27 3.27 0 0 1 .27 1.32zM-3-3.7c-.22 0-.41.04-.58.1-.15.03-.29.1-.4.18-.13.1-.22.23-.29.37-.06.16-.09.35-.09.57 0 .21.03.4.1.56a1.25 1.25 0 0 0 .71.7c.16.06.34.1.55.13zm0 0"/></symbol><symbol id="s" overflow="visible"><path d="M1.81-4.38v.83H-.53c.22.25.37.48.47.7.1.24.15.49.15.76 0 .56-.22 1-.67 1.34-.44.32-1.05.48-1.86.48a2.89 2.89 0 0 1-1.94-.62 1.87 1.87 0 0 1-.67-1.44 2.37 2.37 0 0 1 .34-1.22l-.2-.06v-.77zm-3.04.83h-2.8a2.33 2.33 0 0 0-.27 1.08c0 .44.16.77.47 1 .31.24.76.36 1.35.36.58 0 1.02-.1 1.32-.28.32-.19.47-.48.47-.88a2 2 0 0 0-.55-1.28zm0 0"/></symbol><symbol id="t" overflow="visible"><path d="M0-4.42v.83h-.55c.23.25.4.49.5.71.13.24.2.49.2.77 0 .22-.05.42-.12.61-.07.19-.18.36-.33.5-.15.14-.34.24-.57.31-.23.09-.51.13-.85.13H-4.9v-.83h2.8c.26 0 .48 0 .64-.03.18-.02.33-.06.45-.13a.61.61 0 0 0 .29-.28c.05-.11.07-.28.07-.5 0-.2-.05-.4-.17-.64a2.83 2.83 0 0 0-.42-.62H-4.9v-.83zm0 0"/></symbol><symbol id="u" overflow="visible"><path d="M0-4.45v.83h-2.8c-.22 0-.42 0-.62.03-.2.02-.35.06-.47.12a.75.75 0 0 0-.28.28c-.05.13-.08.3-.1.49 0 .2.06.42.18.64.11.22.25.43.42.64H0v.83h-4.9v-.83h.54a3.07 3.07 0 0 1-.51-.74 1.73 1.73 0 0 1-.18-.75c0-.48.16-.86.47-1.14.33-.27.8-.4 1.4-.4zm0 0"/></symbol><symbol id="v" overflow="visible"><path d="M.1-2.55c0 .34-.05.64-.15.92A1.94 1.94 0 0 1-1.3-.43c-.32.11-.7.16-1.14.16a2.77 2.77 0 0 1-1.9-.62c-.22-.2-.38-.44-.5-.73a2.69 2.69 0 0 1-.06-1.7c.08-.26.17-.48.27-.68h.92v.05l-.17.22-.2.34a3.05 3.05 0 0 0-.22.86c0 .43.17.77.48 1.03.34.26.8.4 1.38.4a2.1 2.1 0 0 0 1.36-.4c.32-.24.48-.58.48-1.03a2.12 2.12 0 0 0-.6-1.42V-4h.93a4.37 4.37 0 0 1 .36 1.02c.02.11.03.26.03.43zm0 0"/></symbol><symbol id="w" overflow="visible"><path d="M0-5.33v.97l-5.64 2.9H0v.82h-6.55V-1.9l5.2-2.63h-5.2v-.8zm0 0"/></symbol><symbol id="x" overflow="visible"><path d="M0-6.17h-2.84c-.22 0-.43.01-.63.03a1.1 1.1 0 0 0-.45.1.52.52 0 0 0-.25.26.92.92 0 0 0-.1.44c.02.18.07.36.16.54.1.2.26.4.45.61l.2-.01H0v.8h-2.84c-.22 0-.43.02-.63.04-.19.02-.33.06-.45.11a.62.62 0 0 0-.25.25.92.92 0 0 0-.1.44c.02.19.07.37.18.56.11.2.25.4.42.58H0v.83h-4.9v-.83h.54c-.22-.22-.39-.43-.51-.64a1.54 1.54 0 0 1 .03-1.48c.12-.23.34-.39.64-.5-.27-.26-.48-.5-.63-.74a1.6 1.6 0 0 1-.13-1.34c.08-.18.19-.33.33-.46.15-.13.34-.24.57-.31.22-.07.5-.11.83-.11H0zm0 0"/></symbol><symbol id="y" overflow="visible"><path d="M-2.47-3.86c-.58 0-1.03.09-1.34.27-.3.18-.46.46-.46.86 0 .23.06.46.18.68.1.23.23.44.39.63h2.8a2 2 0 0 0 .28-1.1c.01-.41-.14-.74-.44-.98s-.76-.36-1.4-.36zm-.06-.86c.8 0 1.45.2 1.94.6.49.38.73.87.73 1.45 0 .27-.04.5-.1.69-.07.18-.16.37-.27.56l.23.04v.79h-6.84v-.83h2.45c-.19-.2-.34-.43-.47-.67a1.82 1.82 0 0 1-.19-.83c0-.55.23-.99.67-1.31a3.12 3.12 0 0 1 1.85-.49zm0 0"/></symbol><symbol id="z" overflow="visible"><path d="M-4.02-3.2v.04l-.04.2v.24c0 .23.04.45.14.67.1.22.25.43.44.63H0v.83h-4.9v-.83h.73a3.9 3.9 0 0 1-.58-.8c-.1-.22-.16-.43-.16-.64v-.2a.64.64 0 0 0 .04-.14zm0 0"/></symbol><symbol id="A" overflow="visible"><path d="M1.81-3.13v1.02C1.21-1.6.57-1.2-.1-.92c-.68.3-1.48.45-2.4.45-.9 0-1.7-.14-2.4-.44a7.92 7.92 0 0 1-1.93-1.2v-1.02h.04c.22.25.47.47.74.7a6.43 6.43 0 0 0 2.17 1 5.59 5.59 0 0 0 3.94-.42 5.25 5.25 0 0 0 1.72-1.28zm0 0"/></symbol><symbol id="B" overflow="visible"><path d="M-2.02-5.1c.34 0 .63.07.88.2.25.12.45.29.6.5.2.24.34.5.42.8.08.27.12.63.12 1.07v1.89h-6.55V-2.4c0-.46.02-.8.05-1.05.03-.22.1-.45.22-.67.12-.23.3-.4.5-.5.21-.11.45-.17.72-.17.31 0 .59.08.83.25.24.17.43.39.56.67h.03c.12-.38.3-.69.58-.9.29-.22.64-.33 1.04-.33zm-2.92 1.22c-.15 0-.3.03-.42.08a.59.59 0 0 0-.26.25c-.09.15-.14.31-.16.49l-.02.7v.84h1.9v-.98c.02-.28 0-.48-.02-.6a1.57 1.57 0 0 0-.17-.42.74.74 0 0 0-.35-.28c-.13-.05-.3-.08-.5-.08zm2.97-.3c-.25 0-.45.03-.6.1a.87.87 0 0 0-.41.42c-.07.15-.12.3-.15.46-.01.16-.03.4-.03.7v.98h2.41v-.7c0-.38-.02-.69-.05-.9-.03-.22-.1-.42-.22-.58a1.06 1.06 0 0 0-.39-.36 1.46 1.46 0 0 0-.56-.13zm0 0"/></symbol><symbol id="C" overflow="visible"><path d="M-2.52-2.95c.91 0 1.7.15 2.4.43.68.3 1.33.7 1.93 1.2v1h-.04A5.71 5.71 0 0 0 .05-1.58 5.7 5.7 0 0 0-3.89-2 6.18 6.18 0 0 0-6.06-.99a8.5 8.5 0 0 0-.74.67h-.04v-1a6.13 6.13 0 0 1 4.33-1.64zm0 0"/></symbol></defs><path d="M69.28 153.62V1.5" fill="none" stroke="#c7c7c7" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M134.93 153.62V1.5m65.64 152.12V1.5m65.65 152.12V1.5m65.64 152.12V1.5m65.64 152.12V1.5m65.65 152.12V1.5m65.65 152.12V1.5m65.64 152.12V1.5" fill="none" stroke="#c7c7c7" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10" stroke-dasharray="1.00055247,2.00110494"/><path d="M59.78 144.77h571.18" fill="none" stroke="#c7c7c7" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M59.78 126.63h571.18M59.78 108.48h571.18M59.78 90.33h571.18M59.78 72.19h571.18M59.78 54.04h571.18M59.78 35.9h571.18M59.78 17.75h571.18" fill="none" stroke="#c7c7c7" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10" stroke-dasharray="1.00055247,2.00110494"/><use xlink:href="#a" x="175.29" y="18.17" width="100%" height="100%" transform="translate(-8.24 -61.55)"/><use xlink:href="#a" x="238.06" y="18.17" width="100%" height="100%" transform="translate(-8.24 -61.55)"/><use xlink:href="#a" x="305.22" y="18.17" width="100%" height="100%" transform="translate(-8.24 -61.55)"/><use xlink:href="#a" x="327.63" y="18.17" width="100%" height="100%" transform="translate(-8.24 -61.55)"/><use xlink:href="#a" x="439.29" y="18.17" width="100%" height="100%" transform="translate(-8.24 -61.55)"/><use xlink:href="#a" x="456.09" y="18.17" width="100%" height="100%" transform="translate(-8.24 -61.55)"/><path d="M69.03 144.77h.5v-.02h1.5v-.02h.5v-.02h1v-1.35h5.01V142h6v-1.35h6v-1.35h5v-1.35h5.5v-.01h.5v-1.35h5v-1.35h6v-1.36h5.01v-1.35h6v-1.35h5v-1.36h5v-1.35h6v-1.35h5.01v-1.36h6v-1.35h5v-1.36h5v-1.35h6v-1.35h5v-1.36h6v-1.35h4.01v-1.36h6v-1.35h5v-1.35h5v-1.35h5v-1.36h5v-1.35h6.01v-1.36h5v-1.35h4v-1.35h6v-1.36h5.01v-.6h.5v-.3h.5v-.45h5v-1.35h5v-1.36h6V98.7h5v-1.36h6v-1.35h5v-1.35h6v-1.35h5.01v-1.36h6v-1.35h5V89.2h6v-1.35h6V86.5h4v-1.36h6V83.8h5v-1.36h6.01V81.1h6v-1.35h5v-1.36h6.01v-1.35h5.5v-.3h.5v-1.05h4v-1.36h6v-1.35h6V71.6h5v-1.35h6.01V68.9h5v-1.35h6V66.2h5v-1.35h6v-1.36h4v-1.35h6.01v-1.35h6v-1.36h5v-1.35h6v-1.35h6v-1.36h5v-1.35h6v-1.36h6v-1.35h5.01v-1.35h6V48.6h6v-1.35h5v-1.36h4v-1.35h6.01v-1.35h6v-1.35h6v-1.36h5v-1.35h6.01v-1.36h6v-1.35h4v-1.35h6V33.7h5v-1.35h5V31h6v-1.36h5V28.3h6.01v-1.35h6v-1.36h5v-1.35h6v-1.35h6.01v-1.36h5v-1.35h6v-1.35h5v-1.35h6v-1.36h5v-1.35h6V13.4h6v-1.35h6V10.7h5.51v-.01h.5V9.35h8" fill="none" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M70.79 144.77a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M71.03 144.75a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M71.35 144.74a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M72.09 144.74a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M72.53 144.73a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M72.67 144.71a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M73.59 144.7a1.5 1.5 0 1 1-3 .01 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M73.65 143.36a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M75.66 143.36a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.07 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M79.25 142a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M81.21 142a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.16 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M84.92 140.65a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M86.94 140.65a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.06 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M90 140.65a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M90.43 140.65a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M90.47 139.3a1.5 1.5 0 1 1-3.01 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M92.43 139.3a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M95.4 139.3a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M95.84 137.95a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M97.48 137.95a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.36-.01a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M101.28 137.94a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M101.3 137.94a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M101.32 136.59a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M103.35 136.59a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.34 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M107.2 135.24a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M109.25 135.23a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M112.13 135.23a1.5 1.5 0 1 1-3 .01 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M112.14 135.23a1.5 1.5 0 1 1-3.01 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M112.57 135.23a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M112.63 133.88a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M114.67 133.88a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.1 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M118.22 132.53a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M119.82 132.53a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M123.28 132.53a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M123.32 132.52a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M123.34 131.18a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M125.44 131.18a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M128.32 131.18a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M128.78 129.82a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M130.25 129.82a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.01 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M133.26 129.82a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M133.75 129.82a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M133.82 128.47a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M135.85 128.47a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.13 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M138.98 128.47a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M139.4 128.47a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M139.45 127.12a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M141.62 127.11a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M144.5 127.11a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M144.95 125.76a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M146.73 125.76a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.15 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M149.88 125.76a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M150.37 125.76a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M150.43 124.41a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M152.48 124.4a1.5 1.5 0 1 1-3 .01 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M155.48 124.4a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M155.94 123.05a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M157.93 123.05a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M160.73 123.05a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M161.27 121.7a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M163.36 121.7a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.07 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M166.88 120.35a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M168.64 120.35a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.06 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 1 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M172.15 119a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M174.12 119a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M177.1 119a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M177.11 119a1.5 1.5 0 1 1-3-.01 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M177.53 119a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M177.56 117.64a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M178.78 117.64a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M181.32 117.64a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M181.87 116.29a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M184 116.29a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.04 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M187.04 116.29a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M187.48 116.29a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M187.51 114.93a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M189.27 114.93a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M192.08 114.93a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M192.09 114.93a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M192.51 114.93a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M192.55 113.58a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M194.29 113.58a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M197.17 113.58a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M197.17 113.58a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M197.73 113.58a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M197.8 112.23a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M199.88 112.23a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M202.78 112.22a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M203.26 110.87a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M204.63 110.87a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.03 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M208.13 109.52a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M210.15 109.52a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M213.08 109.52a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M213.08 109.52a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M213.5 109.52a1.5 1.5 0 1 1-3.01 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M213.53 108.16a1.5 1.5 0 1 1-3 .01 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M215.2 108.16a1.5 1.5 0 1 1-3.01 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M218.1 108.16a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M218.1 108.16a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M218.53 108.16a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M218.56 106.81a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M219.8 106.81a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M222.59 106.8a1.5 1.5 0 1 1-3 .01 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M223.1 105.46a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M225.24 105.46a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M228.12 105.46a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M228.12 105.46a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M228.67 105.46a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M228.73 104.1a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M230.88 104.1a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M234.34 103.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M234.34 103.2a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M234.34 102.75a1.5 1.5 0 1 1-3.01 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M236.12 102.75a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M239 102.75a1.5 1.5 0 1 1-3 0 1.5 1.5 0 1 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M239 102.75a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M239.56 102.75a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M239.63 101.4a1.5 1.5 0 1 1-3 0 1.5 1.5 0 1 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M241.75 101.4a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M244.73 101.4a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M245.2 100.04a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M247 100.04a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.08 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M250.08 100.04a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M250.52 100.04a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M250.56 98.7a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M252.01 98.69a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.06 0a1.5 1.5 0 1 1-3.01 0 1.5 1.5 0 0 1 3.01 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M255.07 98.69a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M255.81 98.69a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M255.89 97.34a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M258.01 97.34a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M261.02 97.34a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M261.46 97.34a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M261.51 95.98a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M263.66 95.98a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M266.56 95.98a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M267.14 94.63a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M269.32 94.63a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.24 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M273.02 93.28a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M274.67 93.27a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.06 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M278.2 91.92a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M280.32 91.92a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M283.27 91.92a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M283.28 91.92a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M283.71 91.92a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M283.75 90.57a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M285.62 90.57a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.04 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M289.18 89.22a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M291.34 89.22a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.09 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M294.9 87.86a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M297.06 87.86a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M300 87.86a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M300 87.86a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M300.44 87.86a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M300.47 86.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M301.73 86.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M304.59 86.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M305.23 85.15a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M307.36 85.15a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.02 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M310.84 83.8a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M312.68 83.8a1.5 1.5 0 1 1-3 0 1.5 1.5 0 1 1 3 0zm3.03 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M316.18 82.45a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M318.36 82.45a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.04 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M322.21 81.1a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M324.31 81.1a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M327.25 81.09a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M327.25 81.09a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M327.67 81.09a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M327.7 79.74a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M328.99 79.74a1.5 1.5 0 1 1-3.01 0 1.5 1.5 0 0 1 3 0zm3.25 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M332.24 79.74a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M332.8 79.74a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M332.88 78.39a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M335.04 78.39a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.18-.01a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M338.22 78.38a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M338.66 78.38a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M338.7 77.03a1.5 1.5 0 1 1-3.01 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M340.76 77.03a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.1 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M344.37 77.03a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M344.37 76.73a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M344.38 75.68a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M345.65 75.68a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M348.5 75.68a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M349.1 74.32a1.5 1.5 0 1 1-3 .01 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M351.34 74.32a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.26 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M355.07 72.97a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M357.14 72.97a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.06 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M360.2 72.97a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M360.63 72.97a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M360.66 71.62a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M362.18 71.62a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.21 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M365.87 70.27a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M367.96 70.27a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.4-.01a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M371.36 70.26a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M371.8 70.26a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M371.84 68.91a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M373.2 68.91a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M376.2 68.91a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M376.8 68.91a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M376.89 67.56a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M379.11 67.56a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3-.01a1.5 1.5 0 1 1-3 .01 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M382.12 67.55a1.5 1.5 0 1 1-3 .01 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M382.55 67.55a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M382.6 66.2a1.5 1.5 0 1 1-3.01 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M384.55 66.2a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M388.02 64.85a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M390.06 64.85a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.23 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M393.3 64.85a1.5 1.5 0 1 1-3.01 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M393.78 64.85a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M393.82 63.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M395.1 63.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M397.76 63.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 1 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M398.26 62.14a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M400.17 62.14a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.38 0a1.5 1.5 0 1 1-3.01 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M404.03 60.79a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M405.83 60.79a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.22 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M409.05 60.79a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M409.5 60.79a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M409.54 59.44a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M411.46 59.43a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.12 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M415.07 58.08a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M417.27 58.08a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.18 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M420.9 56.73a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M423.12 56.73a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.02 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M426.14 56.73a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M426.6 56.73a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M426.66 55.38a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M427.96 55.38a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.05 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M431.02 55.38a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M431.53 55.37a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M431.6 54.02a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M433.94 54.02a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.26 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M437.2 54.02a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M437.64 54.02a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M437.68 52.67a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M439.8 52.67a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.07 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M443.4 52.66a1.5 1.5 0 1 1-3 .01 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M443.4 52.66a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M443.46 51.32a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M445.63 51.31a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.26 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M449.36 49.96a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M451.45 49.96a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.17 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 1 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M455.11 48.6a1.5 1.5 0 1 1-3 .01 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M457.3 48.6a1.5 1.5 0 1 1-3 .01 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M460.26 48.6a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M460.27 48.6a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M460.84 48.6a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M460.9 47.25a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M462.33 47.25a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M465.02 47.25a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M465.03 47.25a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M465.47 47.25a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M465.5 45.9a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M466.78 45.9a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M469.7 45.9a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M470.35 44.55a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M472.51 44.55a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.2-.01a1.5 1.5 0 1 1-3 .01 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M476.22 43.2a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M477.95 43.2a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.03 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M480.98 43.2a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M481.48 43.2a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M481.55 41.84a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M483.85 41.84a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.22 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M487.07 41.84a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M487.54 41.84a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M487.59 40.48a1.5 1.5 0 1 1-3 .01 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M489.28 40.48a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M492.28 40.48a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M492.82 40.48a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M492.88 39.13a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M495.1 39.13a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.13 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M498.23 39.13a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M498.73 39.13a1.5 1.5 0 1 1-3.01 0 1.5 1.5 0 0 1 3.01 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M498.79 37.78a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M501.01 37.78a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.06 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M504.07 37.78a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M504.51 37.78a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M504.55 36.43a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M505.8 36.43a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M508.27 36.42a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M508.27 36.42a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M508.82 36.42a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M508.89 35.07a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M511.07 35.07a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.21 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M514.28 35.07a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M514.73 35.07a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M514.76 33.72a1.5 1.5 0 1 1-3 0 1.5 1.5 0 1 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M516.44 33.72a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.1 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M520.02 32.36a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M521.59 32.36a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M524.57 32.36a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M525.21 31.01a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M527.42 31.01a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.18-.01a1.5 1.5 0 1 1-3 .01 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M531.09 29.66a1.5 1.5 0 1 1-3.01 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M532.54 29.66a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M535.5 29.66a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M536.19 28.3a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M538.34 28.3a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M541.33 28.3a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M541.33 28.3a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M541.86 28.3a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M541.93 26.95a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M544.08 26.95a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.06 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M547.14 26.95a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M547.58 26.95a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M547.64 25.6a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M549.55 25.6a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.05 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M553.16 24.24a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M555.36 24.24a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.49 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M559.32 22.9a1.5 1.5 0 1 1-3-.01 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M561.42 22.89a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.09 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M565.04 21.54a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M566.59 21.54a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M569.2 21.54a1.5 1.5 0 1 1-3.01 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M569.2 21.54a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M569.82 21.54a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M569.9 20.18a1.5 1.5 0 1 1-3 0 1.5 1.5 0 1 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M572.06 20.18a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.02 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M575.08 20.18a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M575.66 20.18a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M575.73 18.83a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M577.9 18.83a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M580.82 18.83a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M581.39 17.48a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M583.55 17.47a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M586.48 17.47a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M586.97 16.12a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M588.8 16.12a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.07 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M592.42 14.77a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M594.56 14.77a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M597.4 14.77a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M597.4 14.77a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M598.04 14.77a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M598.1 13.41a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M600.23 13.41a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M603.14 13.41a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M603.14 13.41a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M603.69 13.41a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M603.76 12.06a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M605.96 12.06a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.01 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M608.98 12.06a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M609.69 12.06a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M609.75 10.7a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M611.91 10.7a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M614.85 10.7a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M615.44 10.7a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M615.48 10.7a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M615.5 9.35a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M617.61 9.35a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.1 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M620.71 9.35a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm3.16 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M623.95 9.35a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 0" fill="#1e4a85" fill-rule="evenodd" stroke="#1e4a85" stroke-width=".5" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><path d="M59.78 153.62h572.18m-562.68 0v-5m65.65 5v-5m65.64 5v-5m65.65 5v-5m65.64 5v-5m65.64 5v-5m65.65 5v-5m65.65 5v-5m65.64 5v-5m-508.74 5v-2m16.4 2v-2m16.42 2v-2m32.82 2v-2m16.41 2v-2m16.41 2v-2m32.83 2v-2m16.41 2v-2m16.4 2v-2m32.83 2v-2m16.41 2v-2m16.41 2v-2m32.83 2v-2m16.41 2v-2m16.41 2v-2m32.82 2v-2m16.41 2v-2m16.41 2v-2m32.82 2v-2m16.42 2v-2m16.41 2v-2m32.81 2v-2m16.42 2v-2m16.41 2v-2m32.82 2v-2m16.41 2v-2" fill="none" stroke="#000" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><use xlink:href="#a" x="75.07" y="227.18" width="100%" height="100%" transform="translate(-8.24 -61.55)"/><use xlink:href="#b" x="140.72" y="227.18" width="100%" height="100%" transform="translate(-8.24 -61.55)"/><use xlink:href="#c" x="206.36" y="227.18" width="100%" height="100%" transform="translate(-8.24 -61.55)"/><use xlink:href="#d" x="269.55" y="227.18" width="100%" height="100%" transform="translate(-8.24 -61.55)"/><use xlink:href="#e" x="274.46" y="227.18" width="100%" height="100%" transform="translate(-8.24 -61.55)"/><use xlink:href="#d" x="335.19" y="227.18" width="100%" height="100%" transform="translate(-8.24 -61.55)"/><use xlink:href="#f" x="340.1" y="227.18" width="100%" height="100%" transform="translate(-8.24 -61.55)"/><use xlink:href="#e" x="400.84" y="227.18" width="100%" height="100%" transform="translate(-8.24 -61.55)"/><use xlink:href="#a" x="405.75" y="227.18" width="100%" height="100%" transform="translate(-8.24 -61.55)"/><use xlink:href="#e" x="466.48" y="227.18" width="100%" height="100%" transform="translate(-8.24 -61.55)"/><use xlink:href="#b" x="471.39" y="227.18" width="100%" height="100%" transform="translate(-8.24 -61.55)"/><use xlink:href="#e" x="532.13" y="227.18" width="100%" height="100%" transform="translate(-8.24 -61.55)"/><use xlink:href="#c" x="537.04" y="227.18" width="100%" height="100%" transform="translate(-8.24 -61.55)"/><use xlink:href="#g" x="597.77" y="227.18" width="100%" height="100%" transform="translate(-8.24 -61.55)"/><use xlink:href="#e" x="602.68" y="227.18" width="100%" height="100%" transform="translate(-8.24 -61.55)"/><use xlink:href="#h" x="337.46" y="241.27" width="100%" height="100%" transform="translate(-8.24 -61.55)"/><use xlink:href="#i" x="342.71" y="241.27" width="100%" height="100%" transform="translate(-8.24 -61.55)"/><use xlink:href="#j" x="344.76" y="241.27" width="100%" height="100%" transform="translate(-8.24 -61.55)"/><use xlink:href="#k" x="352.31" y="241.27" width="100%" height="100%" transform="translate(-8.24 -61.55)"/><use xlink:href="#m" x="357.05" y="241.27" width="100%" height="100%" transform="translate(-8.24 -61.55)"/><use xlink:href="#l" x="359.86" y="241.27" width="100%" height="100%" transform="translate(-8.24 -61.55)"/><use xlink:href="#m" x="363.3" y="241.27" width="100%" height="100%" transform="translate(-8.24 -61.55)"/><use xlink:href="#n" x="367.32" y="241.27" width="100%" height="100%" transform="translate(-8.24 -61.55)"/><path d="M59.78 153.62V.5m0 144.27h5m-5-18.14h5m-5-18.15h5m-5-18.15h5m-5-18.14h5m-5-18.15h5m-5-18.14h5m-5-18.15h5m-5 134.28h2m-2-3.63h2m-2-7.26h2m-2-3.63h2m-2-3.63h2m-2-3.63h2m-2-7.25h2m-2-3.63h2m-2-3.63h2m-2-3.63h2m-2-7.26h2m-2-3.63h2m-2-3.63h2m-2-3.63h2m-2-7.26h2m-2-3.63h2m-2-3.62h2m-2-3.63h2m-2-7.26h2m-2-3.63h2m-2-3.63h2m-2-3.63h2m-2-7.26h2m-2-3.62h2m-2-3.63h2m-2-3.63h2m-2-7.26h2m-2-3.63h2m-2-3.64h2m-2-3.62h2m-2-7.26h2m-2-3.62h2m-2-3.64h2m-2-3.63h2" fill="none" stroke="#000" stroke-linecap="square" stroke-linejoin="bevel" stroke-miterlimit="10"/><use xlink:href="#a" x="57.56" y="210.32" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#d" x="27.84" y="192.18" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#a" x="32.74" y="192.18" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#a" x="37.65" y="192.18" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#a" x="42.56" y="192.18" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#a" x="47.47" y="192.18" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#a" x="52.38" y="192.18" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#a" x="57.28" y="192.18" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#e" x="27.84" y="174.03" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#a" x="32.74" y="174.03" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#a" x="37.65" y="174.03" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#a" x="42.56" y="174.03" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#a" x="47.47" y="174.03" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#a" x="52.38" y="174.03" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#a" x="57.28" y="174.03" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#g" x="27.84" y="155.89" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#a" x="32.74" y="155.89" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#a" x="37.65" y="155.89" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#a" x="42.56" y="155.89" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#a" x="47.47" y="155.89" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#a" x="52.38" y="155.89" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#a" x="57.28" y="155.89" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#b" x="27.84" y="137.74" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#a" x="32.74" y="137.74" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#a" x="37.65" y="137.74" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#a" x="42.56" y="137.74" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#a" x="47.47" y="137.74" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#a" x="52.38" y="137.74" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#a" x="57.28" y="137.74" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#o" x="27.84" y="119.6" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#a" x="32.74" y="119.6" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#a" x="37.65" y="119.6" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#a" x="42.56" y="119.6" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#a" x="47.47" y="119.6" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#a" x="52.38" y="119.6" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#a" x="57.28" y="119.6" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#f" x="27.84" y="101.45" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#a" x="32.74" y="101.45" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#a" x="37.65" y="101.45" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#a" x="42.56" y="101.45" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#a" x="47.47" y="101.45" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#a" x="52.38" y="101.45" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#a" x="57.28" y="101.45" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#p" x="27.84" y="83.31" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#a" x="32.74" y="83.31" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#a" x="37.65" y="83.31" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#a" x="42.56" y="83.31" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#a" x="47.47" y="83.31" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#a" x="52.38" y="83.31" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#a" x="57.28" y="83.31" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#q" x="15.08" y="182.47" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#r" x="15.08" y="177.47" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#s" x="15.08" y="172.73" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#t" x="15.08" y="167.76" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#r" x="15.08" y="162.74" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#u" x="15.08" y="158" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#v" x="15.08" y="152.98" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#r" x="15.08" y="148.84" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#y" x="15.08" y="144.1" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#w" x="15.08" y="141.28" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#t" x="15.08" y="135.28" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#x" x="15.08" y="130.26" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#y" x="15.08" y="122.71" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#r" x="15.08" y="117.73" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#z" x="15.08" y="113" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#y" x="15.08" y="109.76" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#A" x="15.08" y="106.94" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#B" x="15.08" y="103.5" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/><use xlink:href="#C" x="15.08" y="98.2" width="100%" height="100%" transform="translate(-8.24 -61.55)" fill="#1e4a85"/></svg>
\ No newline at end of file
diff -Nru python-mitogen-0.3.23/docs/svg-boxify.py python-mitogen-0.3.25~a1/docs/svg-boxify.py
--- python-mitogen-0.3.23/docs/svg-boxify.py	2025-04-28 15:04:30.000000000 +0200
+++ python-mitogen-0.3.25~a1/docs/svg-boxify.py	1970-01-01 01:00:00.000000000 +0100
@@ -1,13 +0,0 @@
-
-# Add viewBox attr to SVGs lacking it, so IE scales properly.
-
-import lxml.etree
-import glob
-
-
-for name in glob.glob('images/*.svg') + glob.glob('images/ansible/*.svg'):
-    doc = lxml.etree.parse(open(name))
-    svg = doc.getroot()
-    if 'viewBox' not in svg.attrib:
-        svg.attrib['viewBox'] = '0 0 %(width)s %(height)s' % svg.attrib
-        open(name, 'w').write(lxml.etree.tostring(svg, xml_declaration=True, encoding='UTF-8'))
diff -Nru python-mitogen-0.3.23/.github/workflows/tests.yml python-mitogen-0.3.25~a1/.github/workflows/tests.yml
--- python-mitogen-0.3.23/.github/workflows/tests.yml	2025-04-28 15:04:30.000000000 +0200
+++ python-mitogen-0.3.25~a1/.github/workflows/tests.yml	2025-06-05 00:40:06.000000000 +0200
@@ -4,7 +4,7 @@
 
 # env:
 #  ANSIBLE_VERBOSITY: 3
-#   MITOGEN_LOG_LEVEL: DEBUG
+#  MITOGEN_LOG_LEVEL: DEBUG
 
 on:
   pull_request:
@@ -19,6 +19,7 @@
     name: u2204 ${{ matrix.tox_env }}
     # https://github.com/actions/runner-images/blob/main/images/ubuntu/Ubuntu2204-Readme.md
     runs-on: ubuntu-22.04
+    timeout-minutes: 25
 
     strategy:
       fail-fast: false
@@ -140,6 +141,7 @@
     name: u2404 ${{ matrix.tox_env }}
     # https://github.com/actions/runner-images/blob/main/images/ubuntu/Ubuntu2404-Readme.md
     runs-on: ubuntu-24.04
+    timeout-minutes: 25
 
     strategy:
       fail-fast: false
@@ -175,10 +177,16 @@
           - name: Ans_313_11
             python_version: '3.13'
             tox_env: py313-mode_ansible-ansible11
+          - name: Ans_313_12
+            python_version: '3.13'
+            tox_env: py313-mode_ansible-ansible12
 
           - name: Van_313_11
             python_version: '3.13'
             tox_env: py313-mode_ansible-ansible11-strategy_linear
+          - name: Van_313_12
+            python_version: '3.13'
+            tox_env: py313-mode_ansible-ansible12-strategy_linear
 
           - name: Mito_313
             python_version: '3.13'
@@ -271,6 +279,12 @@
           - name: Van_313_11
             tox_env: py313-mode_localhost-ansible11-strategy_linear
 
+          - name: Loc_313_12
+            tox_env: py313-mode_localhost-ansible12
+
+          - name: Van_313_12
+            tox_env: py313-mode_localhost-ansible12-strategy_linear
+
     steps:
       - uses: actions/checkout@v4
       - uses: actions/setup-python@v5
diff -Nru python-mitogen-0.3.23/mitogen/core.py python-mitogen-0.3.25~a1/mitogen/core.py
--- python-mitogen-0.3.23/mitogen/core.py	2025-04-28 15:04:30.000000000 +0200
+++ python-mitogen-0.3.25~a1/mitogen/core.py	2025-06-05 00:40:06.000000000 +0200
@@ -74,6 +74,7 @@
 import os
 import pickle as py_pickle
 import pstats
+import pty
 import signal
 import socket
 import struct
@@ -544,8 +545,17 @@
     they must be explicitly closed through some other means, such as
     :func:`mitogen.fork.on_fork`.
     """
+    stdfds = [
+        stdfd
+        for stdio, stdfd in [
+            (sys.stdin, pty.STDIN_FILENO),
+            (sys.stdout, pty.STDOUT_FILENO),
+            (sys.stderr, pty.STDERR_FILENO),
+        ]
+        if stdio is not None and not stdio.closed
+    ]
+    assert fd not in stdfds, 'fd %r is one of the stdio fds: %r' % (fd, stdfds)
     flags = fcntl.fcntl(fd, fcntl.F_GETFD)
-    assert fd > 2, 'fd %r <= 2' % (fd,)
     fcntl.fcntl(fd, fcntl.F_SETFD, flags | fcntl.FD_CLOEXEC)
 
 
@@ -4019,7 +4029,9 @@
         in_fp = os.fdopen(os.dup(in_fd), 'rb', 0)
         os.close(in_fd)
 
-        out_fp = os.fdopen(os.dup(self.config.get('out_fd', 1)), 'wb', 0)
+        out_fd = self.config.get('out_fd', pty.STDOUT_FILENO)
+        out_fd2 = os.dup(out_fd)
+        out_fp = os.fdopen(out_fd2, 'wb', 0)
         self.stream = MitogenProtocol.build_stream(
             self.router,
             parent_id,
@@ -4103,7 +4115,13 @@
         Open /dev/null to replace stdio temporarily. In case of odd startup,
         assume we may be allocated a standard handle.
         """
-        for stdfd, mode in ((0, os.O_RDONLY), (1, os.O_RDWR), (2, os.O_RDWR)):
+        for stdio, stdfd, mode in [
+                (sys.stdin, pty.STDIN_FILENO, os.O_RDONLY),
+                (sys.stdout, pty.STDOUT_FILENO, os.O_RDWR),
+                (sys.stderr, pty.STDERR_FILENO, os.O_RDWR),
+        ]:
+            if stdio is None:
+                continue
             fd = os.open('/dev/null', mode)
             if fd != stdfd:
                 os.dup2(fd, stdfd)
@@ -4119,8 +4137,9 @@
         avoid receiving SIGHUP.
         """
         try:
-            if os.isatty(2):
-                self.reserve_tty_fp = os.fdopen(os.dup(2), 'r+b', 0)
+            if os.isatty(pty.STDERR_FILENO):
+                reserve_tty_fd = os.dup(pty.STDERR_FILENO)
+                self.reserve_tty_fp = os.fdopen(reserve_tty_fd, 'r+b', 0)
                 set_cloexec(self.reserve_tty_fp.fileno())
         except OSError:
             pass
@@ -4140,13 +4159,18 @@
         self._nullify_stdio()
 
         self.loggers = []
-        for name, fd in (('stdout', 1), ('stderr', 2)):
-            log = IoLoggerProtocol.build_stream(name, fd)
+        for stdio, stdfd, name in [
+                (sys.stdout, pty.STDOUT_FILENO, 'stdout'),
+                (sys.stderr, pty.STDERR_FILENO, 'stderr'),
+        ]:
+            if stdio is None:
+                continue
+            log = IoLoggerProtocol.build_stream(name, stdfd)
             self.broker.start_receive(log)
             self.loggers.append(log)
 
         # Reopen with line buffering.
-        sys.stdout = os.fdopen(1, 'w', 1)
+        sys.stdout = os.fdopen(pty.STDOUT_FILENO, 'w', 1)
 
     def main(self):
         self._setup_master()
diff -Nru python-mitogen-0.3.23/mitogen/fakessh.py python-mitogen-0.3.25~a1/mitogen/fakessh.py
--- python-mitogen-0.3.23/mitogen/fakessh.py	2025-04-28 15:04:30.000000000 +0200
+++ python-mitogen-0.3.25~a1/mitogen/fakessh.py	2025-06-05 00:40:06.000000000 +0200
@@ -95,6 +95,7 @@
 import getopt
 import inspect
 import os
+import pty
 import shutil
 import socket
 import subprocess
@@ -354,8 +355,9 @@
               control_handle, stdin_handle)
 
     process = Process(econtext.router,
-                      stdin=os.fdopen(1, 'w+b', 0),
-                      stdout=os.fdopen(0, 'r+b', 0))
+        stdin=os.fdopen(pty.STDOUT_FILENO, 'w+b', 0),
+        stdout=os.fdopen(pty.STDIN_FILENO, 'r+b', 0),
+    )
     process.start_master(
         stdin=mitogen.core.Sender(dest, stdin_handle),
         control=mitogen.core.Sender(dest, control_handle),
diff -Nru python-mitogen-0.3.23/mitogen/__init__.py python-mitogen-0.3.25~a1/mitogen/__init__.py
--- python-mitogen-0.3.23/mitogen/__init__.py	2025-04-28 15:04:30.000000000 +0200
+++ python-mitogen-0.3.25~a1/mitogen/__init__.py	2025-06-05 00:40:06.000000000 +0200
@@ -35,7 +35,7 @@
 
 
 #: Library version as a tuple.
-__version__ = (0, 3, 23)
+__version__ = (0, 3, 25, 'a', 1)
 
 
 #: This is :data:`False` in slave contexts. Previously it was used to prevent
diff -Nru python-mitogen-0.3.23/mitogen/parent.py python-mitogen-0.3.25~a1/mitogen/parent.py
--- python-mitogen-0.3.23/mitogen/parent.py	2025-04-28 15:04:30.000000000 +0200
+++ python-mitogen-0.3.25~a1/mitogen/parent.py	2025-06-05 00:40:06.000000000 +0200
@@ -43,6 +43,7 @@
 import logging
 import os
 import re
+import pty
 import signal
 import socket
 import struct
@@ -361,13 +362,13 @@
         escalates_privilege=escalates_privilege
     )
 
-    stderr = None
-    stderr_r = None
     if merge_stdio:
-        stderr = child_wfp
+        stderr_r, stderr = None, child_wfp
     elif stderr_pipe:
         stderr_r, stderr = mitogen.core.pipe()
         mitogen.core.set_cloexec(stderr_r.fileno())
+    else:
+        stderr_r, stderr = None, None
 
     try:
         proc = popen(
@@ -406,12 +407,14 @@
     if sys.platform in ('linux', 'linux2'):
         # On Linux, the controlling tty becomes the first tty opened by a
         # process lacking any prior tty.
-        os.close(os.open(os.ttyname(2), os.O_RDWR))
+        tty_path = os.ttyname(pty.STDERR_FILENO)
+        tty_fd = os.open(tty_path, os.O_RDWR)
+        os.close(tty_fd)
     if hasattr(termios, 'TIOCSCTTY') and not mitogen.core.IS_WSL and not IS_SOLARIS:
         # #550: prehistoric WSL does not like TIOCSCTTY.
         # On BSD an explicit ioctl is required. For some inexplicable reason,
         # Python 2.6 on Travis also requires it.
-        fcntl.ioctl(2, termios.TIOCSCTTY)
+        fcntl.ioctl(pty.STDERR_FILENO, termios.TIOCSCTTY)
 
 
 def _linux_broken_devpts_openpty():
@@ -1415,7 +1418,7 @@
     #   w: write side of core_src FD.
     #   C: the decompressed core source.
 
-    # Final os.close(2) to avoid --py-debug build from corrupting stream with
+    # Final os.close(STDOUT_FILENO) to avoid --py-debug build corrupting stream with
     # "[1234 refs]" during exit.
     @staticmethod
     def _first_stage():
@@ -1683,9 +1686,7 @@
 
         LOG.debug('child for %r started: pid:%r stdin:%r stdout:%r stderr:%r',
                   self, self.proc.pid,
-                  self.proc.stdin.fileno(),
-                  self.proc.stdout.fileno(),
-                  self.proc.stderr and self.proc.stderr.fileno())
+                  self.proc.stdin, self.proc.stdout, self.proc.stderr)
 
         self.stdio_stream = self._setup_stdio_stream()
         if self.context.name is None:
diff -Nru python-mitogen-0.3.23/setup.py python-mitogen-0.3.25~a1/setup.py
--- python-mitogen-0.3.23/setup.py	2025-04-28 15:04:30.000000000 +0200
+++ python-mitogen-0.3.25~a1/setup.py	2025-06-05 00:40:06.000000000 +0200
@@ -33,15 +33,34 @@
 
 
 def grep_version():
+    # See also changlelog_version() in docs.conf.py
     path = os.path.join(os.path.dirname(__file__), 'mitogen/__init__.py')
+
+    # Based on https://packaging.python.org/en/latest/specifications/version-specifiers/#appendix-parsing-version-strings-with-regular-expressions
+    # e.g. "__version__ = (0, 1, 2)", "__version__ = (0, 1, 3, 'dev')",
+    #      "__version__ = (0, 1, 4, 'a', 1)"
     version_pattern = re.compile(
-        r"__version__ = \((\d+), (\d+), (\d+)(?:, '(dev)')?\)",
+        r'''
+        ^__version__\s=\s\(
+        (?P<major>\d+)
+        ,\s
+        (?P<minor>\d+)
+        ,\s
+        (?P<patch>\d+)
+        (?:
+            (?:,\s '(?P<dev_l>dev)')
+            | (?:,\s '(?P<pre_l>a|b)' ,\s (?P<pre_n>\d+))
+        )?
+        \)
+        $
+        ''',
+        re.MULTILINE | re.VERBOSE,
     )
     with open(path) as fp:
         match = version_pattern.search(fp.read())
     if match is None:
         raise ValueError('Could not find __version__ string in %s', path)
-    # E.g. '0.1.2', '0.1.3dev'
+    # e.g. '0.1.2', '0.1.3dev', '0.1.4a1'
     return '.'.join(str(part) for part in match.groups() if part)
 
 
diff -Nru python-mitogen-0.3.23/tests/ansible/hosts/group_vars/all.yml python-mitogen-0.3.25~a1/tests/ansible/hosts/group_vars/all.yml
--- python-mitogen-0.3.23/tests/ansible/hosts/group_vars/all.yml	2025-04-28 15:04:30.000000000 +0200
+++ python-mitogen-0.3.25~a1/tests/ansible/hosts/group_vars/all.yml	2025-06-05 00:40:06.000000000 +0200
@@ -12,12 +12,12 @@
   {{-
     (
       not is_mitogen
-      and ansible_facts.distribution in ["MacOSX"]
+      and is_macos_controller
       and ansible_version.full is version("2.11", ">=", strict=True)
     )
     or (
       is_mitogen
-      and not ansible_facts.distribution in ["MacOSX"]
+      and not is_macos_controller
     )
     or (
       is_mitogen
diff -Nru python-mitogen-0.3.23/tests/ansible/integration/action/transfer_data.yml python-mitogen-0.3.25~a1/tests/ansible/integration/action/transfer_data.yml
--- python-mitogen-0.3.23/tests/ansible/integration/action/transfer_data.yml	2025-04-28 15:04:30.000000000 +0200
+++ python-mitogen-0.3.25~a1/tests/ansible/integration/action/transfer_data.yml	2025-06-05 00:40:06.000000000 +0200
@@ -1,7 +1,14 @@
 
-- name: integration/action/transfer_data.yml
+- name: integration/action/transfer_data.yml, json
   hosts: test-targets
   tasks:
+    - meta: end_play
+      when:
+        # Ansible >= 12 (ansible-core >= 2.19) only allows bytes|str through
+        # `ansible.plugins.action.ActionBase._transfer_data()`.
+        - ansible_version.full is version('2.18.999', '>', strict=True)
+        - not is_mitogen
+
     - name: Cleanup transfer data
       file:
         path: /tmp/transfer-data
@@ -15,26 +22,41 @@
           data: {
             "I am JSON": true
           }
+
     - name: Slurp JSON transfer data
       slurp:
         src: /tmp/transfer-data
       register: out
+
     - assert:
         that: |
           out.content|b64decode == '{"I am JSON": true}'
         fail_msg: |
           out={{ out }}
 
+    - name: Cleanup transfer data
+      file:
+        path: /tmp/transfer-data
+        state: absent
+  tags:
+    - transfer_data
+
+
+- name: integration/action/transfer_data.yml, text
+  hosts: test-targets
+  tasks:
     - name: Create text transfer data
       action_passthrough:
         method: _transfer_data
         kwargs:
           remote_path: /tmp/transfer-data
           data: "I am text."
+
     - name: Slurp text transfer data
       slurp:
         src: /tmp/transfer-data
       register: out
+
     - assert:
         that:
           out.content|b64decode == 'I am text.'
diff -Nru python-mitogen-0.3.23/tests/ansible/integration/async/multiple_items_loop.yml python-mitogen-0.3.25~a1/tests/ansible/integration/async/multiple_items_loop.yml
--- python-mitogen-0.3.23/tests/ansible/integration/async/multiple_items_loop.yml	2025-04-28 15:04:30.000000000 +0200
+++ python-mitogen-0.3.25~a1/tests/ansible/integration/async/multiple_items_loop.yml	2025-06-05 00:40:06.000000000 +0200
@@ -19,7 +19,7 @@
       jid: "{{ item.ansible_job_id }}"
     become: yes
     register: out
-    until: out.finished
+    until: out is finished
     retries: 30
     with_items:
       - "{{ jobs.results }}"
diff -Nru python-mitogen-0.3.23/tests/ansible/integration/async/result_binary_producing_json.yml python-mitogen-0.3.25~a1/tests/ansible/integration/async/result_binary_producing_json.yml
--- python-mitogen-0.3.23/tests/ansible/integration/async/result_binary_producing_json.yml	2025-04-28 15:04:30.000000000 +0200
+++ python-mitogen-0.3.25~a1/tests/ansible/integration/async/result_binary_producing_json.yml	2025-06-05 00:40:06.000000000 +0200
@@ -34,7 +34,7 @@
     async_status:
       jid: "{{job.ansible_job_id}}"
     register: result
-    until: result.finished
+    until: result is finished
     retries: 100000
     delay: 0
 
diff -Nru python-mitogen-0.3.23/tests/ansible/integration/async/runner_new_process.yml python-mitogen-0.3.25~a1/tests/ansible/integration/async/runner_new_process.yml
--- python-mitogen-0.3.23/tests/ansible/integration/async/runner_new_process.yml	2025-04-28 15:04:30.000000000 +0200
+++ python-mitogen-0.3.25~a1/tests/ansible/integration/async/runner_new_process.yml	2025-06-05 00:40:06.000000000 +0200
@@ -30,7 +30,7 @@
     async_status:
       jid: "{{async_proc1.ansible_job_id}}"
     register: async_result1
-    until: async_result1.finished
+    until: async_result1 is finished
     retries: 100000
     delay: 0
 
@@ -44,7 +44,7 @@
     async_status:
       jid: "{{async_proc2.ansible_job_id}}"
     register: async_result2
-    until: async_result2.finished
+    until: async_result2 is finished
     retries: 100000
     delay: 0
 
diff -Nru python-mitogen-0.3.23/tests/ansible/integration/async/runner_one_job.yml python-mitogen-0.3.25~a1/tests/ansible/integration/async/runner_one_job.yml
--- python-mitogen-0.3.23/tests/ansible/integration/async/runner_one_job.yml	2025-04-28 15:04:30.000000000 +0200
+++ python-mitogen-0.3.25~a1/tests/ansible/integration/async/runner_one_job.yml	2025-06-05 00:40:06.000000000 +0200
@@ -30,7 +30,7 @@
     async_status:
       jid: "{{job1.ansible_job_id}}"
     register: result1
-    until: result1.finished
+    until: result1 is finished
     retries: 100000
     delay: 0
 
diff -Nru python-mitogen-0.3.23/tests/ansible/integration/async/runner_timeout_then_polling.yml python-mitogen-0.3.25~a1/tests/ansible/integration/async/runner_timeout_then_polling.yml
--- python-mitogen-0.3.23/tests/ansible/integration/async/runner_timeout_then_polling.yml	2025-04-28 15:04:30.000000000 +0200
+++ python-mitogen-0.3.25~a1/tests/ansible/integration/async/runner_timeout_then_polling.yml	2025-06-05 00:40:06.000000000 +0200
@@ -19,7 +19,7 @@
     async_status:
       jid: "{{job.ansible_job_id}}"
     register: result
-    until: result.finished
+    until: result is finished
     retries: 500
     delay: 0
     ignore_errors: true
diff -Nru python-mitogen-0.3.23/tests/ansible/integration/async/runner_two_simultaneous_jobs.yml python-mitogen-0.3.25~a1/tests/ansible/integration/async/runner_two_simultaneous_jobs.yml
--- python-mitogen-0.3.23/tests/ansible/integration/async/runner_two_simultaneous_jobs.yml	2025-04-28 15:04:30.000000000 +0200
+++ python-mitogen-0.3.25~a1/tests/ansible/integration/async/runner_two_simultaneous_jobs.yml	2025-06-05 00:40:06.000000000 +0200
@@ -40,7 +40,7 @@
     async_status:
       jid: "{{job1.ansible_job_id}}"
     register: result1
-    until: result1.finished
+    until: result1 is finished
     retries: 5
     delay: 1
 
@@ -48,7 +48,7 @@
     async_status:
       jid: "{{job2.ansible_job_id}}"
     register: result2
-    until: result2.finished
+    until: result2 is finished
     retries: 5
     delay: 1
 
diff -Nru python-mitogen-0.3.23/tests/ansible/integration/connection/disconnect_during_module.yml python-mitogen-0.3.25~a1/tests/ansible/integration/connection/disconnect_during_module.yml
--- python-mitogen-0.3.23/tests/ansible/integration/connection/disconnect_during_module.yml	2025-04-28 15:04:30.000000000 +0200
+++ python-mitogen-0.3.25~a1/tests/ansible/integration/connection/disconnect_during_module.yml	2025-06-05 00:40:06.000000000 +0200
@@ -13,6 +13,7 @@
     vars:
       ansible_python_interpreter: "{{ ansible_playbook_python }}"
     environment:
+      ANSIBLE_STRATEGY:  "{{ lookup('env', 'ANSIBLE_STRATEGY') | mandatory }}"
       ANSIBLE_VERBOSITY: "{{ ansible_verbosity }}"
     command: |
       ansible-playbook
diff -Nru python-mitogen-0.3.23/tests/ansible/integration/connection_delegation/stack_construction.yml python-mitogen-0.3.25~a1/tests/ansible/integration/connection_delegation/stack_construction.yml
--- python-mitogen-0.3.23/tests/ansible/integration/connection_delegation/stack_construction.yml	2025-04-28 15:04:30.000000000 +0200
+++ python-mitogen-0.3.25~a1/tests/ansible/integration/connection_delegation/stack_construction.yml	2025-06-05 00:40:06.000000000 +0200
@@ -24,10 +24,12 @@
     - local_action: custom_python_detect_environment
       register: local_env
   tags:
+    - mitogen_only
     - stack_construction
 
 
-- hosts: cd-normal
+- name: stack_construction.yml, cd-normal
+  hosts: cd-normal
   tasks:
     - include_tasks: ../_mitogen_only.yml
     - mitogen_get_stack:
@@ -52,7 +54,8 @@
     - stack_construction
 
 
-- hosts: cd-normal
+- name: stack_construction.yml, cd-normal, delegate_to=cd-alias
+  hosts: cd-normal
   tasks:
     - include_tasks: ../_mitogen_only.yml
     - include_tasks: ../_expected_ssh_port.yml
@@ -96,7 +99,8 @@
     - stack_construction
 
 
-- hosts: cd-alias
+- name: stack_construction.yml, cd-alias
+  hosts: cd-alias
   tasks:
     - include_tasks: ../_mitogen_only.yml
     - include_tasks: ../_expected_ssh_port.yml
@@ -139,7 +143,8 @@
     - stack_construction
 
 
-- hosts: cd-normal-normal
+- name: stack_construction.yml, cd-normal-normal
+  hosts: cd-normal-normal
   tasks:
     - include_tasks: ../_mitogen_only.yml
     - include_tasks: ../_expected_ssh_port.yml
@@ -193,7 +198,8 @@
     - stack_construction
 
 
-- hosts: cd-normal-alias
+- name: stack_construction.yml, cd-normal-alias
+  hosts: cd-normal-alias
   tasks:
     - include_tasks: ../_mitogen_only.yml
     - include_tasks: ../_expected_ssh_port.yml
@@ -263,7 +269,8 @@
     - stack_construction
 
 
-- hosts: cd-newuser-normal-normal
+- name: stack_construction.yml, cd-newuser-normal-normal
+  hosts: cd-newuser-normal-normal
   tasks:
     - include_tasks: ../_mitogen_only.yml
     - include_tasks: ../_expected_ssh_port.yml
@@ -317,7 +324,8 @@
     - stack_construction
 
 
-- hosts: cd-newuser-normal-normal
+- name: stack_construction.yml, cd-newuser-normal-normal, delegate_to=cd-alias
+  hosts: cd-newuser-normal-normal
   tasks:
     - include_tasks: ../_mitogen_only.yml
     - include_tasks: ../_expected_ssh_port.yml
@@ -361,7 +369,8 @@
     - stack_construction
 
 
-- hosts: cd-newuser-normal-normal
+- name: stack_construction.yml, cd-newuser-normal-normal, local_action
+  hosts: cd-newuser-normal-normal
   tasks:
     - include_tasks: ../_mitogen_only.yml
     - local_action: mitogen_get_stack
@@ -381,7 +390,8 @@
     - stack_construction
 
 
-- hosts: cd-newuser-doas-normal
+- name: stack_construction.yml, cd-newuser-doas-normal
+  hosts: cd-newuser-doas-normal
   tasks:
     - include_tasks: ../_mitogen_only.yml
     - mitogen_get_stack:
diff -Nru python-mitogen-0.3.23/tests/ansible/integration/runner/crashy_new_style_module.yml python-mitogen-0.3.25~a1/tests/ansible/integration/runner/crashy_new_style_module.yml
--- python-mitogen-0.3.23/tests/ansible/integration/runner/crashy_new_style_module.yml	2025-04-28 15:04:30.000000000 +0200
+++ python-mitogen-0.3.25~a1/tests/ansible/integration/runner/crashy_new_style_module.yml	2025-06-05 00:40:06.000000000 +0200
@@ -16,12 +16,19 @@
       assert:
         that:
         - not out.changed
-        - out.rc == 1
+        - out is failed
         # https://github.com/ansible/ansible/commit/62d8c8fde6a76d9c567ded381e9b34dad69afcd6
-        - out.msg is match(msg_pattern)
-        - (out.module_stdout == "" and out.module_stderr is search(tb_pattern))
-          or
-          (out.module_stdout is search(tb_pattern) and out.module_stderr is match("Shared connection to localhost closed."))
+        - |
+          out.msg is match(msg_pattern)
+          or out.msg in (
+             "Task failed: Module failed: name 'kaboom' is not defined",
+             'Module result deserialization failed: No start of json char found',
+          )
+        # - out.exception is undefined
+        #   or out.exception | default('') is match(tb_pattern)
+        #   or out.module_stderr is search(tb_pattern)
+        # - out.module_stdout == ''
+        # - out.module_stderr is search(tb_pattern)
         fail_msg: |
           out={{ out }}
   tags:
diff -Nru python-mitogen-0.3.23/tests/ansible/integration/runner/custom_binary_producing_junk.yml python-mitogen-0.3.25~a1/tests/ansible/integration/runner/custom_binary_producing_junk.yml
--- python-mitogen-0.3.23/tests/ansible/integration/runner/custom_binary_producing_junk.yml	2025-04-28 15:04:30.000000000 +0200
+++ python-mitogen-0.3.25~a1/tests/ansible/integration/runner/custom_binary_producing_junk.yml	2025-06-05 00:40:06.000000000 +0200
@@ -30,6 +30,7 @@
         - out.failed
         - out.results[0].failed
         - out.results[0].msg.startswith('MODULE FAILURE')
+          or out.results[0].msg.startswith('Module result deserialization failed')
         - out.results[0].rc == 0
         fail_msg: |
           out={{ out }}
diff -Nru python-mitogen-0.3.23/tests/ansible/integration/runner/custom_binary_single_null.yml python-mitogen-0.3.25~a1/tests/ansible/integration/runner/custom_binary_single_null.yml
--- python-mitogen-0.3.23/tests/ansible/integration/runner/custom_binary_single_null.yml	2025-04-28 15:04:30.000000000 +0200
+++ python-mitogen-0.3.25~a1/tests/ansible/integration/runner/custom_binary_single_null.yml	2025-06-05 00:40:06.000000000 +0200
@@ -15,7 +15,9 @@
       that:
       - "out.failed"
       - "out.results[0].failed"
-      - "out.results[0].msg.startswith('MODULE FAILURE')"
+      - |
+        out.results[0].msg.startswith('MODULE FAILURE')
+        or out.results[0].msg == 'Module result deserialization failed: No start of json char found'
       # On Ubuntu 16.04 /bin/sh is dash 0.5.8. It treats custom_binary_single_null
       # as a valid executable. There's no error message, and rc == 0.
       - |
diff -Nru python-mitogen-0.3.23/tests/ansible/integration/runner/missing_module.yml python-mitogen-0.3.25~a1/tests/ansible/integration/runner/missing_module.yml
--- python-mitogen-0.3.23/tests/ansible/integration/runner/missing_module.yml	2025-04-28 15:04:30.000000000 +0200
+++ python-mitogen-0.3.25~a1/tests/ansible/integration/runner/missing_module.yml	2025-06-05 00:40:06.000000000 +0200
@@ -5,6 +5,7 @@
     - name: Run missing_module
       connection: local
       environment:
+        ANSIBLE_STRATEGY:  "{{ lookup('env', 'ANSIBLE_STRATEGY') | mandatory }}"
         ANSIBLE_VERBOSITY: "{{ ansible_verbosity }}"
       vars:
         ansible_python_interpreter: "{{ ansible_playbook_python }}"
@@ -25,6 +26,7 @@
     - assert:
         that: |
           'The module missing_module was not found in configured module paths' in out.stdout
+          or "Cannot resolve 'missing_module' to an action or module" in out.stdout
         fail_msg: |
           out={{ out }}
   tags:
diff -Nru python-mitogen-0.3.23/tests/ansible/integration/ssh/timeouts.yml python-mitogen-0.3.25~a1/tests/ansible/integration/ssh/timeouts.yml
--- python-mitogen-0.3.23/tests/ansible/integration/ssh/timeouts.yml	2025-04-28 15:04:30.000000000 +0200
+++ python-mitogen-0.3.25~a1/tests/ansible/integration/ssh/timeouts.yml	2025-06-05 00:40:06.000000000 +0200
@@ -14,6 +14,7 @@
       connection: local
       environment:
         ANSIBLE_SSH_TIMEOUT: 10
+        ANSIBLE_STRATEGY:  "{{ lookup('env', 'ANSIBLE_STRATEGY') | mandatory }}"
         ANSIBLE_VERBOSITY: "{{ ansible_verbosity }}"
       vars:
         ansible_python_interpreter: "{{ ansible_playbook_python }}"
@@ -42,6 +43,7 @@
           '"unreachable": true' in out.stdout
         - |
           '"msg": "Connection timed out."' in out.stdout
+          or '"msg": "Task failed: Connection timed out."' in out.stdout
         fail_msg: |
           out={{ out }}
   tags:
diff -Nru python-mitogen-0.3.23/tests/ansible/integration/ssh/variables.yml python-mitogen-0.3.25~a1/tests/ansible/integration/ssh/variables.yml
--- python-mitogen-0.3.23/tests/ansible/integration/ssh/variables.yml	2025-04-28 15:04:30.000000000 +0200
+++ python-mitogen-0.3.25~a1/tests/ansible/integration/ssh/variables.yml	2025-06-05 00:40:06.000000000 +0200
@@ -14,6 +14,8 @@
       -o "ControlPath /tmp/mitogen-ansible-test-{{18446744073709551615|random}}"
 
   tasks:
+    - include_tasks: ../_mitogen_only.yml
+
     - name: ansible_user, ansible_ssh_private_key_file
       shell: >
         ANSIBLE_ANY_ERRORS_FATAL=false
diff -Nru python-mitogen-0.3.23/tests/ansible/integration/strategy/mixed_vanilla_mitogen.yml python-mitogen-0.3.25~a1/tests/ansible/integration/strategy/mixed_vanilla_mitogen.yml
--- python-mitogen-0.3.23/tests/ansible/integration/strategy/mixed_vanilla_mitogen.yml	2025-04-28 15:04:30.000000000 +0200
+++ python-mitogen-0.3.25~a1/tests/ansible/integration/strategy/mixed_vanilla_mitogen.yml	2025-06-05 00:40:06.000000000 +0200
@@ -2,6 +2,8 @@
 - name: integration/strategy/mixed_vanilla_mitogen.yml (linear->mitogen->linear)
   hosts: test-targets[0]
   tasks:
+    - include_tasks: ../_mitogen_only.yml
+
     - connection: local
       environment:
         ANSIBLE_PYTHON_INTERPRETER: "{{ ansible_playbook_python }}"
diff -Nru python-mitogen-0.3.23/tests/ansible/integration/stub_connections/setns_lxc.yml python-mitogen-0.3.25~a1/tests/ansible/integration/stub_connections/setns_lxc.yml
--- python-mitogen-0.3.23/tests/ansible/integration/stub_connections/setns_lxc.yml	2025-04-28 15:04:30.000000000 +0200
+++ python-mitogen-0.3.25~a1/tests/ansible/integration/stub_connections/setns_lxc.yml	2025-06-05 00:40:06.000000000 +0200
@@ -15,6 +15,7 @@
 
     - name: Run stub-lxc-info.py
       environment:
+        ANSIBLE_STRATEGY:  "{{ lookup('env', 'ANSIBLE_STRATEGY') | mandatory }}"
         ANSIBLE_VERBOSITY: "{{ ansible_verbosity }}"
       command: |
         sudo -nE "{{lookup('env', 'VIRTUAL_ENV')}}/bin/ansible"
diff -Nru python-mitogen-0.3.23/tests/ansible/integration/stub_connections/setns_lxd.yml python-mitogen-0.3.25~a1/tests/ansible/integration/stub_connections/setns_lxd.yml
--- python-mitogen-0.3.23/tests/ansible/integration/stub_connections/setns_lxd.yml	2025-04-28 15:04:30.000000000 +0200
+++ python-mitogen-0.3.25~a1/tests/ansible/integration/stub_connections/setns_lxd.yml	2025-06-05 00:40:06.000000000 +0200
@@ -15,6 +15,7 @@
 
     - name: Run ansible stub-lxc.py
       environment:
+        ANSIBLE_STRATEGY:  "{{ lookup('env', 'ANSIBLE_STRATEGY') | mandatory }}"
         ANSIBLE_VERBOSITY: "{{ ansible_verbosity }}"
       command: |
         sudo -nE "{{lookup('env', 'VIRTUAL_ENV')}}/bin/ansible"
diff -Nru python-mitogen-0.3.23/tests/ansible/integration/transport_config/password.yml python-mitogen-0.3.25~a1/tests/ansible/integration/transport_config/password.yml
--- python-mitogen-0.3.23/tests/ansible/integration/transport_config/password.yml	2025-04-28 15:04:30.000000000 +0200
+++ python-mitogen-0.3.25~a1/tests/ansible/integration/transport_config/password.yml	2025-06-05 00:40:06.000000000 +0200
@@ -10,7 +10,12 @@
   - {mitogen_get_stack: {}, register: out}
   - assert_equal:
       left: out.result[0].kwargs.password
+      right: null
+    when: ansible_version.full is version('2.18.999', '>=', strict=True)
+  - assert_equal:
+      left: out.result[0].kwargs.password
       right: ""  # actually null, but assert_equal limitation
+    when: ansible_version.full is version('2.18.999', '<', strict=True)
   tags:
     - mitogen_only
 
@@ -25,7 +30,12 @@
       right: "ansi-ssh-pass"
   - assert_equal:
       left: out.result[1].kwargs.password
+      right: null
+    when: ansible_version.full is version('2.18.999', '>=', strict=True)
+  - assert_equal:
+      left: out.result[1].kwargs.password
       right: ""
+    when: ansible_version.full is version('2.18.999', '<', strict=True)
   tags:
     - mitogen_only
 
@@ -50,7 +60,12 @@
   - {mitogen_get_stack: {}, register: out}
   - assert_equal:
       left: out.result[0].kwargs.password
+      right: null
+    when: ansible_version.full is version('2.18.999', '>=', strict=True)
+  - assert_equal:
+      left: out.result[0].kwargs.password
       right: ""
+    when: ansible_version.full is version('2.18.999', '<', strict=True)
   - assert_equal:
       left: out.result[1].kwargs.password
       right: "ansi-ssh-pass"
@@ -78,7 +93,12 @@
   - {mitogen_get_stack: {}, register: out}
   - assert_equal:
       left: out.result[0].kwargs.password
+      right: null
+    when: ansible_version.full is version('2.18.999', '>=', strict=True)
+  - assert_equal:
+      left: out.result[0].kwargs.password
       right: ""
+    when: ansible_version.full is version('2.18.999', '<', strict=True)
   - assert_equal:
       left: out.result[1].kwargs.password
       right: "ansi-pass"
@@ -106,7 +126,12 @@
   - {mitogen_get_stack: {}, register: out}
   - assert_equal:
       left: out.result[0].kwargs.password
+      right: null
+    when: ansible_version.full is version('2.18.999', '>=', strict=True)
+  - assert_equal:
+      left: out.result[0].kwargs.password
       right: ""
+    when: ansible_version.full is version('2.18.999', '<', strict=True)
   - assert_equal:
       left: out.result[1].kwargs.password
       right: "c.b.a"
diff -Nru python-mitogen-0.3.23/tests/ansible/regression/become_test.yml python-mitogen-0.3.25~a1/tests/ansible/regression/become_test.yml
--- python-mitogen-0.3.23/tests/ansible/regression/become_test.yml	2025-04-28 15:04:30.000000000 +0200
+++ python-mitogen-0.3.25~a1/tests/ansible/regression/become_test.yml	2025-06-05 00:40:06.000000000 +0200
@@ -2,7 +2,6 @@
   hosts: test-targets:&linux_containers
   become: true
   become_user: mitogen__pw_required
-  strategy: mitogen_linear
   tasks:
     - command: whoami
       changed_when: false
diff -Nru python-mitogen-0.3.23/tests/ansible/regression/issue_1087__template_streamerror.yml python-mitogen-0.3.25~a1/tests/ansible/regression/issue_1087__template_streamerror.yml
--- python-mitogen-0.3.23/tests/ansible/regression/issue_1087__template_streamerror.yml	2025-04-28 15:04:30.000000000 +0200
+++ python-mitogen-0.3.25~a1/tests/ansible/regression/issue_1087__template_streamerror.yml	2025-06-05 00:40:06.000000000 +0200
@@ -20,6 +20,7 @@
           vars:
             ansible_python_interpreter: "{{ ansible_playbook_python }}"
           environment:
+            ANSIBLE_STRATEGY:  "{{ lookup('env', 'ANSIBLE_STRATEGY') | mandatory }}"
             ANSIBLE_VERBOSITY: "{{ ansible_verbosity }}"
           command:
             cmd: >
diff -Nru python-mitogen-0.3.23/tests/ansible/regression/issue_109__target_has_old_ansible_installed.yml python-mitogen-0.3.25~a1/tests/ansible/regression/issue_109__target_has_old_ansible_installed.yml
--- python-mitogen-0.3.23/tests/ansible/regression/issue_109__target_has_old_ansible_installed.yml	2025-04-28 15:04:30.000000000 +0200
+++ python-mitogen-0.3.25~a1/tests/ansible/regression/issue_109__target_has_old_ansible_installed.yml	2025-06-05 00:40:06.000000000 +0200
@@ -24,7 +24,8 @@
       assert:
         that:
           - env.cwd == ansible_user_dir
-          - (not env.mitogen_loaded) or (env.python_path.count("") == 1)
+          - not env.mitogen_loaded
+            or (env.python_path | select('eq', '') | length == 1)
         fail_msg: |
           ansible_user_dir={{ ansible_user_dir }}
           env={{ env }}
diff -Nru python-mitogen-0.3.23/tests/ansible/regression/issue_766__get_with_context.yml python-mitogen-0.3.25~a1/tests/ansible/regression/issue_766__get_with_context.yml
--- python-mitogen-0.3.23/tests/ansible/regression/issue_766__get_with_context.yml	2025-04-28 15:04:30.000000000 +0200
+++ python-mitogen-0.3.25~a1/tests/ansible/regression/issue_766__get_with_context.yml	2025-06-05 00:40:06.000000000 +0200
@@ -1,4 +1,4 @@
-# https://github.com/mitogen-hq/mitogen/issues/776
+# https://github.com/mitogen-hq/mitogen/issues/766
 ---
 - name: regression/issue_766__get_with_context.yml
   hosts: localhost
@@ -7,7 +7,7 @@
   gather_facts: true
   vars:
     netconf_container_image: ghcr.io/mitogen-hq/sysrepo-netopeer2:latest
-    netconf_container_name: sysprep
+    netconf_container_name: sysrepo
     netconf_container_port: 8030
 
   tasks:
@@ -28,6 +28,13 @@
         - ansible_version.full is version('2.11', '>=', strict=True)
         - ansible_version.full is version('2.12', '<', strict=True)
 
+    - meta: end_play
+      when:
+        # TASK [Get running configuration and state data ]
+        # Error: : Task failed: ActionBase._parse_returned_data() missing 1 required positional argument: 'profile'
+        # https://github.com/ansible-collections/ansible.netcommon/issues/698#issuecomment-2910082548
+        - ansible_version.full is version('2.18.999', '>=', strict=True)
+
     - block:
         - name: Start container
           command:
diff -Nru python-mitogen-0.3.23/tests/ansible/regression/issue_952__ask_become_pass.yml python-mitogen-0.3.25~a1/tests/ansible/regression/issue_952__ask_become_pass.yml
--- python-mitogen-0.3.23/tests/ansible/regression/issue_952__ask_become_pass.yml	2025-04-28 15:04:30.000000000 +0200
+++ python-mitogen-0.3.25~a1/tests/ansible/regression/issue_952__ask_become_pass.yml	2025-06-05 00:40:06.000000000 +0200
@@ -9,6 +9,7 @@
       vars:
         ansible_python_interpreter: "{{ ansible_playbook_python }}"
       environment:
+        ANSIBLE_STRATEGY:  "{{ lookup('env', 'ANSIBLE_STRATEGY') | mandatory }}"
         ANSIBLE_VERBOSITY: "{{ ansible_verbosity }}"
       expect:
         command: >
diff -Nru python-mitogen-0.3.23/tests/ansible/run_ansible_playbook.py python-mitogen-0.3.25~a1/tests/ansible/run_ansible_playbook.py
--- python-mitogen-0.3.23/tests/ansible/run_ansible_playbook.py	2025-04-28 15:04:30.000000000 +0200
+++ python-mitogen-0.3.25~a1/tests/ansible/run_ansible_playbook.py	2025-06-05 00:40:06.000000000 +0200
@@ -2,6 +2,7 @@
 # Wrap ansible-playbook, setting up some test of the test environment.
 import json
 import os
+import platform
 import sys
 
 GIT_BASEDIR = os.path.dirname(
@@ -36,6 +37,7 @@
 )
 
 extra = {
+    'is_macos_controller': platform.system() == 'Darwin',
     'is_mitogen': os.environ.get('ANSIBLE_STRATEGY', '').startswith('mitogen'),
     'git_basedir': GIT_BASEDIR,
 }
diff -Nru python-mitogen-0.3.23/tests/ansible/tests/utils_unsafe_test.py python-mitogen-0.3.25~a1/tests/ansible/tests/utils_unsafe_test.py
--- python-mitogen-0.3.23/tests/ansible/tests/utils_unsafe_test.py	2025-04-28 15:04:30.000000000 +0200
+++ python-mitogen-0.3.25~a1/tests/ansible/tests/utils_unsafe_test.py	2025-06-05 00:40:06.000000000 +0200
@@ -4,6 +4,7 @@
 from ansible.utils.unsafe_proxy import AnsibleUnsafeText
 from ansible.utils.unsafe_proxy import wrap_var
 
+import ansible_mitogen.utils
 import ansible_mitogen.utils.unsafe
 
 import mitogen.core
@@ -17,7 +18,7 @@
 class Tuple(tuple): pass
 
 
-class CastTest(unittest.TestCase):
+class CastMixin(unittest.TestCase):
     def assertIsType(self, obj, cls, msg=None):
         self.assertIs(type(obj), cls, msg)
 
@@ -29,6 +30,8 @@
         self.assertEqual(cast(obj), expected)
         self.assertIsType(cast(obj), type(expected))
 
+
+class CastKnownTest(CastMixin):
     def test_ansible_unsafe(self):
         self.assertCasts(AnsibleUnsafeBytes(b'abc'), b'abc')
         self.assertCasts(AnsibleUnsafeText(u'abc'), u'abc')
@@ -47,14 +50,12 @@
         self.assertCasts(wrap_var({}), {})
         self.assertCasts(wrap_var([]), [])
         self.assertCasts(wrap_var(u''), u'')
-        self.assertCasts(wrap_var(()), [])
 
     def test_subtypes_roundtrip(self):
         self.assertCasts(wrap_var(Bytes()), b'')
         self.assertCasts(wrap_var(Dict()), {})
         self.assertCasts(wrap_var(List()), [])
         self.assertCasts(wrap_var(Text()), u'')
-        self.assertCasts(wrap_var(Tuple()), [])
 
     def test_subtype_nested_dict(self):
         obj = Dict(foo=Dict(bar=u'abc'))
@@ -75,18 +76,59 @@
         self.assertIsType(unwrapped[0], list)
         self.assertIsType(unwrapped[0][0], mitogen.core.UnicodeType)
 
-    def test_subtype_roundtrip_tuple(self):
-        # wrap_var() preserves sequence types, cast() does not (for now)
+
+@unittest.skipIf(
+    ansible_mitogen.utils.ansible_version[:2] <= (2, 18),
+    'Ansible <= 11 (ansible-core >= 2.18) does not send/receive sets',
+)
+class CastSetTest(CastMixin):
+    def test_set(self):
+        self.assertCasts(wrap_var(set()), set())
+
+    def test_set_subclass(self):
+        self.assertCasts(wrap_var(Set()), set())
+
+
+class CastTupleTest(CastMixin):
+    def test_tuple(self):
+        if ansible_mitogen.utils.ansible_version[:2] >= (2, 19):
+            expected = ()
+        else:
+            expected = []
+        self.assertCasts(wrap_var(Tuple()), expected)
+
+    def test_tuple_subclass(self):
+        if ansible_mitogen.utils.ansible_version[:2] >= (2, 19):
+            expected = ()
+        else:
+            expected = []
+        self.assertCasts(wrap_var(()), expected)
+
+    def test_tuple_subclass_with_contents(self):
+        if ansible_mitogen.utils.ansible_version[:2] >= (2, 19):
+            expected = ((u'abc',),)
+        else:
+            expected = [[u'abc']]
+
         obj = Tuple([Tuple([u'abc'])])
         wrapped = wrap_var(obj)
         unwrapped = ansible_mitogen.utils.unsafe.cast(wrapped)
-        self.assertEqual(unwrapped, [[u'abc']])
-        self.assertIsType(unwrapped, list)
-        self.assertIsType(unwrapped[0], list)
+        self.assertEqual(unwrapped, expected)
+        self.assertIsType(unwrapped, type(expected))
+        self.assertIsType(unwrapped[0], type(expected[0]))
         self.assertIsType(unwrapped[0][0], mitogen.core.UnicodeType)
 
-    def test_unknown_types_raise(self):
+
+class CastUknownTypeTest(unittest.TestCase):
+    @unittest.skipIf(
+        ansible_mitogen.utils.ansible_version[:2] >= (2, 19),
+        'Ansible >= 12 (ansible-core >= 2.19) uses/preserves sets',
+    )
+    def test_set_raises(self):
         cast = ansible_mitogen.utils.unsafe.cast
         self.assertRaises(TypeError, cast, set())
         self.assertRaises(TypeError, cast, Set())
+
+    def test_complex_raises(self):
+        cast = ansible_mitogen.utils.unsafe.cast
         self.assertRaises(TypeError, cast, 4j)
diff -Nru python-mitogen-0.3.23/tox.ini python-mitogen-0.3.25~a1/tox.ini
--- python-mitogen-0.3.23/tox.ini	2025-04-28 15:04:30.000000000 +0200
+++ python-mitogen-0.3.25~a1/tox.ini	2025-06-05 00:40:06.000000000 +0200
@@ -47,6 +47,7 @@
 # ansible == 9.x     ansible-core ~= 2.16.0
 # ansible == 10.x    ansible-core ~= 2.17.0
 # ansible == 11.x    ansible-core ~= 2.18.0
+# ansible == 12.x    ansible-core ~= 2.19.0
 
 # See also
 # - https://docs.ansible.com/ansible/latest/reference_appendices/release_and_maintenance.html#ansible-core-support-matrix
@@ -56,7 +57,7 @@
     init,
     py{27,36}-mode_ansible-ansible{2.10,3,4},
     py{311}-mode_ansible-ansible{2.10,3,4,5},
-    py{313}-mode_ansible-ansible{6,7,8,9,10,11},
+    py{313}-mode_ansible-ansible{6,7,8,9,10,11,12},
     py{27,36,313}-mode_mitogen,
     report,
 
@@ -85,7 +86,8 @@
     ansible8: ansible~=8.0
     ansible9: ansible~=9.0
     ansible10: ansible~=10.0
-    ansible11: ansible>=11.0
+    ansible11: ansible~=11.0
+    ansible12: ansible>=12.0a
 install_command =
     python -m pip --no-python-version-warning --disable-pip-version-check install {opts} {packages}
 commands_pre =
@@ -118,6 +120,7 @@
     ansible10: MITOGEN_TEST_DISTRO_SPECS=debian10-py3 debian11-py3 ubuntu2004-py3
     # Ansible 11 (ansible-core 2.18) requires Python >= 3.8 on targets
     ansible11: MITOGEN_TEST_DISTRO_SPECS=debian11-py3 ubuntu2004-py3
+    ansible12: MITOGEN_TEST_DISTRO_SPECS=debian11-py3 ubuntu2004-py3
     distros_centos: MITOGEN_TEST_DISTRO_SPECS=centos6 centos7 centos8
     distros_centos5: MITOGEN_TEST_DISTRO_SPECS=centos5
     distros_centos6: MITOGEN_TEST_DISTRO_SPECS=centos6

Reply to: